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

Tag:google-ads-api, google-analytics, javascript

3 comments.

  1. Jakub Kriz
    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/

    1. funkfux

      thank you! can you elaborate a little bit about the purpose of those requests? why is doubleclick contacted in case of a simple GoogleAds conversion, what about those different "user lists" and why is Google checking my privacy options here?

    2. Jakub Kriz

      @funkfux Hi, Doubleclick is Google's network providing most of services for ad business. It runs multiple products such as Doubleclick, AdWords, Demographic reports in Analytics, etc... User Lists are list of targetable users and Privacy options are related to Ad Settings. I add both into the reply.

Add a new comment.