高级匹配

本文档将介绍如何将您的应用事件用户数据发送至 Facebook,以便执行高级匹配。应用会对这些信息进行散列处理,然后分享给我们。我们会使用经过散列处理的信息更准确地判定哪些用户在看到您的广告后采取了行动。凭借这些数据,Facebook 可以将转化事件与您的客户进行匹配,以优化您的广告并建立更大的再营销受众群体。

执行匹配之后,Facebook 会立即放弃这些散列数据。

您可以使用以下任一方法设置“高级匹配”:

  • Facebook SDK — 将代码添加至 AndroidiOS 移动应用,以便手动将数据发送至 Facebook。
  • Facebook 应用事件 API — 将查询添加至代码,以便手动将数据发送至 Facebook。
  • 事件管理工具 — 在“事件管理工具”面板中配置您的应用,打开“自动高级匹配”,以将数据发送至 Facebook。
  • 移动应用成效衡量合作伙伴 (MMP) SDK — 将代码添加至 AndroidiOS 应用,以将数据发送至 Adjust 面板。

使用 Facebook SDK

使用 Facebook SDK 将用户应用事件数据发送至 Facebook 时,所有用户数据都会经过散列处理。此散列数据会在应用实例之间保持一致。

要求

  • Facebook SDK 4.36 或更高版本

Android

在使用 setUserData 函数初始化 AppEventsLogger 时设置用户数据。此函数将对用户数据进行散列处理。

AppEventsLogger logger = AppEventsLogger.newLogger(MainActivity.this);
AppEventsLogger.setUserData(
  “jsmith@example.com”,     //email
  “john”,                   //first name
  “smith”,                  //last name
  “16505554444”,            //phone number
  “19910526”,               //birthdate
  “f”,                      //gender
  “menlopark”,              //city
  “ca”,                     //state
  “94025”,                  //zip code
  “us”                      //country
);

iOS

在使用 setUserData 函数初始化 FBSDKAppEvents 时设置用户数据。用户数据将经过散列处理,且会在应用实例之间保持一致。

建议

iOS 14 版 App Store Connect

您的应用收集并发送到 Facebook 的事件可能需要您在 App Store Connect 问卷中披露这些数据类型。您应负责确保在应用程序的隐私权政策中反映出这一点。访问 Apple App Store 隐私详情一文,了解您需要披露的数据类型的更多相关信息。

设置一种数据类型的代码示例

[FBSDKAppEvents setUserData: @"jsmith@example.com" forType:FBSDKAppEventEmail];

设置多种数据类型的代码示例

NSDictionary *const userData = @{
        @"em": @"jsmith@example.com",
        @"fn": @"john",
        @"ln": @"smith",
        @"ph": @"16505554444",
        @"db": @"19910526",
        @"ge": @"f",
        @"ct": @"menlopark",
        @"zp": @"94025",
        @"cn": @"us"};
[FBSDKAppEvents setUserEmail:(NSString *)userData["@em"]
     firstName:(NSString*)userData["@fn"]
     lastName:(NSString *)userData[@"ph"]
     phone:(NSString *)userData[@"ph"]
     dateOfBirth:(NSString *)userData[@"db"]
     gender:(NSString *)userData[@"ge"]
     city:(NSString *)userData[@"ct"]
     state:(NSString *)userData[@"st"]
     zip:(NSString *)userData[@"zp"]
     country:(NSString *)userData[@"cn"]];

客户信息数据参数

数据 参数 示例 格式准则

城市

ct

menlopark

小写城市名称,删除空格

国家/地区

country

US

两个字母的国家/地区代码,须使用 ISO 3166-1 alpha-2 格式

出生日期

db

19911226

出生日期,包括年份、月份和日期,如 19971226 表示 1997 年 12 月 26 日

邮箱

em

jsmith@example.com

小写个人电子邮件地址

名字

fn

john

小写名字

性别

ge

m

fm,如果未知,请留空

姓氏

ln

smith

小写姓氏

电话

ph

16505551212

电话号码,仅限数字,包括国家/地区代码、区号和号码

州/省

st

ca

两个字母的州/省代码

邮编

zp

94035

五位数的邮政编码

使用事件管理工具

“自动高级匹配”可自动配置 Facebook SDK,以便检测和接收用户数据,以及应用中发生的事件或操作。此类数据在发送至 Facebook 之前会先经过散列处理。

如要开启“自动高级匹配”,请前往事件管理工具,选择应用的设置选项卡,然后将自动高级匹配切换为开启。此外,您还可以分享经过散列处理的邮箱和电话号码。

请注意,您必须已实现 Facebook SDK 5.8.0 或更高版本。

使用 Adjust SDK

将客户数据添加到 Adjust 事件

使用 Adjust 移动应用成效衡量合作伙伴 (MMP) SDK 时,请使用下方示例中展示的散列函数,因为此 MMP SDK 不会自动对其进行散列处理。如不使用散列函数,我们的 API 将抛出异常,并且不会接受纯文本。

通过在 ADJEvent 实例上调用 addPartnerParameter 方法,将要传输的客户数据参数添加到网络合作伙伴,该功能已在 Adjust 面板中启用。

请注意,您无需实现 Facebook SDK。

Android 代码示例

AdjustEvent event = new AdjustEvent('abc123');
event.addPartnerParameter('em', 'sha256_hashed_email');
event.addPartnerParameter('ph', 'sha256_hashed_phone');
Adjust.trackEvent(event);

iOS 代码示例

ADJEvent *event = [ADJEvent eventWithEventToken:@'abc123'];

[event addPartnerParameter:@'em' value:@'sha256_hashed_email'];
[event addPartnerParameter:@'ph' value:@'sha256_hashed_phone'];

[Adjust trackEvent:event];

详情请参阅 Github 代码示例

将 Adjust 参数映射到 Facebook 参数

在 Adjust 面板中,按照以下步骤将 Adjust 参数映射到 Facebook 参数。

  1. 在 Adjust 面板中,点击您想为其映射合作伙伴参数的应用的设置
  2. 选择合作伙伴设置
  3. 点击相关合作伙伴。
  4. 选择合作伙伴参数映射
  5. 在左侧来源应用栏中,输入由 SDK 发送至 Adjust 的合作伙伴参数名称。每位合作伙伴的名称应保持一致。例如,如果您使用 email 作为 Adjust SDK 中的参数名称,则输入“email”。
  6. 在右侧目标合作伙伴栏中,输入此合作伙伴所需的合作伙伴参数名称。各个合作伙伴的参数名称不同。Facebook SDK 中所用参数的格式应为 ud[pii_type_name]。例如,“email”应使用 ud[em],手机应使用 ud[ph]

详情请参阅 Adjust 文档