在快速演变的数字广告领域中,设置 “用户提供数据事件”(User Provided Data Event)或增强型转化(Enhanced Conversions)已经不再是提升 Google Ads 广告效果的可选项——而是必不可少的一步。之所以要完成这一配置,主要原因在于,它能够显著提升转化跟踪的准确性。
众所周知,更严格的浏览器隐私政策以及第三方 Cookie 的逐步淘汰,都会导致传统的追踪方式丢失大量数据。在这样的环境下,“用户提供数据事件” 提供了一种“隐私安全”的解决方案。当用户在你的网站上完成购买或提交表单时,系统会将他们提供的第一方数据——如邮箱、电话号码或物理地址——使用 SHA256 加密进行安全哈希处理,然后再发送给 Google Ads。
通过这个过程,Google 可以在用户跨设备或跨浏览器完成转化的情况下,仍然准确识别该用户与广告点击之间的对应关系。由此带来的数据匹配精准度提升将带来显著优势:
-
准确报告:你将清晰地看到来自广告的转化数量,便于更准确地衡量广告支出的真实回报(ROAS)。
-
优越的竞价优化:Google Ads 的智能竞价算法现在依赖于更强大、更可靠的数据来调整竞价。因此,你的广告更有可能接触到那些具有最高转化概率的潜在客户。
-
减少数据丢失:你可以恢复因 Cookie 限制和隐私限制而丢失的大量转化数据。
最终,通过设置这个事件,你不仅仅是在完成一个技术任务;你是在为你的 Google Ads 广告活动做好未来保障,并为其提供最优质的数据,从而推动数据驱动的成功。
那么,让我们开始设置吧。但在你完成这个设置之前,首先你需要完成以下步骤:掌握Google Ads电子商务跟踪
通过 GTM 开始设置用户提供的数据事件
通过这个,我们将把客户提供的数据发送到 Google Ads。所以,首先我们需要确认数据的位置。这就像是每次有人完成购买或填写潜在客户表单后,我们都能获取到这种类型的数据。
如果你已经了解数据层,那么你也知道每次有人完成购买后,我们获取的数据格式是什么样的。

在这里你可以看到,完成购买后,我们得到了这些数据。所以现在,通过“Google Ads 用户提供的数据事件”,我们将把所有这些数据发送到 Google Ads 账户。让我们开始吧。
首先,进入你的 GTM,选择变量部分。因为我们首先需要创建一些变量,从数据层收集所有这些数据,然后将其发送到 Google Ads 账户。
事件变量创建


在变量部分,我们将在“用户定义的变量”下创建每一个需要的变量。
首先,我们将创建一个变量来收集用户的电子邮件地址,点击“新建”按钮,然后选择“数据层变量”作为变量类型。

现在在这里,你可以看到我们是如何完成这个变量设置的。如果你已经了解数据层,那么我希望你明白为什么我们遵循这种结构。值“emailhash”位于“billing”对象下,而“billing”又位于“customer”对象下,最后“customer”位于“orderData”对象下。这就是为什么我们按照这种方式:对象.对象.对象.值。

在这张图片中你可以看到我们这么做的原因。如需更多详情,你可以阅读这篇文章:最全面清晰的解释GTM 数据层概念
现在以同样的方式,我们来完成电话号、名字、姓氏、街道、城市、地区、国家和邮政编码的设置。





很好,按照这种方式,我们需要完成每一个变量,确保完美地收集每一项数据。但现在我们还需要做一件事。你可以看到在我们数据层的图片中,我们已经有了一些以哈希格式存储的值,但其他数据并没有哈希格式。所以现在我们需要创建变量来将它们转为哈希格式。因为这是 Google 的标准规定。
生成哈希格式
要做到这一点,再次进入你的变量部分,并选择“自定义 JavaScript”作为变量类型。此时,我们将为每一个需要转换为哈希格式的变量创建一个自定义 JavaScript 代码变量。
所以首先复制以下代码:
function() {
return sha256({{value}});
function sha256(r){if(r){r=r.toString();for(var $,_,o=Math.pow,f=o(2,32),t="length",a="",n=[],h=8*r[t],i=sha256.h=sha256.h||[],c=sha256.k=sha256.k||[],e=c[t],s={},u=2;e<64;u++)if(!s[u]){for($=0;$<313;$+=u)s[$]=u;i[e]=o(u,.5)*f|0,c[e++]=o(u,1/3)*f|0}for(r+="\x80";r[t]%64-56;)r+="\0";for($=0;$<r[t];$++){if((_=r.charCodeAt($))>>8)return;n[$>>2]|=_<<(3-$)%4*8}for(_=0,n[n[t]]=h/f|0,n[n[t]]=h;_<n[t];){var v=n.slice(_,_+=16),g=i;for($=0,i=i.slice(0,8);$<64;$++){var l=v[$-15],k=v[$-2],x=i[0],S=i[4],d=i[7]+(A(S,6)^A(S,11)^A(S,25))+(S&i[5]^~S&i[6])+c[$]+(v[$]=$<16?v[$]:v[$-16]+(A(l,7)^A(l,18)^l>>>3)+v[$-7]+(A(k,17)^A(k,19)^k>>>10)|0),p=(A(x,2)^A(x,13)^A(x,22))+(x&i[1]^x&i[2]^i[1]&i[2]);(i=[d+p|0].concat(i))[4]=i[4]+d|0}for($=0;$<8;$++)i[$]=i[$]+g[$]|0}for($=0;$<8;$++)for(_=3;_+1;_--){var w=i[$]>>8*_&255;a+=(w<16?0:"")+w.toString(16)}return a}function A(r,$){return r>>>$|r<<32-$}}
}
在这里,替换“value”为你变量的名称,按照这种方式进行更改。

如果你按照这种方式操作,那么你将获得相应格式的值。

以同样的方式,你需要为其余的变量创建更多变量,将它们转换为哈希格式。

以这种方式,为每一个收集用户提供数据的变量创建变量。这样,当前你的变量就可以在标签中使用了。
现在,我们还需要创建一个变量,用来收集我们在此时创建的所有变量。

为了做到这一点,再创建一个新变量,这时变量类型选择“用户提供的数据”。选择它即可。

选择变量类型后,接着进入每个框,并根据每个框选择我们创建的正确变量。按照这种方式,填写每一个框。如果你的业务是服务型的,可能你只能获得客户的电子邮件和电话号码。别担心,选择这些并留空其他框即可。保存。
设置 Google Ads 用户提供的数据事件
要设置标签,进入你的标签管理器中的标签部分,然后创建一个新标签。


这是选择标签后你将看到的界面。在“转换 ID”位置,填写你在创建 Google Ads 其他转化时获得的转换 ID。对于一个账户,转换 ID 每次都是相同的。
之后,在“用户提供的数据”位置,你可以看到我们选择了最后创建的变量,这个变量将所有客户数据收集在一个地方。
现在是时候设置触发器了。我想在购买时设置触发器。因为每次有人完成购买时,我们将获得这种类型的数据。但你可以根据自己的需要进行设置。

保存。做得好,你的设置现在已经上线。每次这个标签触发时,它将把所有信息共享到你的 Google Ads 账户中。
2 Responses
I’m not that much of a online reader to be honest but your sites really nice, keep it up!
I’ll go ahead and bookmark your website to come back later on. All the best
thank you so much i will try my best to make more high quality content
by the way for english version content you can check here
https://blog.friendstudio.net