Fix Shopify Google Ads Conversion Tracking Not Working

If you have shopify google ads conversion tracking not working, you are losing data. Here is exactly how to find the broken tag and fix it yourself.

Eptekhar Hasan11 min read
Illustration for Fix Shopify Google Ads Conversion Tracking Not Working

You are looking at your dashboard and seeing clicks but no sales, because you have shopify google ads conversion tracking not working. Your campaigns cannot optimise without accurate purchase data. The issue is usually a legacy script that Shopify sunset, duplicate tags fighting each other, or a consent banner blocking the data. Here is how to fix it.

When shopify google ads conversion tracking not working happens, it stops Google from knowing which keywords actually make money. You do not need to rewrite your ads. You need to audit your checkout events. Start by finding out exactly why the tag is failing.

Check if the tag fires on your checkout page

Do not guess what is broken. You need to see the exact code firing on your live store. Run your URL through this Google Ads conversion tracking checker to see a plain list of every Google tag currently loading on your site. If the checker finds no conversion tags, your tracking is completely disconnected. If it finds multiple tags for the same event, you have duplicate tracking.

You can also check this manually using your browser. Open your website in a new window. Right click anywhere on the page and select Inspect. This opens the developer tools panel. Click on the Network tab. Type google into the filter box. Refresh the page. You will see a list of network requests. If you do not see any requests sent to Google, your base tag is missing. You must fix the foundation before you can track a purchase.

Remove legacy scripts from your checkout settings

Shopify moved to a new architecture called Checkout Extensibility. As part of this update, they sunset the old way of tracking purchases. If you set up your tracking years ago, you probably pasted a code snippet into the additional scripts box in your checkout settings. That box no longer works.

Any script left in your checkout files or the additional scripts section will silently stop firing. Google Ads will report zero conversions, even though the code is still sitting there in your settings.

How to check this in under a minute:

  1. Open your Shopify admin panel.
  2. Go to Settings and click on Checkout.
  3. Scroll down to the Order status page section.
  4. Look for the Additional scripts box.

If you see a Google Ads snippet starting with gtag or aw in that box, delete it. That code is dead. You must replace it with a modern Customer Event pixel or the official app. Leaving the dead code in place will only cause confusion later.

Fix duplicate tracking in Customer Events

Sometimes your tracking is not missing. It is firing twice. This happens when you install the official Google app, but you also leave manual code inside your theme files. Google receives two purchase events for one single order. It ruins your return on ad spend metrics because the platform thinks you made twice as much money as you actually did.

How to check this in under a minute:

  1. Open Shopify Settings.
  2. Click on Customer events.
  3. Look at the list of installed pixels.

You should only have one system sending data to Google Ads. If you see the official Google channel and a custom pixel both labelled for Google Ads, you have a conflict. Turn the custom one off. Click into the custom pixel and change its status from Connected to Disconnected.

Next, check your theme code. Go to Online Store. Click the three dots next to your active theme. Select Edit code. Search the theme files for the header section. Look for a file named theme dot liquid. Open it and search for gtag. If you are using the official app, you do not need manual tags in your theme header. Delete the manual snippet to stop the conflict. Click save and exit the code editor. Wait ten minutes, then run a new test order to confirm the duplicate tag is gone.

If you sell to customers in the UK or the EU, you need a consent banner. If you set up a banner but did not configure Google Consent Mode v2, your tracking will break. The banner will block the Google Ads tag from firing even if the customer clicks accept.

How to check this in under a minute: Open your website in an incognito window. Right click and select Inspect to open the developer tools. Click the Network tab. Accept your cookie banner. Search the network requests for google. If no hits appear, your banner is blocking the tracking script entirely.

To fix this, you must integrate your consent app with Google Consent Mode. Apps like Pandectes or OneTrust have a specific toggle for this in their settings. Open your consent app dashboard. Look for the Google Consent Mode integration. Turn it on. This allows Google to read the consent state and fire the tags legally. If your banner app does not support Consent Mode v2, you need to replace the app immediately.

Audit your post purchase upsell apps

Standard Shopify tracking fires on the order status page. If you use an app that changes the checkout flow, the customer might never reach that page.

Post purchase upsell apps show a special offer right after the payment clears. If the customer closes the window on the upsell page, they never see the final thank you page. The standard conversion tag never loads, and the purchase is lost to Google Ads.

How to check this in under a minute: Place a test order on your own store. Watch the URL after you pay. If you land on an app URL instead of the default Shopify order status page, your tracking is broken by design.

To fix this, you must add your Google Ads tag directly into the settings of your upsell app. Most premium upsell apps have a dedicated tracking section for this exact reason. Open the app settings. Find the tracking or analytics tab. Paste your Google Ads conversion ID and conversion label into the provided fields. The app will then fire the tag when the initial payment clears, regardless of what the customer does on the upsell page.

Check for outdated analytics scripts

Google updated their tracking architecture. They replaced the old analytics script with a new global site tag. The old script was called analytics dot js. The new script is called gtag dot js.

If your store still runs the old script, your conversion tracking will fail. Google Ads no longer supports the old format for new conversion actions.

How to check this in under a minute:

  1. Open your website.
  2. Right click and select Inspect.
  3. Click on the Elements tab.
  4. Press Control and F to open the search bar.
  5. Type analytics into the search bar.

If you find this script in your code, your tracking is obsolete. You must remove the old code from your theme files. You then need to install the modern global site tag using the official integration.

Set up the official Google app

Once you clear the broken code, you need a clean installation. The most reliable method for standard setups is the official Google and YouTube app.

Go to the Shopify App Store and install the Google and YouTube channel. Connect your Google account. Connect your Google Ads account. The app will automatically deploy the correct global site tag across your store. It uses the Web Pixels API to track the checkout without relying on the old liquid files.

According to the official Shopify Community documentation, this app handles the new checkout configurations automatically. It ensures your purchase event fires at the exact right moment on the order status page. It also handles the product data formatting required for dynamic remarketing.

Configure Enhanced Conversions

Basic tracking is no longer enough. Browsers are restricting third party cookies. Google Ads needs extra data to match a purchase to an ad click. This is called Enhanced Conversions. It sends hashed customer data like email addresses and phone numbers along with the purchase event.

If you have shopify google ads conversion tracking not working, missing Enhanced Conversions might be the root cause of your data loss.

To fix this, open your Google Ads account. Click on Goals, then Conversions, then Summary. Click on your primary purchase conversion action. Scroll down to the Enhanced Conversions section. Turn it on. Select the global site tag method.

Then, return to Shopify. If you use the official Google app, Enhanced Conversions is built in. You just need to ensure your store policies allow for sharing hashed customer data. If you use a custom pixel in Customer Events, you must write a script to capture the customer email from the checkout object, hash it using SHA-256, and push it to the data layer. This requires a developer. Do not attempt to write hashing algorithms yourself.

Check your primary conversion settings

Sometimes the tag fires perfectly, but Google Ads ignores the data. This happens when your conversion action is configured incorrectly in the Google Ads dashboard.

Google Ads separates conversion actions into primary and secondary categories. Primary actions are used for bidding. The algorithm optimises your campaigns to get more of these actions. Secondary actions are for observation only. They show up in the reporting columns, but the algorithm ignores them.

If your purchase event is set to secondary, your campaigns will not optimise for sales.

How to check this in under a minute:

  1. Open Google Ads.
  2. Click on Goals, then Conversions, then Summary.
  3. Look at your active purchase conversion.
  4. Check the Action optimisation column.

It must say Primary. If it says Secondary, click on the conversion name. Click Edit settings. Change the optimisation action to Primary. Save the changes. Your campaigns will immediately start using the purchase data to find better customers.

Fix data layer issues in custom themes

You might use a headless Shopify setup or a highly customised theme. If so, the official Google app might fail to read your product data. The app relies on standard Shopify liquid objects to build the data layer.

The data layer is a hidden list of variables on your website. It holds the transaction value, the order ID, and the product SKUs. The Google Ads tag reads this list to understand what the customer bought.

If your developer removed the standard liquid objects, the data layer will be empty. The tag will fire, but it will send a zero value to Google Ads.

How to check this in under a minute: Open your website in an incognito window. Right click and select Inspect. Click on the Console tab. Type dataLayer and press enter. Click the small arrow next to the array that appears. You should see a list of events. Look for an event called purchase or checkout. Click into it. You must see your product details and the total price.

If the data layer is empty or missing, you need a developer to rebuild it. They must write custom JavaScript to scrape the checkout data and push it into the data layer array in the exact format Google requires. Do not try to write this code yourself. A single missing comma will break the entire tracking setup.

Verify the new tags with Google Tag Assistant

Do not assume the fix worked. Prove it. You need to simulate a purchase and watch the data leave your store.

Go to Google Tag Assistant and enter your store URL. Connect the debugger. Your store will open in a new window with a debugging parameter in the URL. Add a low value test product to your cart. Fill in your shipping details. Complete the checkout process using a real credit card. You can refund yourself immediately after the test.

Return to the original Tag Assistant window. Look at the summary screen on the left side. You will see a list of every action you took on the site. Click on the purchase event. You must see your Google Ads conversion ID in the tags fired section. Click the tag to open the details panel. Check the values sent to Google. The transaction ID must match your Shopify order number. The order value must match your test order total.

Next, check the URL of the order status page. Look at the address bar in your browser. Look for any breaking URL encoded characters. If the URL contains malformed parameters, it can stop the script from reading the page location. If the numbers match and the URL is clean, your tracking is fixed. It will take up to 24 hours for the test conversion to appear in your Google Ads dashboard.

Move to server side tracking for total accuracy

Browser tracking will always miss some data. Ad blockers stop scripts from loading. Safari deletes tracking cookies after a few days. Network errors interrupt the connection before the tag fires.

If you spend heavily on Google Ads, missing ten percent of your conversions is an expensive problem. You can fix this by moving the tracking off the browser entirely.

Server side tracking sends the purchase data directly from your Shopify server to the Google server. Ad blockers cannot see it. Browsers cannot block it. It captures every single order. If you want to stop fighting browser limits, look into building a server side tracking system. It requires a developer to set up a Google Cloud server and configure the data layer. It provides perfect data accuracy.

You can read more about the architecture and the costs involved in our guide on server side tracking cost. If you need this built for your store, you can contact us to map out the deployment. Accurate data is the only way to scale an advertising campaign. Fix your tracking first, then scale your budget.

Keep reading

All guides