GoogleAds 转化 - 多个网络请求 - 有啥用?
Posted
技术标签:
【中文标题】GoogleAds 转化 - 多个网络请求 - 有啥用?【英文标题】:GoogleAds conversion - multiple network requests - what for?GoogleAds 转化 - 多个网络请求 - 有什么用? 【发布时间】:2020-06-23 11:54:09 【问题描述】:当我实施 GoogleAds 转化事件时,我发现了对不同域的多个网络请求。有人能解释一下这里发生了什么(以及为什么)吗?
我想到了向特定端点(或监控系统 -> GoogleAds)提供有关特定事件的信息,但我不了解这些多个请求的不同目的。
代码示例
var script = document.createElement('script');
script.src = "https://www.googletagmanager.com/gtag/js?id=AW-XYZ";
document.querySelector("head").appendChild(script);
window.dataLayer = window.dataLayer || [];
function gtag()dataLayer.push(arguments);
gtag('js', new Date());
gtag('config', 'AW-XYZ');
gtag('event', 'conversion',
'send_to': 'AW-XYZ/abc123',
'transaction_id': '123456789'
);
网络请求
域: googletagmanager.com/gtag/js?id=AW-XYZ 状态: 200 类型: 脚本
域: googleads.g.doubleclick.net/pagead/... 状态: 200 类型: 脚本
域: googleadservices.com/pagead/... 状态: 200 类型: 脚本
域: googleads.g.doubleclick.net/pagead/... 状态: 302 类型: gif
域: google.com/pagead/... 状态: 302 类型: gif
域: google.de/pagead/... 状态: 302 类型: gif
【问题讨论】:
您的网页中有谷歌广告吗?您拥有的代码看起来仅适用于 Google Analytics。 不,代码没问题。许多新的 Google 脚本都托管在 googletagmanager.com 上 - 无论您使用的是 GoogleAds 还是 Analytics。但我真的对这些不同服务器调用的目的很感兴趣。 【参考方案1】:var script = document.createElement('script');
script.src = "https://www.googletagmanager.com/gtag/js?id=AW-XYZ";
document.querySelector("head").appendChild(script);
从 gtag core 库开始下载 https://www.googletagmanager.com/gtag/js?id=AW-XYZ
gtag('config', 'AW-XYZ');
初始化 gtag 的跟踪器。
接下来,您跟踪转化:
gtag('event', 'conversion',
'send_to': 'AW-XYZ/abc123',
'transaction_id': '123456789'
);
conversions 的 javascript 已下载:
https://www.google.com/pagead/conversion_async.js
它首先发出跟踪请求。
这进入https://www.google.com/**pagead/1p-conversion**/XYZ/
Cookie 被丢弃:
SIDCC=AJi4QfEKDZ05LwN4g23OLyoW…in=.google.com; priority=high
Permanent Cookies
SIDCC AJi4QfEKDZ05LwN4g23OLyoW017
Expires Fri, 02-Jul-2021 10:46:18 GMT
Domain .google.com
Path /
Other attributes
priority high
然后联系 Doubleclick(在本例中为 DMP 平台)。
https://googleads.g.doubleclick.net/**pagead/viewthroughconversion**/XYZ/
它还包含发出 doubleclick 请求的小型 JavaScript。
(function()
var s = ;
(function()
/* Copyright The Closure Library Authors. SPDX-License-Identifier: Apache-2.0 */
var c = this || self;
var f = /#|$/;
function l(d)
var g = d.search(f),
a;
a:
for (a = 0; 0 <= (a = d.indexOf("fmt", a)) && a < g;)
var b = d.charCodeAt(a - 1);
if (38 == b || 63 == b)
if (b = d.charCodeAt(a + 3), !b || 61 == b || 38 == b || 35 == b) break a;
a += 4
a = -1
if (0 > a) return null;
b = d.indexOf("&", a);
if (0 > b || b > g) b = g;
a += 4;
return decodeURIComponent(d.substr(a, b - a).replace(/\+/g, " "))
;
function n(d, g, a)
function b()
--p;
if (0 >= p)
var e;
(e = d.GooglebQhCsO) || (e = );
var q = e[g];
q && (delete e[g], (e = q[0]) && e.call && e())
for (var p = a.length + 1, m = 0; m < a.length; m++)
var h = l(a[m]),
k = null;
1 != h && 2 != h || !(h = d.document.getElementById("goog_conv_iframe")) || h.src || (k = h);
k || (k = new Image);
k.onload = b;
k.src = a[m]
b()
var r = ["ss_"],
t = s || c;
r[0] in t || "undefined" == typeof t.execScript || t.execScript("var " + r[0]);
for (var u; r.length && (u = r.shift());) r.length || void 0 === n ? t[u] && t[u] !== Object.prototype[u] ? t = t[u] : t = t[u] = : t[u] = n;
).call(this);;
s.ss_(window, 'OjE1OTM2ODY3Nzg2Mjc', ['https://www.google.com/pagead/1p-user-list/XYZ/?random\x3d1593686778627\x26cv\x3d9\x26fst\x3d1593684000000\x26num\x3d1\x26bg\x3dffffff\x26guid\x3dON\x26u_h\x3d920\x26u_w\x3d1472\x26u_ah\x3d920\x26u_aw\x3d1472\x26u_cd\x3d24\x26u_his\x3d3\x26u_tz\x3d120\x26u_java\x3dfalse\x26u_nplug\x3d0\x26u_nmime\x3d0\x26gtm\x3d2oa6o0\x26sendb\x3d1\x26data\x3devent%3Dgtag.config\x26frm\x3d0\x26url\x3dhttps%3A%2F%2Fwww.optimics.cz%2F\x26tiba\x3dOptimics%20%7C%20Chytr%C3%BD%20online%20marketing%20d%C3%ADky%20analytice\x26async\x3d1\x26fmt\x3d3\x26is_vtc\x3d1\x26random\x3d2253878667\x26resp\x3dGooglemKTybQhCsO\x26rmt_tld\x3d0\x26ipr\x3dy', 'https://www.google.cz/pagead/1p-user-list/XYZ/?random\x3d1593686778627\x26cv\x3d9\x26fst\x3d1593684000000\x26num\x3d1\x26bg\x3dffffff\x26guid\x3dON\x26u_h\x3d920\x26u_w\x3d1472\x26u_ah\x3d920\x26u_aw\x3d1472\x26u_cd\x3d24\x26u_his\x3d3\x26u_tz\x3d120\x26u_java\x3dfalse\x26u_nplug\x3d0\x26u_nmime\x3d0\x26gtm\x3d2oa6o0\x26sendb\x3d1\x26data\x3devent%3Dgtag.config\x26frm\x3d0\x26url\x3dhttps%3A%2F%2Fwww.optimics.cz%2F\x26tiba\x3dOptimics%20%7C%20Chytr%C3%BD%20online%20marketing%20d%C3%ADky%20analytice\x26async\x3d1\x26fmt\x3d3\x26is_vtc\x3d1\x26random\x3d2253878667\x26resp\x3dGooglemKTybQhCsO\x26rmt_tld\x3d1\x26ipr\x3dy']);
)();
302 Redirect following 在我的情况下,此请求是不成功的 HTTP2 握手请求。带有 http2_handshake_failed base64 编码信息。
那么您正在请求全局 Google 用户列表:
https://www.google.com/**pagead/1p-user-list**/XYZ/
和本地用户列表:
https://www.google.de/**pagead/1p-user-list**/XYZ/
用户列表
Documentation
UserList 对象是一个帐户可能定位的用户列表。
像素请求设置test_cookie检查您的隐私选项。
此 cookie 代表您的 Google's Ad Settings。
https://googleads.g.doubleclick.net/**pagead/viewthroughconversion**/XYZ/
Permanent Cookies
test_cookie CheckForPermission
Expires Thu, 02-Jul-2020 11:01:19 GMT
Domain .doubleclick.net
Path /
Secure true
Other attributes
SameSite none
如果您对 Google 的 cookie 更感兴趣,请点击此链接 https://www.gresearch.co.uk/cookie-policy/
【讨论】:
谢谢!您能否详细说明这些请求的目的?为什么在简单的 GoogleAds 转换的情况下会联系双击,那些不同的“用户列表”又如何?为什么 Google 会在这里检查我的隐私选项? @funkfux 您好,Doubleclick 是 Google 的网络,为广告业务提供大部分服务。它运行多种产品,例如 Doubleclick、AdWords、Analytics 中的人口统计报告等。用户列表是可定位用户的列表,隐私选项与广告设置相关。我将两者都添加到回复中。以上是关于GoogleAds 转化 - 多个网络请求 - 有啥用?的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 事件作为 Google Ads 中的转化不起作用
将 Google Ads 转化跟踪代码手动添加到 Facebook 客户聊天中