导入客户细分 - Amazon Pinpoint

导入客户细分

使用 Amazon Pinpoint,您可以定义一个用户客户细分,方法是导入包含有关属于客户细分的用户的信息的文件。如果您在 Amazon Pinpoint 之外定义用户客户细分,但又想通过 Amazon Pinpoint 活动吸引用户,则导入客户细分非常有用。

与在控制台中使用客户细分生成器创建的动态客户细分不同,导入客户细分是一组不变的端点用户 ID

端点

可以向其发送消息的目的地,如电子邮件地址、移动设备标识符或移动电话号码。端点定义可以包括描述您向其发送消息的用户或设备的属性。也可以包括用户 ID。

可以通过导入端点定义列表来定义客户细分。Amazon Pinpoint 创建客户细分,并用新的信息来更新之前您添加到 Amazon Pinpoint 的任何端点。

用户 ID

代表受众中单个用户的 ID。此 ID 必须分配给一个或多个端点。例如,如果某个人员在多个设备上使用您的应用程序,则您的应用程序可将此人员的用户 ID 分配给每个设备的端点。

仅当您已将与用户 ID 关联的端点添加到 Amazon Pinpoint 中时,才可以通过导入用户 ID 来定义客户细分。

导入客户细分由端点、用户 ID 或这二者的组合组成。使用 Amazon Pinpoint 向客户细分发送消息时,可能的目的地包括:

  • 导入文件中所列的每个端点。

  • 与导入文件中所列的每个用户 ID 关联的每个端点。

创建新客户细分时,您可以使用一个导入客户细分作为基本客户细分。然后,您可以对该基本客户细分应用筛选条件,以根据您的需求对其进行优化。

导入客户细分注意事项

创建导入客户细分时,请考虑以下因素:

  • 当您创建活动时,必须选择一个客户细分。当您选择动态客户细分时,Amazon Pinpoint 提供该客户细分大小的估计值。但是,当您选择导入的客户细分时,Amazon Pinpoint 无法提供估计值。

  • 如果您创建一个当发生某些事件时发送消息的活动,您不能使用导入客户细分。基于事件的活动只能使用动态客户细分。有关创建动态客户细分的更多信息,请参阅构建客户细分

客户细分文件

您可以在逗号分隔值 (CSV) 或 JSON 文件中定义属于您的客户细分的端点或用户 ID。然后,将此文件导入 Amazon Pinpoint 来创建客户细分。

导入客户细分时,请记住以下几点:

  • Amazon Pinpoint 无法导入压缩的文件。

  • 您导入的文件必须使用 UTF-8 字符编码。

  • 如果要导入新的端点,AddressChannelType 属性是必需的。

  • 如果要更新现有的端点,则 Id 属性对于要更新的每个端点都是必需的。

  • 您的端点定义只能包含特定属性。有关列表,请参阅支持的属性。此外,属性名称必须为 50 个或更少的字符。属性值必须为 100 个或更少的字符。

示例客户细分文件

本节中的示例文件基于以下数据:

示例端点属性值
ChannelType 地址 Location.Country Demographic.Platform Demographic.Make User.UserId
短信 +16045550182 CA Android LG example-user-id-1
APNS 1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f 美国 iOS Apple example-user-id-2
EMAIL john.stiles@example.com 美国 iOS Apple example-user-id-2
GCM 4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c CN Android Google example-user-id-3
EMAIL wang.xiulan@example.com CN Android OnePlus example-user-id-3

此表中的每一行代表一个端点。请注意,用户 ID example-user-id-2example-user-id-3 将分别分配给两个端点。

例 包含端点定义的文件
CSV

您可以导入在 CSV 文件中定义的端点,如以下示例中所示:

ChannelType,Address,Location.Country,Demographic.Platform,Demographic.Make,User.UserId SMS,+16045550182,CA,Android,LG,example-user-id-1 APNS,1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f,US,iOS,Apple,example-user-id-2 EMAIL,john.stiles@example.com,US,iOS,Apple,example-user-id-2 GCM,4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c,CN,Android,Google,example-user-id-3 EMAIL,wang.xiulan@example.com,CN,Android,OnePlus,example-user-id-3

第一行是标头,其中包含端点属性。有关可能属性的完整列表,请参阅 支持的属性

后续行通过为标头中的每个属性提供值来定义端点。

要在值中包含逗号或双引号,请将值括在双引号内,如 "aaa,bbb"

CSV 文件不能包含换行符或制表符。如果您的文件包含带有换行符或制表符的数据,则文件中的数据可能无法导入,或者导入过程可能会失败。

JSON

您可以导入在新行分隔的 JSON 文件中定义的端点。在此格式中,每一行都是一个完整的 JSON 对象,其中包含单独的端点定义,如以下示例中所示:

{"ChannelType":"SMS","Address":"+16045550182","Location":{"Country":"CA"},"Demographic":{"Platform":"Android","Make":"LG"},"User":{"UserId":"example-user-id-1"}} {"ChannelType":"APNS","Address":"1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f","Location":{"Country":"US"},"Demographic":{"Platform":"iOS","Make":"Apple"},"User":{"UserId":"example-user-id-2"}} {"ChannelType":"EMAIL","Address":"john.stiles@example.com","Location":{"Country":"US"},"Demographic":{"Platform":"iOS","Make":"Apple"},"User":{"UserId":"example-user-id-2"}} {"ChannelType":"GCM","Address":"4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c","Location":{"Country":"CN"},"Demographic":{"Platform":"Android","Make":"Google"},"User":{"UserId":"example-user-id-3"}} {"ChannelType":"EMAIL","Address":"wang.xiulan@example.com","Location":{"Country":"CN"},"Demographic":{"Platform":"Android","Make":"OnePlus"},"User":{"UserId":"example-user-id-3"}}

有关可能属性的完整列表,请参阅 支持的属性

导入客户细分

将客户细分导入 Amazon Pinpoint 有两种办法:一是直接从计算机上传文件,二是导入存储在 Amazon Simple Storage Service(Amazon S3)存储桶中的文件。

建议您从计算机上传文件,当计算机上已有客户数据时尤其要这样做。但是,您一次只能导入 10 个文件,并且只能上传小于 1 GB 的文件。

如果您需要一次导入 10 个以上的文件,或者需要上传大于 1 GB 的文件,则应从 Amazon S3 导入文件。如果您已经具有将客户数据文件发送到 Amazon S3 以进行存储的流程,则 Amazon S3 导入选项也很有用。

此部分包含使用这两种方法导入客户细分的过程。

您可以通过直接从计算机最多上传 10 个文件来创建客户细分。上传的文件可以采用 CSV 或 JSON 格式。您可以上传采用这两种格式的任意组合的文件。例如,您可以上传一个 JSON 文件和三个 CSV 文件。

导入客户细分
  1. 打开 Amazon Pinpoint 控制台,网址为:https://console.aws.amazon.com/pinpoint/

  2. 所有项目页面上,选择要将客户细分添加到的项目。

  3. 在导航窗格中,选择客户细分

  4. 选择创建客户细分

  5. 创建客户细分下,选择导入客户细分

  6. 导入方法下,选择从计算机上传文件

  7. 要导入的文件下,选择选择文件。选择要导入的一个或多个文件。

    注意

    您也可以直接将文件从计算机的文件资源管理器拖放到将文件拖放到此处区域。

  8. 当您将文件上传到 Amazon Pinpoint 时,必须为每个导入的文件提供一个客户细分名称。在客户细分名称下,输入要导入的每个文件的客户细分名称。

    默认情况下,Amazon Pinpoint 提供一个客户细分名称,该名称就是导入的文件的名称,但不带文件扩展名。您可以将这些默认值更改为任何名称。

    显示客户细分创建页面上的“客户细分名称”部分。用户已上传两个文件:High Value Customers.csv 和 Top Users by Activity.json。
    注意

    您可以对多个客户细分使用相同名称。如果您这样做,Amazon Pinpoint 会为每个文件创建不同的客户细分,并为每个文件分配唯一 ID。对于导入的每个文件,创建日期也略有不同。您可以使用这些因素来区分同名的客户细分。

  9. 完成后,选择创建客户细分

在使用此过程导入客户细分之前,您必须先创建一个 Amazon S3 存储桶并将您的文件上传到该存储桶。您可以将不同客户细分的文件组织在不同的文件夹中。当 Amazon Pinpoint 导入一个客户细分的端点或用户 ID 时,它将包括所有文件夹和子文件夹下属于您指定的 Amazon S3 位置的文件。

有关创建存储桶和上传对象的介绍,请参阅《Amazon Simple Storage Service 用户指南》中的什么是 Amazon S3?

Amazon Pinpoint 只能为每个客户细分导入一种文件格式(CSV 或 JSON),因此您指定的 Amazon S3 路径应只包含单一类型的文件。

导入客户细分
  1. 打开 Amazon Pinpoint 控制台,网址为:https://console.aws.amazon.com/pinpoint/

  2. 所有项目页面上,选择要将客户细分添加到的项目。

  3. 在导航窗格中,选择客户细分

  4. 选择创建客户细分

  5. 创建客户细分下,选择导入客户细分

  6. 对于客户细分名称,输入客户细分的名称。

  7. 对于 Amazon S3 URL,输入包含您的客户细分文件的 Amazon S3 存储桶的位置。此存储桶的地址必须采用以下格式:

    s3://bucket-name/folder-name

    Amazon Pinpoint 从您指定的路径以及该路径中的任意子文件夹导入文件。

  8. 对于 IAM 角色,请完成下列步骤之一:

    • 如果您想让 Amazon Pinpoint 创建一个角色,以允许它从 Amazon S3 存储桶读取,则选择自动创建角色。然后,对于 IAM 角色,为您创建的角色输入一个名称。

    • 如果您已创建允许 Amazon Pinpoint 从 Amazon S3 存储桶读取的 IAM 角色,则选择选择现有角色。然后,对于 IAM 角色,请选择一个包含相应权限的角色。

    如果您要自己创建 IAM 角色,请参阅《Amazon Pinpoint 开发者指南》中的用于导入端点或客户细分的 IAM 角色。创建角色之后,在 Amazon Pinpoint 控制台中指定它。

  9. 您要导入哪种文件下,选择 JavaScript 对象表示法 (JSON)逗号分隔值 (CSV),具体取决于您上传到 Amazon S3 的文件的格式。

  10. 选择创建客户细分

支持的属性

本节中的表列出并描述了您可以在导入到 Amazon Pinpoint 的端点定义中指定的属性。如果您通过使用 CSV 文件导入客户细分,则文件中的标头应该与属性列中显示的名称匹配。

对于 JSON 文件,属性名称中的句点指示句点后的名称是嵌套在父对象中的对象,而父对象的名称就是句点之前的值。例如,包含 Demographic.MakeDemographic.Model 属性的 JSON 文件具有以下结构:

{ ... "Demographic": { ... "Make":"Apple", "Model":"iPhone" ... } ... }

完整 JSON 结构非常类似于《Amazon Pinpoint API 参考》中的示例端点请求。但是,但您导入客户细分时,并非端点请求架构中的所有属性都受支持,包括 EndpointStatusEffectiveDate

要使一个自定义字段包含 CSV 文件中的多个值,您必须复制标头并为每个标头保留一个值。例如:

...,User.UserId, User.UserAttributes.new_multi_field,User.UserAttributes.new_multi_field ...,example-user-id-2,test10,test20

您可以将显示为 custom_attribute 的属性名称替换为任意值。例如,如果要将用户的名和姓存储在名为 FirstNameLastName 的属性中,则可以分别创建名为 User.UserAttributes.FirstNameUser.UserAttributes.LastName 的自定义属性。属性名称最多可包含 50 个字符。属性值最多可包含 100 个字符。属性名称区分大小写。

在 JSON 中,自定义属性必须采用 "Attributes":{"Ride":["Bus"]} 格式。

属性 描述
Address

您发送到端点的消息或推送通知的唯一目标地址,例如电子邮件地址、电话号码或设备令牌。

注意

如果端点地址是一个电话号码,则必须以 E.164 格式指定。有关 E.164 格式的更多信息,请参阅维基百科上的 E.164

Attributes.custom_attribute 描述端点的自定义属性。创建客户细分时,您可以使用此类属性作为选择标准。您可以使用任意值替换 custom_attribute
ChannelType 向端点发送消息或推送通知时使用的渠道。例如:
  • APNS – 适用于可以接收您通过 Apple Push Notification service (APNs) 渠道发送到运行在 iOS 设备上的应用程序的推送通知的端点。

  • EMAIL – 适用于可接收电子邮件消息的端点。

  • GCM – 适用于可以接收您通过 Firebase Cloud Messaging (FCM) 渠道发送到运行在 Android 设备上的应用程序的推送通知的端点。

  • SMS – 适用于可以接收短信文本消息的端点。

Demographic.AppVersion 与端点关联的应用程序的版本号。
Demographic.Locale 端点的区域设置,格式如下:ISO 639-1 alpha-2 代码,后跟下划线 (_),然后是 ISO 3166-1 alpha-2 值。例如,en_US 是美国英语区域设置。
Demographic.Make 端点设备的制造商,例如 applesamsung
Demographic.Model 端点设备的产品名称或型号,例如 iPhone 或 SM-G900F。
Demographic.ModelVersion 端点设备的型号版本。
Demographic.Platform 端点设备上的操作系统,例如 iosandroid
Demographic.PlatformVersion 端点设备上的操作系统版本。
Demographic.Timezone 端点的时区,采用 tz 数据库值。例如,America/Los_Angeles 表示太平洋时间(北美)。
注意

以下时区不再受支持,并且会自动重新映射到支持的时区。

时区 重新映射时区
Canada/East-Saskatchewan America/Managua
US/Pacific-New America/Los_Angeles
EffectiveDate 上次更新端点的日期和时间,采用 ISO 8601 格式。例如,2019-08-23T10:54:35.220Z 表示 UTC 2019 年 8 月 23 日 10:54 AM。
Id 端点的唯一标识符。
Location.City 端点所在的城市。
Location.Country 两个字符的代码,采用 ISO 3166-1 alpha-2 格式,表示端点所在的国家/地区或区域。例如,US 表示美国。
Location.Latitude 端点位置的纬度坐标,舍入到一位小数。
Location.Longitude 端点位置的经度坐标,舍入到一位小数。
Location.PostalCode 端点所在区域的邮政编码。
Location.Region 端点所在区域的名称,例如,省/市/自治区。
Metrics.custom_attribute 您的应用程序向 Amazon Pinpoint 报告的有关端点的自定义数值指标(例如,会话次数或购物车中剩余的商品数量),用于客户细分目的。您可以使用任意值替换 custom_attribute

这些自定义值只能为数字。由于它们是数字,所以 Amazon Pinpoint 可以对其执行算术运算,例如求平均值或求和。

OptOut 指示用户是否选择不接收您的消息和推送通知。可接受的值为:ALL,用户选择退出,不希望接收任何消息或推送通知;或 NONE,用户未选择退出,希望接收所有消息和推送通知。
RequestId 最近更新端点请求的唯一标识符。
User.UserAttributes.custom_attribute 描述用户的自定义属性。您可以使用任意值替换 custom_attribute,例如 FirstNameAge
User.UserId 用户的唯一标识符。

您可以为每个项目中的端点和用户创建多达 250 个自定义属性。有关更多信息,请参阅《Amazon Pinpoint 开发者指南》中的 Amazon Pinpoint 限额