Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GoogleAds conversion - multiple network requests - what for?

When I implement a GoogleAds conversion event I recognize multiple network requests to various domains. Can someone explain what (and why) is happening here?

I got the idea of providing information about a certain event to a specific endpoint (or monitoring system -> GoogleAds) but I do not understand the different purposes of these multiple requests.

Code Example

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'
});

Network Requests

Domain: googletagmanager.com/gtag/js?id=AW-XYZ Status: 200 Type: Script

Domain: googleads.g.doubleclick.net/pagead/... Status: 200 Type: script

Domain: googleadservices.com/pagead/... Status: 200 Type: script

Domain: googleads.g.doubleclick.net/pagead/... Status: 302 Type: gif

Domain: google.com/pagead/... Status: 302 Type: gif

Domain: google.de/pagead/... Status: 302 Type: gif

like image 233
funkfux Avatar asked Aug 10 '26 08:08

funkfux


1 Answers

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

Inits download of gtag core library from https://www.googletagmanager.com/gtag/js?id=AW-XYZ

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

Init gtag's tracker.

Next, you track conversion:

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

JavaScript for conversions is downloaded:

https://www.google.com/pagead/conversion_async.js

It makes first tracking request.

This goes into https://www.google.com/**pagead/1p-conversion**/XYZ/

Cookie is dropped:

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

Then Doubleclick (in this case a DMP platform) is contacted.

https://googleads.g.doubleclick.net/**pagead/viewthroughconversion**/XYZ/

It also contains small JavaScript that makes doubleclick request.

(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 this request was in my case unsuccessfull HTTP2 handshake request. With http2_handshake_failed base64 encoded information.

Then you are requesting global Google user list:

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

And local user list:

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

User lists

Documentation

UserList object is a list of users an account may target.

And pixel request setting test_cookie checking your privacy options.

This cookies represent your 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

If you are interested more in Google's cookies, follow this link https://www.gresearch.co.uk/cookie-policy/

like image 146
Jakub Kriz Avatar answered Aug 12 '26 21:08

Jakub Kriz



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!