Google Ads Conversions Third-Party Domain

Hey Everyone,

I’m setting up a museum client with server-side tracking and am encountering a cross-domain attribution issue with Google Ads conversions.

Example Setup (Doesn’t Include Client Name, But Mine Is Identical To This)

GA4 events flow to sGTM from both domains successfully, and the GA4 tag passes the necessary parameters to enable cross-domain tracking and persist the session. I solved this problem with the Meta click identifier using the Stape Store feature as a temporary storage spot when the user goes from clientdomain.org > 1234.blackbaudhosting.org to buy tickets.

What’s working:

  • GA4 events flow to sGTM from both domains successfully
  • Google Ads conversions on clientdomain.org fire with a proper gclaw parameter containing the GCLID

The problem: On clientdomain.org pages, Google Ads conversions show:

  • ✓ Outgoing HTTP Requests from Server (includes gclaw)
  • ✓ Outgoing HTTP Requests from Browser (hybrid behavior)

Conversely, on Blackbaud pages, Google Ads conversions show:

  • No server-side request at all
  • ✓ Only Outgoing HTTP Requests from Browser (missing gclaw)

Questions:

  1. Are there no Outgoing HTTP Requests from Server for Google Ads conversions through Blackbaud because it’s a third-party domain?
  2. I know about the multi-domain tagging containers feature, but we cannot verify ownership of the Blackbaud subdomain. Are there alternative approaches?

Any guidance on getting Google Ads conversions to fire server-side on cross-domain platforms with the GCLID would be greatly appreciated!

Thank you!!

Hi,

Most likely, the requests are not being sent from the server on the 1234.blackbaudhosting.org domain because the gclid is not available there when the user initially lands on clientdomain.org. Server requests are triggered only when a gclid is present.

What you can do in this case is append and pass the gclid in the URL that leads to your third-party domain, then make sure it`s captured with the Conversion Linker on the web or server side (possibility of the server side in your case majorly depends on the domains configured, as the cookies will not be first party unless server is a domain/subdomain of the website that sends the request, however the web tracking should be still possible). The Conversion Linker parses the URL for the “gclid” parameter and sets the gcl_aw / FPGCLAW cookies.

This ensures the gclid is stored under the corresponding domain, avoiding domain isolation limitations. The rest depends on your Google Ads configuration, just be aware that the gclid used for one account may not be accepted by another.

Thanks, @oleksii.care.stape! This is what I originally thought, too. I confirmed that outbound links include the encoded GCLID in the _gl parameter, and that Conversion Linker successfully sets a corresponding _gcl_aw cookie scoped to .blackbaudhosting.com upon landing.

However, the _gcl_aw cookie value is not included in the ‘Cookie’ request header sent from the browser to my server container (sst.clientdomain.org) when events fire on 1234.blackbaudhosting.com.

The cookie IS included in the request headers when events fire from clientdomain.org, but not from Blackbaud—presumably because the server container domain is a third-party context to Blackbaud.

This may be why Google Ads conversions only fire server-side on clientdomain.org but fall back to browser-only on Blackbaud. The server container can’t access the _gcl_aw cookie due to cross-domain restrictions.

Can the GCLID value be passed to the server container through the conversion event payload with a Stape Store solution (similar to what I’m doing for Meta’s _fbc)? I couldn’t find any documentation in Google Ads for such.

@sparkcreativecle
Unfortunately server-side will not be possible if the server container is not configured to share the first party context with the website that is supposed to send requests.

The server Google Ads conversions utilize server-set “FPG” cookies (FPGCLAW is set by server Conversion Linker if the gclid parameter is sent in the url) instead of relying on gcl_aw set by web Conversion Linker.

A server can only set cookies for its own domain or a parent domain, not an unrelated, separate one due to security restrictions.

The GA4 cross-domain feature operates in the web context and that`s why this case is a bit different.

The only alternative will be configuring offline Google Ads conversions, and sending webhooks with all the event data (including raw gclid value) from the website backend to the server container (if that`s possible in your case). You can establish the Google Ads connection under your Stape account. All the guidance on this approach can be found here: Google Ads offline conversion tracking using server GTM - Stape

This is exactly what I needed, @oleksii.care.stape. Thank you!