2

当我实施 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

4

1 回答 1

1
var script = document.createElement('script');
script.src = "https://www.googletagmanager.com/gtag/js?id=AW-XYZ";
document.querySelector("head").appendChild(script);

从https://www.googletagmanager.com/gtag/js?id=AW-XYZ开始下载gtag 核心

gtag('config', 'AW-XYZ');

初始化 gtag 的跟踪器。

接下来,您跟踪转化:

gtag('event', 'conversion', {
'send_to': 'AW-XYZ/abc123',
'transaction_id': '123456789'
});

用于转换的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/

它还包含发出双击请求的小型 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 重定向是 HTTP2 握手请求不成功。带有http2_handshake_failed base64 编码的信息。

然后您请求全球Google 用户列表:

https://www.google.com/**pagead/1p-user-list**/XYZ/

本地用户列表:

https://www.google.de/**pagead/1p-user-list**/XYZ/

用户列表

文档

UserList 对象是一个帐户可能针对的用户列表。

像素请求设置test_cookie检查您的隐私选项。

这些 cookie 代表您的Google 广告设置

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/

于 2020-07-02T11:18:59.570 回答