使用 ContextHub 配置分段 configuring-segmentation-with-contexthub

CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 技术支助期. 查找支持的版本 此处.
NOTE
本节介绍如何在使用ContextHub时配置分段。 如果您使用的是Client Context功能,请参阅 为Client Context配置分段.

分段是创建营销活动时的主要考虑事项。请参阅 管理受众 有关分段工作方式和关键术语的信息。

根据您收集到的有关网站访客的信息以及要实现的目标,您将需要定义目标内容所需的区段和策略。

之后,这些区段可用于为访客提供具体的目标内容。此内容在 个性化 网站中的 此处定义的活动可以包含在任何页面上,并定义专用内容适用于的访客区段。

AEM使您能够轻松地个性化用户体验。 它还允许您验证区段定义的结果。

访问区段 accessing-segments

受众 控制台用于管理ContextHub或Client Context的区段,以及Adobe Target帐户的受众。 本文档介绍了如何管理 ContextHub 的区段。对于 Client Context区段 和Adobe Target区段,请参阅相关文档。

要访问您的区段,请在全局导航中,选择​ 导航 > 个性化 > 受众

chlimage_1-310

区段编辑器 segment-editor

区段编辑器 ​可让您轻松修改区段。要编辑区段,请在 区段列表 ,然后单击 编辑 按钮。

segmenteditor

利用组件浏览器,您可以添加 ANDOR 容器来定义区段逻辑,然后添加其他组件以比较属性和值,或参考脚本和其他区段以定义选择标准(请参阅创建新区段),从而定义选择区段的确切场景。

当整个语句的计算结果为 true 时,表示该区段已解析。在适用多个区段的情况下,也将使用 Boost 因素。请参阅 创建新区段 有关 提升因子。

CAUTION
区段编辑器不检查任何循环引用。例如,区段A引用了另一个区段B,而这反过来又引用了区段A。您必须确保区段不包含任何循环引用。

容器 containers

以下容器是现成可用的,可让您将比较和引用分组在一起以进行布尔评估。可以将它们从组件浏览器拖到编辑器中。有关更多信息,请参阅下面的使用 AND 和 OR 容器部分。

容器 AND
布尔 AND 运算符
容器 OR
布尔 OR 运算符

比较 comparisons

以下区段比较是现成可用的,可用于评估区段属性。可以将它们从组件浏览器拖到编辑器中。

Property-Value
将存储的一个属性与一个定义的值进行比较
Property-Property
将存储的一个属性与另一个属性进行比较
Property-Segment 引用
将存储的一个属性与另一个引用的区段进行比较
Property-Script 引用
将存储的一个属性与脚本结果进行比较
区段 Reference-Script 引用
将引用的区段与脚本的结果进行比较
NOTE
在比较值时,如果未设置比较的数据类型(即设置为自动检测),则 ContextHub 的分段引擎将像 javascript 那样简单地比较值。它不会将值转换为预期类型,这可能导致误导性的结果。例如:
null < 30 // will return true
因此,在创建区段时,只要比较的值的类型是已知的,就应选择​ 数据类型。例如:
在比较属性 profile/age 时,您已知道比较的类型将为 number,因此即使未设置 profile/age,比较 profile/age 小于 30 将返回 false,如您预期的那样。

引用 references

以下引用是现成可用的,可直接链接到脚本或另一个区段。可以将它们从组件浏览器拖到编辑器中。

区段引用
评估引用的区段
脚本引用
评估引用的脚本。有关更多信息,请参阅下面的使用脚本引用

创建新区段 creating-a-new-segment

要定义新区段,请执行以下操作:

  1. 之后 访问区段,单击或点按创建按钮,然后选择 创建ContextHub区段.

    chlimage_1-311

  2. 在​ 新 ContextHub 区段 ​中,输入区段的标题以及 boost 值(如果需要),然后点按或单击​ 创建

    chlimage_1-312

    每个区段都有一个 boost 参数,该参数用作加权因素。较大数字表示,如果存在多个有效区段,则具有较大数字的区段优先于具有较小数字的区段。

    • 最小值:0
    • 最大值:1000000
  3. 将比较或引用拖动到区段编辑器中,它将显示在默认的 AND 容器中。

  4. 双击或点按新引用或区段的配置选项以编辑特定参数。在此示例中,我们正在测试圣何塞的人员。

    screen_shot_2012-02-02at103135am

    始终设置​ 数据类型(如果可能)以确保正确评估比较。有关更多信息,请参阅比较

  5. 单击 确定 要保存定义,请执行以下操作:

  6. 根据需要添加更多组件。您可以使用用于 AND 和 OR 比较的容器组件来制定布尔表达式(请参阅下面的使用 AND 和 OR 容器)。利用区段编辑器,您可以删除不再需要的组件,或将它们拖到语句中的新位置。

使用 AND 和 OR 容器 using-and-and-or-containers

通过使用 AND 和 OR 容器组件,您可以在 AEM 中构建复杂的区段。在执行此操作时,了解一些基本要点会有所帮助:

  • 定义的顶层始终是最初创建的 AND 容器。虽然这是无法更改的,但不会影响区段定义的其余部分。
  • 确保容器的嵌套有意义。可以将容器视为布尔表达式的括号。

以下示例用于选择在我们的主要年龄组中被视为的访客:

男,30至59岁

女性,30至59岁

首先,在默认的 AND 容器中放置一个 OR 容器组件。在OR容器内,添加两个AND容器,并在这两个容器内都可以添加属性或引用组件。

screen_shot_2012-02-02at105145am

使用脚本引用 using-script-references

通过使用脚本引用组件,可以将区段属性的评估委派给外部脚本。正确配置脚本后,可将脚本用作区段条件的任何其他组件。

定义要引用的脚本 defining-a-script-to-reference

  1. 将文件添加到 contexthub.segment-engine.scripts clientlib。

  2. 实施返回值的函数。例如:

    code language-none
    ContextHub.console.log(ContextHub.Shared.timestamp(), '[loading] contexthub.segment-engine.scripts - script.profile-info.js');
    
    (function() {
        'use strict';
    
        /**
         * Sample script returning profile information. Returns user info if data is available, false otherwise.
         *
         * @returns {Boolean}
         */
        var getProfileInfo = function() {
            /* let the SegmentEngine know when script should be re-run */
            this.dependOn(ContextHub.SegmentEngine.Property('profile/age'));
            this.dependOn(ContextHub.SegmentEngine.Property('profile/givenName'));
    
            /* variables */
            var name = ContextHub.get('profile/givenName');
            var age = ContextHub.get('profile/age');
    
            return name === 'Joe' && age === 123;
        };
    
        /* register function */
        ContextHub.SegmentEngine.ScriptManager.register('getProfileInfo', getProfileInfo);
    
    })();
    
  3. 将脚本注册到 ContextHub.SegmentEngine.ScriptManager.register

如果脚本依赖于其他属性,则脚本应调用 this.dependOn()。例如,如果脚本依赖于 profile/age,则:

this.dependOn(ContextHub.SegmentEngine.Property('profile/age'));

引用脚本 referencing-a-script

  1. 创建 ContextHub 区段。
  2. 在区段的所需位置添加​ 脚本引用 ​组件。
  3. 打开​ 脚本引用 ​组件的编辑对话框。如果已正确配置,则应该可以在​ 脚本名称 ​下拉列表中使用脚本。

测试区段的应用程序 testing-the-application-of-a-segment

定义区段后,可以借助 ContextHub 测试潜在结果。

  1. 预览页面
  2. 单击 ContextHub 图标以显示 ContextHub 工具栏
  3. 选择与您创建的区段匹配的角色
  4. ContextHub 将为所选角色解析适用的区段

例如,我们用于识别主要年龄组中用户的简单区段定义是一个基于用户年龄和性别的简单区段定义。 加载符合这些条件的特定角色会显示是否已成功解析该区段:

screen_shot_2012-02-02at105926am

如果未解析:

screen_shot_2012-02-02at110019am

NOTE
将立即解析所有特征,尽管大多数特征仅在页面重新加载时发生变化。

此类测试也可在内容页面上执行,并与目标内容以及相关的​ 活动 ​和​ 体验 ​相结合。

如果您已使用上述主要年龄组区段示例设置了活动和体验,则可以使用该活动轻松测试区段。 有关设置活动的详细信息,请参阅有关创作目标内容的文档

  1. 在已设置目标内容的页面的编辑模式下,您可以看到已通过内容上的箭头图标来目标内容。

    chlimage_1-313

  2. 切换到预览模式并使用 ContextHub,切换到与为体验配置的分段不匹配的角色。

    chlimage_1-314

  3. 切换到与为体验配置的分段不匹配的角色,并查看体验的相应变化。

    chlimage_1-315

使用区段 using-your-segment

区段用于控制特定目标受众看到的实际内容。 请参阅管理受众以详细了解受众和区段,并查看创作目标内容以了解如何使用受众和区段来目标内容。

recommendation-more-help
5ce3024a-cbea-458b-8b2f-f9b8dda516e8