Question from Reddit:
Hi everyone, I have three questions that I would greatly appreciate some clarification on.
- I’ve had problems with tracking add to cart and begin checkout with GA4 so I will use Google Shopping App which is integrated into Shopify instead. A friend of mine told me to do custom goals instead of making Google Shopping App Add to Cart and Google Shopping App Begin Checkout primary but I don’t know if it is better then just making the GA4 secondary and the Google Shopping App conversions primary.
- I’ve created a custom goal that includes all three actions: Google Shopping App Add to Cart, Google Shopping App Begin Checkout, and Google Shopping App Purchase. Just to confirm, is it better to create three separate custom goals for each action (Google Shopping App Add to Cart, Google Shopping App Begin Checkout, and Google Shopping App Purchase), or would it be more effective to combine all three into a single custom goal? Is there a difference?
- Also, I noticed that the Add to Cart and Begin Checkout data seems to not be updated anymore. Does this happen because I don’t have an active campaign?
Thank you in advance for your help! I appreciate any insights!
Answer from Nabil:
The short answer is:
You should not combine all three actions into a single custom goal in Google Ads, as this completely undermines your ability to optimize your campaigns for the most valuable actions and accurately diagnose funnel drop-offs.
It is always better to create three separate Google Ads conversion actions for Add to Cart
, Begin Checkout
, and Purchase
, making only the Purchase
conversion Primary and the others Secondary.
The most likely reason your Add to Cart
and Begin Checkout
data is not updating is because you do not have an active campaign, as these are non-purchase events that the Google Shopping App conversion method will only track if they are initiated by an ad click associated with an active campaign.
The ultimate solution for reliable, accurate, and independent tracking is to move away from relying solely on the Google Shopping App integration and instead implement a server-side tracking solution using the Shopify API and the Google Ads API.
The long answer is:
The advice your friend gave you about using custom goals is partially correct in that it offers flexibility, but combining all three actions into one goal is a critical mistake.
Google Ads uses conversion actions to determine campaign performance and to feed its smart bidding algorithms.
By combining Add to Cart
, Begin Checkout
, and Purchase
into a single goal, you are telling Google that all three actions are equally valuable, which is not true.
A single purchase is far more valuable than a cart add.
You need three separate conversion actions, each set up to track its corresponding event (Add to Cart
, Begin Checkout
, and Purchase
).
The Purchase
conversion action should be set to Primary because this is the revenue-generating action you want your campaigns to optimize for.
The Add to Cart
and Begin Checkout
conversion actions should be set to Secondary.
Keeping them separate and Secondary allows you to view these as funnel metrics in your Google Ads reports to diagnose performance and drop-offs, without allowing them to be counted as conversions that directly influence bidding.
Regarding the lack of recent data, you’ve hit on a common dependency issue with integrations like the Google Shopping App.
Conversions tracked this way often rely on an active ad campaign click to correctly attribute and send the data back to Google Ads.
Since Add to Cart
and Begin Checkout
are high-volume, mid-funnel events, the integration likely is not tracking and reporting them unless they are part of a user’s journey that originated from a live Google ad.
The data is simply not being sent because there are no active ads to attribute the actions to.
To fix all these issues and ensure complete, reliable, and campaign-independent tracking, an API-driven, server-side solution is highly recommended.
This involves utilizing the Shopify API to get real-time purchase and funnel data directly from your store’s backend.
This data, including the necessary client ID or gclid which you captured on the landing page using Google Tag Manager and stored in a first-party cookie, is sent to a server-side container hosted on a platform like Stape or Google Cloud Platform.
The server container then uses the Google Ads API to send the conversion data back to Google Ads, guaranteeing that all three events (Add to Cart
, Begin Checkout
, and Purchase
) are tracked accurately, even if client-side tracking is blocked or delayed.
Simultaneously, the Google Analytics Data API is used to ensure your GA4 property also receives a clean, accurate, first-party data stream for session and user-level analysis.
This setup ensures your tracking is robust, independent of active campaigns for data collection purposes, and gives you the clean, separate conversion actions required for optimal bidding.