How to Track New vs. Existing Customer Conversions in Google Ads?

Question from Reddit user:

We would like to be able to answer the following question

Are the purchase conversions we are recording (using Shopify and Google Tag Manager) from new or existing customers?

Does anyone know a way to do this?

I see alot of articles on importing conversion data (https://support.google.com/google-ads/answer/7014069?hl=en) but haven’t figured anything out yet.

I was hoping we could somehow import our Shopify data into Google Ads and sync the data and there would be a way to use the gclid value as a primary key between the two data sets.

One of our engineers suggested the following but not sure its the best approach:

1) We will implement GTM Traffic Source Library (https://github.com/marketlytics/trafficSourceTracker.js)
2) We will implement custom dimensions in Google Analytics to pass Traffic information of the user.
3) We will implement UTM’s in every marketing platform including Google Ads so we can use the traffic parameters of google ads
4) We will create reports where we will have transaction and revenue by first_touch_traffic_source, first_touch_traffic_medium, first_touch_traffic_campaign, first_touch_traffic_content, & first_touch_traffic_keyword.

Thanks in advance!

Answer from Nabil:

The short answer is:

How do I configure Google Ads to differentiate conversions from new versus existing customers?

The most direct and robust way to differentiate between new and existing customer conversions in Google Ads is by using an enhanced conversion tracking feature called “New Customer Acquisition” and passing a specific parameter with your purchase conversion event.

Since you are using Shopify and GTM, the best solution involves using the Shopify API to check the customer’s purchase history and then dynamically passing a value like new_customer=true or new_customer=false alongside your standard purchase event to Google Ads.

This is best achieved by combining the Shopify API, Google Ads API, and a server-side tagging environment like Stape or Google Cloud Platform to reliably determine and attribute the customer type.

The long answer is:

Your goal of distinguishing between new and existing customers for Google Ads conversions is excellent for optimizing bidding strategies and measuring true growth, and your engineer’s suggestion points in the right direction for Google Analytics, but for Google Ads specifically, you need to use a dedicated Google Ads feature.

The approach involves enriching your existing conversion data with a parameter that tells Google Ads whether the purchaser is new to your business.

Since you’re on Shopify, the most reliable workflow is one that uses server-side logic: First, you must capture and persist the unique Google Click ID (gclid) from the user’s landing page using Google Tag Manager and store it in a first-party cookie or local storage.

When the user completes a purchase on Shopify, the Shopify API is key.

You would use the Shopify API to perform a real-time check against your customer records.

If the customer’s email address or unique ID has only one order (the current one), they are flagged as new.

Next, you send the purchase data, including the customer’s status (new or existing) and the persisted gclid, to a server-side tagging environment hosted on Stape or Google Cloud Platform.

The server container receives this data and constructs a compliant conversion payload.

For Google Ads, you must pass the new_customer parameter with the value true or false as part of the conversion event, along with a customer_lifetime_value if available, and the original $$gclid$$ for proper attribution.

This method is superior to purely client-side tracking because the server-side logic is guaranteed to run without interference from ad-blockers or browser restrictions, and the Shopify API provides the definitive source of truth regarding the customer’s purchase history.

Finally, while your engineer suggested using UTMs and custom dimensions for Google Analytics, this method is primarily for analyzing first-touch attribution within GA.

The server-side method directly uses the Google Ads API to send the enriched conversion event into your Google Ads account, ensuring the new customer status is available in your Google Ads conversion reports for bidding and optimization, which is your core goal.

This integration provides a robust, future-proof solution for granular conversion tracking.

About The Author