Try for free

[Stape Webinar] Google Ads Conversion Tracking for Shopify - Advanced Server-Side Setup

Jul 3, 2024
Jun 12, 2024

Stape hosted a webinar on Google Ads conversion tracking for Shopify! Join us as we walk you through the setup process and unveil industry best practices. 

By the end of this webinar, you'll be equipped with the skills to set up Google Ads conversion tracking for your Shopify store. Plus, you'll learn how to leverage server-side tagging to ensure accurate data tracking, bypass ad blockers, tackle third-cookie limitations, and enhance your marketing performance.

For Whom: Shopify store owners, digital marketers, freelancers, and agencies familiar with client-side tracking and curious how to boost Google Ads performance with server-side tracking. 

Speaker: Dan Murov, Data Tracking/Measurement Lead at

Webinar agenda

  • Introduction to server-side and Google Ads conversion tracking.
  • Server GTM, Stape Shopify App, Custom Domain setup for accurate tracking.
  • Integration of Google Ads and server GTM.
  • GA4 server-side setup for data-driven decisions.
  • Test and debug process, common Issues, and solutions.
  • Additional Stape power-ups to boost your ads performance.
  • Q&A session.

What you get

  • Live step-by-step demonstration of Google Ads сonversion tracking setup.
  • Q&A session to address your specific questions. 
  • Webinar recording and detailed guides to enhance your Shopify store performance with Stape.
  • Expert insights and strategies to leverage server-side tagging for enhanced data tracking accuracy and security, bypass ad blockers, adapt to third-cookie limitations and boost your marketing performance.

Common questions and answers

1. If data collection is blocked in the browser, will the server-side functionality be affected?

If you will use Stape custom loader.

Requests are very unlikely to be blocked.

Our Shopify app sends a webhook to the server GTM on a Purchase event, which cannot be blocked at all.

2. Is it possible to send purchase events from a webhook to the Facebook Conversion API, Google Ads Tracking and Google Analytics 4 by restoring cookies, user IDs, and session IDs from the Stape store? If so, how can this be achieved?

This topic is quite extensive, so we'll consider running another webinar to cover these questions, as there is no simple and quick answer. However, it is generally possible. Please take a look at these articles: and

When you insert the code snippet from the app into the custom pixel, you should select ‘not required’ for the consent section. This might help. The snippet itself does not set any cookies or send any data to third parties; you still control it in the GTM. The snippet only generates the dataLayer, so consent permission is not required.

4. If we install the GTM through the plugin on Shopify, will it be able to catch all the data layer sent in the sandbox through customer events?

Yes, you can add your own code for DataLayer. Push own events.

5. How does Google Ads conversions work? Do they deduplicate between web/server or can you only run them on one? What if I have both set up, which one is preferred in this case?

There is no deduplication for Google Ads conversion tracking; you can only report from either the client side or the server container. However, you can report to two different conversion actions. In our experience, if the transaction_id is sent from both the web and the server, Google Ads will deduplicate them. Please refer to this link: We include transaction_id in both, and monitor the number of events, which never doubles. However, for conversions without a unique identifier like order ID, they will be duplicated. Generally, it is not recommended to report from both web and server to the same conversion action.

6. I'm using a Checkout Extensibility for thank you page. Does this option apply to all Shopify Plans or only for Shopify Plus?

This feature should be available on all plans. Because Shopify is going to make thank_you page extensibility mandatory by 2025.

Yes, when configuring the settings in the custom pixel for inserting a code snippet that generates a dataLayer, you should set it to 'not required'. The snippet itself doesn't set any cookies or send data to third parties; you still have control over it in GTM.

Yes. For sure.

9. How do you know if you’re using a “Checkout Extensibility for thank you page” and need to enable a custom pixel?

It depends on how your thank_you page is configured in the checkout section. Some people still use good old order status page script box, but some people already switched to checkout extensibility.

10. Can we use data tag and data client for Google Ads server-side? Or we must use GA4 as the client?

Native Google Ads server-side tag works only based on GA4 requests. It’s impossible to use data tag/data client for the native Google Ads tag. But you can use data tag/data client for Google Ads offline conversion tracking:

11. If we have two different domains tracked by the same GA4, should I use different data stream for each domain?

Not mandatory. You may use one data stream for both domains, just make sure to configure cross domain in your settings.

12. For our clients’ accounts I don’t see anything referencing ‘extensibility’ - I do see “customizations” in “Configurations”. Is this the same?

Yes, it's in the configurations section at the top of the Checkout settings.

13. Can default Page View trigger be used instead of custom?

Yes. But we add our own because of feedback from customers, as the default one does not always work for some clients.

14. What is the best solution when Google Ads tag shows 'still running'. Does it show whether Google Ads data passes to Google Ads?

If you see this inside server GTM. Then that’s totally fine.

Sometimes debugger just freezes for some reason.

15. If the dataLayer is formated correctly can we just check send ecommerce data in the tags client side or it is better practice to create variables for the parameters being sent?

You can use automatic dataLayer parsing, but if you want to have a bit more control you can create separate variables (and it’s just easier to debug sometimes in this way). Generally, if you are sure that your dataLayer structure is correct - you may use automatic parsing.

16. If my client runs an e-commerce business, should 'add to cart' be used as a primary or secondary action?

Primary or secondary means whether this conversion action will be used for observation or optimization purposes. So it’s up to you to decide how to use it.

17. Why don’t you use a Google Tag also for Google Ads inside the client side?

Because there's already a Conversion Linker, it does the same thing.

18. How can we check if enhanced conversion is being fired correctly on server-side? I know on client-side, we check for the em parameter.

You may check the event data tab in the server containert preview - you should see your user data there. It will be parsed by the Google tags automatically. You may also check an outgoing hit that is sent from the sGTM and you should see user data there as well, but you should expect it to be hashed already.

19. Do you know of a client side tag template that allows you to send events to the server?

You can use a Stape Data tag/Data client. Data tag was created to send data to sGTM and Data client retrieves this data in server GTM. The cool feature of the Data tag is that it can send all data layer information from the web to server GTM, plus a few more features.

20. Does it work for begin checkout, add shipping and payment too?

The idea behind tracking begin_checkout, add payment and add shipping events is absolutely identical.

21. If conversion linker/ google tag is fired on the actual page, will the sandbox still be able to give them the data?

Sandbox is an isolated environment, so you should push the data from the iframe to the top frame for the actual page to have access to it.

22. How do you send new_customer data?

There is an endpoint to retrieve new_customer info from the web pixel API, but we’ve observed some bugs with it, hopefully Shopify will fix it soon.

23. Will enhanced conversion error show on Add to cart conversion in google ads when new users just add to cart without loging in?

Yes, there will be an error if you do not send any user data with this event. So if you want to have as clean dashboard as possible - enable enhanced conversions only for events where you always have user data, like purchase, lead etc.

24. The user data that will be sent from client to server is without sha256?

It is without. But you can use Stape Data Tag. It can sha256 data before sending to server GTM. Please look here:

25. When I enter the web pixel sandbox shopify in my console the datalayer command doesnt work. Does anyone know what might cause that?

You need to select the correct frame in the browser console. You should look for the one with the name “custom pixel” in it. There will be few ones, but one of them will have the datalayer for the custom pixel.

26. What about Google Ads remarketing tags?

The process for them is almost identical to Google Ads.

So you can follow the same steps.

27. We don’t need to create the new Google Ads User Data tag on server-side?

Yes, correctly. Server-side Google Ads tags will inherit information from the user data variable you’ve created in web GTM.

28. With the sandbox, the page url has this weird /@sandbox-pixel/ things attached to the GA4 page_url. Is it still the case with this setup? And does the sandbox track the source/medium?

Yes, that’s correct. Web pixel API has an enpoint to obtain the real URLs that you see in your browser. And as long as you have correct UTMs - GA4 should read them and attribute properly.

29. Could you let me know about new Enhanced Conversions Tags in Client and sGTM? Is it something new regarding Google Ads for enhanced conversions?

If we understand your question correctly - the tag you are talking about is used to track offline conversions as part of the enhanced conversions for leads functionality.

30. Would you recommend not using GTM as a subdomain to avoid ad blockers?

As far as we know ad Blockers do not check this. It’s the same or for adBlockers.

Cookie Keeper will restore the cookies that were deleted by Sarari ITP for example, using master cookie. Cookie extender will set the cookie from the server, so it’s more persistent than JS set one.

32. I have a question about the enhanced conversions. Sharing the user data directly in the Datalayer is GDPR compliant? Don't it need to be hashed?

User data is hashed when sent to Google. Data Layer is an on-site object and is not subject to regulations directly.

33. So basically you dont add manually any snippet in the page code. The Stape app does it?

You do need to add a snippet to 'customer events' section of Shopify, as the app suggests. Other than that - no additional action is needed.

Host your GTM server at Staperight now!