将 Facebook 高级匹配像素与 Google 标签管理器结合使用

Using Facebook Advance Matching Pixel with Google Tag Manager

基本的 Pixel init 与 GTM 一起工作得很好,现在我想添加与 GTM 的高级匹配,所以我有一个关于安全的问题。 可以将未散列的 aEmail、aPhone、aFirstName 作为 GTM 变量发送吗?我看到 AirBNB 正在对它们的值进行哈希处理,也许有一些功能可以做到这一点。 这个 Pixel init 标签在每次页面加载时触发,aEmail、aPhone、aFirstName 是 GTM 变量。谢谢

<script>
  pixelId = '123456789';
  !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
  n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
  document,'script','https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', pixelId, { 
    em: '{{aEmail}}', 
    ph: '{{aPhone}}',
    fn: '{{aFirstName}}'
  });
  fbq('track', 'PageView');
})
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id='+ pixelId +'&ev=PageView&noscript=1"
/></noscript>

进一步查看 documentation for the Advance Matching pixel 它说:

Use any of the following data types in clear text or sha256-hashed format:

email, phone number, first name, last name, city, state, zip gender date of birth.

[...]

If you pass clear text data through the pixel, Facebook hashes all the data using the sha256 algorithm at the browser.

Before you send any data, in pre-hashed data or clear text format, check for correct formatting

因此您可以在数据层中使用 SHA256 自行对数据进行哈希处理。根据文档,这不需要对像素进行任何特殊设置。