Retargeting audiences are only as good as the events behind them
A retargeting audience is a list of people who did something on your site. Viewed a product. Started the checkout. Reached the payment step and left.
The ad platform does not check whether the list is right. It spends against whatever it is given. If the event that builds the list fires at the wrong moment, you are paying to show ads to people who are not who you think they are.
I built this for a retail checkout funnel: web events for the actions people took in the checkout, sent to Meta and Google, and retargeting audiences made from them. That work is written up in this case study. In this kind of work the events take most of the effort. The audiences are quick once the events can be trusted.
One event for each step
Write the funnel down as a list of steps before touching a tag. For a typical online store: product viewed, added to cart, checkout started, shipping details entered, payment details entered, purchase completed.
GA4 has a recommended event for each of these: view_item, add_to_cart, begin_checkout, add_shipping_info, add_payment_info and purchase. Meta has its own names for the same steps, such as ViewContent, AddToCart, InitiateCheckout, AddPaymentInfo and Purchase. Use the standard names. The platforms recognize them, and so will whoever works on the account after you.
Each step needs one definition of when it happened. Checkout started means the checkout page loaded with items in it, not that someone clicked a cart icon. Payment details entered means the step was completed, not that a field was clicked. Decide it once and write it in the tracking plan.
One trigger, every platform
The mistake that causes the most trouble later is building each platform's tag separately.
One person sets up the Meta tag to fire on a button click. Six months later someone else sets up the Google Ads tag to fire on a page load. Now the two platforms hold different lists of people for what is supposed to be the same step, and the campaign results cannot be compared.
Have the site announce each step once, as a single event in the data layer. In Google Tag Manager, the GA4 tag, the Meta tag and the Google Ads tag for that step all fire from that one event. Change the definition of the step later and all three move together.
Build the audiences from what did not happen
The valuable audiences are defined by a step someone reached and a step they did not.
Viewed a product, did not add to cart. The largest list and the least committed.
Started checkout, did not purchase. Fewer people, with much clearer intent.
Entered payment details, did not purchase. The smallest list. Something stopped them at the last step.
Every one of these depends on the second half of its definition. If the purchase event misses some purchases, people who bought stay on the abandoned checkout list and keep seeing ads for the thing they already own. Customers notice, and it is the most visible symptom of a broken purchase tag.
Exclude buyers from every audience meant for people who have not bought. Then check that the purchase event behind that exclusion fires for every kind of order, including the ones paid through a wallet or on a third-party payment page. Those are the orders most likely to skip the confirmation page where the tag lives.
Windows and size
Each audience needs a membership window, the number of days a person stays on the list after the event. Match it to how long people take to decide. Someone who left a checkout is worth reaching this week. A month later, much less so.
The platforms set upper limits. GA4 lets a person stay in an audience for up to 540 days, and Meta sets its own limits. The limit is rarely the right answer.
Size works against precision. A list of people who reached the payment step in the last three days may be too small for the platform to serve ads to at all. When that happens, widen the window or merge two steps. A precise audience that never serves is worth less than a slightly broader one that does.
An audience also needs time to fill. Build the audiences before the campaign that needs them, not during launch week.
Rules about who can be on a list
Audiences are subject to consent and to each platform's policies.
Where visitors are asked for consent to advertising, only the ones who gave it should be added to an audience. That is handled in the tags, by making the ad platform tags wait for the consent signal.
Some subjects are restricted outright. Google treats health as a sensitive category and does not allow your own remarketing lists to be used for it. Meta restricts the events that sites in some categories, health and financial services among them, are allowed to send. If the site is in a regulated category, read the platform policy before designing the funnel events, because the answer may be that a step cannot be used.
Check the lists after launch
After a week, compare the audience sizes with the funnel counts in GA4 for the same period. They will not match exactly, because a platform can only add the people it is able to identify. They should be in proportion. If the checkout audience is larger than the product view audience, an event is firing where it should not.
Then leave the definitions alone. An audience whose rules change every month cannot be compared with itself. When the funnel on the site changes, update the event, test it, and note the date.
The audience is the last step. Get each event to mean one thing, fire it once, and send that same event to every platform. A list built that way is one you can spend against.
If your audiences were built by whoever set up the pixel and nobody has checked them since, building them from tested events is part of the website tracking work. See website tracking →
Related reading
Why GA4, Google Ads and Meta never agree on conversions
The platforms count by different rules. Which gaps are rules, which are mistakes, and which number to use for which decision.
What a GA4 and Google Tag Manager audit actually checks
What a tag audit covers, in order: the inventory, the events, the conversions, the traffic sources and what leaves the site.
When GA4 reports stop being enough
The GA4 limits that push reporting into a warehouse: retention, thresholds, sampling and quotas. What the BigQuery export fixes and what it does not.
The real reason your dashboard doesn't get used
A dashboard gets abandoned the first time someone finds a wrong number on it. What rebuilds the trust, and what does not.
Case study
An online store found the page where shoppers left
Checkout funnel tracking, and the retargeting audiences built from it.