自定义Adobe Analytics Framework

Adobe Analytics框架确定与Adobe Analytics一起跟踪的信息。 要自定义默认框架,请使用javascript添加自定义跟踪、集成Adobe Analytics插件以及更改用于跟踪的框架中的常规设置。

关于框架的生成的javascript

当页面与Adobe Analytics框架关联,且该页面包含对Analytics模块](/docs/experience-manager-64/administering/integration/adobeanalytics.html?lang=zh-Hans)的[引用时,将自动为该页面生成analytics.sitecatalyst.js文件。

页面中的javascript会创建一个s_gi对象(s_code.js Adobe Analytics库定义的对象),并为其属性赋值。 对象实例的名称为s。 本节中介绍的代码示例对此s变量进行了若干引用。

以下示例代码与analytics.sitecatalyst.js文件中的代码类似:

var s_account = "my_sitecatalyst_account";
var s = s_gi(s_account);
s.fpCookieDomainPeriods = "3";
s.currencyCode= 'USD';
s.trackInlineStats= true;
s.linkTrackVars= 'None';
s.charSet= 'UTF-8';
s.linkLeaveQueryString= false;
s.linkExternalFilters= '';
s.linkTrackEvents= 'None';
s.trackExternalLinks= true;
s.linkDownloadFileTypes= 'exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls';
s.linkInternalFilters= 'javascript:,'+window.location.hostname;
s.trackDownloadLinks= true;
        
s.visitorNamespace = "mynamespace";
s.trackingServer = "xxxxxxx.net";
s.trackingServerSecure = "xxxxxxx.net";

/* Plugin Config */
/*
s.usePlugins=false;
function s_doPlugins(s) {
    //add your custom plugin code here
}
s.doPlugins=s_doPlugins;
*/

使用自定义javascript代码自定义框架时,将更改此文件的内容。

配置Adobe Analytics属性

Adobe Analytics中有许多预定义变量,可在框架​上进行配置。 默认情况下,常规分析设置​列表中包含​charsetcookieLifetimecurrencyCode​和​trackInlineStats​变量。

aa-22

您可以向列表添加变量名和值。 这些预定义变量和您添加的任何变量用于配置analytics.sitecatalyst.js文件中s对象的属性。 以下示例显示值CONSTANT的已添加prop10属性在javascript代码中的表示方式:

var s_account = "my_sitecatalyst_account";
var s = s_gi(s_account);
s.fpCookieDomainPeriods = "3";
s.currencyCode= 'USD';
s.trackInlineStats= true;
s.linkTrackVars= 'None';
s.charSet= 'UTF-8';
s.linkLeaveQueryString= false;
s.linkExternalFilters= '';
s.linkTrackEvents= 'None';
s.trackExternalLinks= true;
s.linkDownloadFileTypes= 'exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls';
s.prop10= 'CONSTANT';
s.linkInternalFilters= 'javascript:,'+window.location.hostname;
s.trackDownloadLinks= true;
        
s.visitorNamespace = "mynamespace";
s.trackingServer = "xxxxxxx.net";
s.trackingServerSecure = "xxxxxxx.net";

请按照以下过程向列表添加变量:

  1. 在Adobe Analytics框架页面上,展开​常规分析设置​区域。

  2. 在变量列表下,单击添加项以向列表添加新变量。

  3. 在左侧单元格中,输入变量的名称,例如prop10

  4. 在右侧列中,输入变量的值,例如CONSTANT

  5. 要删除变量,请单击该变量旁边的(-)按钮。

注意

输入变量和值时,请确保它们的格式正确且拼写正确,否则将不使用正确的值/变量对发送​调用。​拼写错误的变量和值甚至可以阻止调用的发生。

请咨询Adobe Analytics代表,确保正确设置这些变量。

注意

此列表中的某些变量为​mandatory,以使Adobe Analytics调用正常工作(例如,currencyCode, charSet)

因此,即使从框架本身删除它们,在进行Adobe Analytics调用时,它们仍会与默认值附加。

将自定义javascript添加到Adobe Analytics Framework

使用​常规分析设置​区域中的可从javascript免费使用的框,可向Adobe Analytics框架添加自定义代码。

aa-21

您添加的代码会附加到analytics.sitecatalyst.js文件。 因此,您可以访问s变量,该变量是s_code.js中定义的s_gi javascript对象的实例。 例如,添加以下代码等同于添加值CONSTANT的名为prop10的变量,前一节中就是这样的示例:

s.prop10= 'CONSTANT';

analytics.sitecatalyst.js文件(包括Adobe Analytics s-code.js文件的内容)中的代码包含以下代码:

if (s.usePlugins) s.doPlugins(s)

以下过程演示了如何使用javascript框自定义Adobe Analytics跟踪。 如果您的javascript需要使用Adobe Analytics插件,请将它们集成到AEM中。

  1. 在框中添加以下javascript代码,以执行s.doPlugins:

    s.usePlugins=true;
    function s_doPlugins(s) {
        //add your custom code here
    }
    s.doPlugins=s_doPlugins;
    
    注意

    如果要在Adobe Analytics调用中发送变量,这些变量已以某种方式进行自定义,无法通过基本的拖放界面或通过Adobe Analytics 视图中的内联javascript完成。

    如果自定义变量不在s_doPlugins函数之外,则在Adobe Analytics调用中,它们将作为*undefined *发送

  2. 在​s_doPlugins​函数中添加javascript代码。

下面的示例使用公共分隔符“|”按层次顺序连接在页面上捕获的数据。

Adobe Analytics框架具有以下配置:

  • prop2 Adobe Analytics变量映射到pagedata.sitesection站点属性。

  • prop3 Adobe Analytics变量映射到pagedata.subsection站点属性。

  • 以下代码将添加到免费的javascript框中:

    s.usePlugins=true; 
     function s_doPlugins(s) { 
     s.prop1 = s.prop2+'|'+s.prop3; 
     } 
     s.doPlugins=s_doPlugins;
    
  • 当访问使用框架的网页时(或在编辑模式下重新加载或预览页面),将执行对Adobe Analytics的调用。

例如,在Adobe Analytics中生成以下值:

aa-20

添加所有Adobe Analytics框架的全局自定义代码

提供集成到所有Adobe Analytics框架中的自定义javascript代码。 当页面的Adobe Analytics框架不包含自定义自由格式javascript时,/libs/cq/analytics/components/sitecatalyst/config.js.jsp脚本生成的javascript将附加到analytics.sitecatalyst.js文件。 默认情况下,脚本不起作用,因为脚本已被注释掉。 代码还将s.usePlugins设置为false:

/* Plugin Config */
/*
s.usePlugins=false;
function s_doPlugins(s) {
    //add your custom plugin code here
}
s.doPlugins=s_doPlugins;
*/

analytics.sitecatalyst.js文件(包括Adobe Analytics s_code.js文件的内容)中的代码包含以下代码:

if(s.usePlugins)s.doPlugins

因此,您的javascript应将s.usePlugins设置为true,以便执行s_doPlugins函数中的任何代码。 要自定义代码,请使用您自己的javascript将config.js.jsp文件叠加在一起。 如果您的javascript需要使用Adobe Analytics插件,请将它们集成到AEM中。

注意

请勿编辑/libs/cq/analytics/components/sitecatalyst/config.js.jsp文件。 某些AEM升级或维护任务可以重新安装原始文件,删除您所做的更改。

  1. 在CRXDE Lite中,创建/apps/cq/analytics/components文件夹结构:

    1. 右键单击/apps文件夹,然后单击创建>创建文件夹。
    2. 指定cq作为文件夹名称,然后单击“确定”。
    3. 同样,创建analyticscomponents文件夹。
  2. 右键单击刚刚创建的components文件夹,然后单击创建>创建组件。 指定以下属性值:

    • 标签: sitecatalyst
    • 标题: sitecatalyst
    • 超级类型: /libs/cq/analytics/components/sitecatalyst
    • 组: hidden
  3. 重复单击“下一步”,直到启用“确定”按钮,然后单击“确定”。

    sitecatalyst组件包含自动创建的sitecatalyst.jsp文件。

  4. 右键单击sitecatalyst.jsp文件,然后单击“删除”。

  5. 右键单击sitecatalyst组件,然后单击创建>创建文件。 指定名称config.js.jsp,然后单击“确定”。

    config.js.jsp文件将自动打开以进行编辑。

  6. 将以下文本添加到文件,然后单击“全部保存”:

    <%@page session="true"%>
    /* Plugin Config */
    s.usePlugins=true;
    function s_doPlugins(s) {
        //add your custom plugin code here
    }
    s.doPlugins=s_doPlugins;
    

    /apps/cq/analytics/components/sitecatalyst/config.js.jsp脚本生成的javascript代码现已插入到analytics.sitecatalyst.js文件中,用于所有使用Adobe Analytics框架的页面。

  7. 添加要在s_doPlugins函数中执行的javascript代码,然后单击“全部保存”。

注意

如果页面框架的自由格式javascript中存在任何文本(甚至只有空格),则会忽略config.js.jsp。

使用AEM中的Adobe Analytics插件

获取Adobe Analytics插件的javascript代码,并将它们集成到AEM中的Adobe Analytics框架中。 将代码添加到类别sitecatalyst.plugins的客户端库文件夹,以便自定义javascript代码可以使用这些代码。

例如,如果集成了getQueryParams插件,则可以从自定义javascript的s_doPlugins函数调用该插件。 在触发Adobe Analytics调用时,下面的示例代码将​"pid"​中的查询字符串从推荐人的URL发送为​eVar1

s.usePlugins=true;
function s_doPlugins(s) {
   // take the query string from the referrer
   s.eVar1=s.getQueryParam('pid','',document.referrer); 
}
s.doPlugins=s_doPlugins;

AEM会安装以下Adobe Analytics插件,以便默认情况下可用:

  • getQueryParam()
  • getPreviousValue()
  • split()

/libs/cq/analytics/clientlibs/sitecatalyst/plugins客户端库文件夹在sitecatalyst.plugins类别中包含这些插件。

注意

为插件创建新的客户端库文件夹。 请勿将插件添加到/libs/cq/analytics/clientlibs/sitecatalyst/plugins文件夹。 此做法可确保在AEM重新安装或升级任务期间不会覆盖您对sitecatalyst.plugins类别的贡献。

请按照以下过程为您的插件创建客户端库文件夹。 您只需执行一次此过程。 要将插件添加到客户端库文件夹,请使用后续过程。

  1. 在Web浏览器中,打开CRXDE Lite。 (http://localhost:4502/crx/de)

  2. 右键单击/apps/my-app/clientlibs文件夹,然后单击“创建”>“创建节点”。 输入以下属性值,然后单击确定:

    • 名称:您的客户端库文件夹的名称,如my-plugins

    • 类型:cq:ClientLibraryFolder

  3. 选择刚刚创建的客户端库文件夹,并使用右下方的属性栏添加以下属性:

    • 名称:类别
    • 类型:字符串
    • 值:sitecatalyst.plugins
    • 多重:选定

    在“编辑”窗口中单击“确定”以确认属性值。

  4. 右键单击刚刚创建的客户端库文件夹,然后单击“创建”>“创建文件”。 对于文件名,请键入js.txt,然后单击“确定”。

  5. 单击“全部保存”。

请按照以下过程获取插件代码,将代码存储在AEM存储库中,然后将代码添加到客户端库文件夹。

  1. 使用您的Adobe Analytics帐户登录到sc.omniture.com

  2. 在登陆页中,转到“帮助”>“帮助主页”。

  3. 在左侧的目录中,单击“实施插件”。

  4. 单击要添加的插件的链接,当页面打开时,找到插件的javascript源代码,然后选择代码并复制它。

  5. 右键单击您的客户端库文件夹,然后单击“创建”>“创建文件”。 对于文件名,键入要集成的插件的名称,后跟.js,然后单击“确定”。 例如,如果要集成getQueryParam插件,请将文件命名为getQueryParam.js。

    创建文件时,会打开该文件进行编辑。

  6. 将插件javascript代码粘贴到文件中,单击“全部保存”,然后关闭文件。

  7. 从客户端库文件夹打开js.txt文件。

  8. 在新行中,添加包含插件的文件的名称,例如getQueryParam.js。 然后,单击“全部保存”并关闭文件。

注意

使用插件时,请确保也集成任何支持插件,否则插件javascript将无法识别它对支持插件中的函数进行的调用。 例如,getPreviousValue()插件需要split()插件才能正常工作。

还需要将支持插件的名称添加到​js.txt

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now