18 October 2026 · 9 min read

GA4 Audiences: Why Your Remarketing Lists Stay Empty

An audience in GA4 shows 8,400 users. The same audience inside Google Ads shows 210, or nothing at all. The product link says Completed, the tag fires, nobody changed a setting. The instinct is to open a ticket about a broken sync. Sync is rarely the problem.

An audience is a membership, not a report. GA4 evaluates users against your conditions, adds them when they qualify and removes them when they stop qualifying. That membership then passes through three more filters before it becomes a list an ad can be served from: your property settings, the receiving platform's own eligibility rules, and consent. Any one of those can take the number to zero without an error message anywhere.

What membership actually means

An audience accumulates users from the moment it is created. It does not look backwards through your history. Google's documentation is explicit that after creation a new audience can take 24 to 48 hours to start collecting, and that a user who satisfies the criteria can take a day or two to appear.

There is one exception, and it exists only for advertising. When you enable Google Ads remarketing, Analytics backfills the exported list with members added in the previous 30 days. That backfill does not appear in your GA4 reports. So the same audience can look empty in Analytics while Google Ads quietly holds 30 days of members, or look healthy in Analytics while Ads holds almost nothing. Both are working as designed, which is the annoying part.

Three surfaces report three different numbers. The management table counts membership from the audience creation date. Explorations reflect the full lifetime of the property. The builder summary is a 30-day estimate of who would qualify, not a count of who has qualified. The Audiences report under Reports, then User, then User attributes, counts users who were active during your selected date range rather than the total membership. Pick the surface that answers your question before comparing anything to Ads.

Where to build one, and what you cannot change later

Audiences live under Admin, then Data display, then Audiences. You need the Marketer role or above at property level. A standard property holds up to 100 audiences, a 360 property up to 400, and each condition has a 500 character limit.

The important limit is not a number. Once an audience is saved, you can edit only its name and description. Conditions, scope, evaluation style, exclusions and membership duration are frozen. To change any of them you duplicate the audience, edit the copy and start a new membership from zero. Archiving is permanent and cannot be undone, and the archived name stays blocked for up to 48 hours.

That rule explains a lot of stale lists. A definition saved as a test keeps accruing membership against the wrong conditions, and the only repair is to start again. Design it on paper first, then save once.

Scope is where audiences quietly go wrong

Every condition group carries a scope: across all sessions, within the same session, or within the same event. The setting changes what the audience means, and the name almost never records which one was chosen.

Take a simple B2B case. Include users who viewed the pricing page and submitted a form. Set to across all sessions, the audience catches anyone who read pricing in March and enquired in June. Set to within the same session, it catches only people who did both in one visit. One is a research audience, the other is a same-day intent audience. Both are legitimate. They are not interchangeable, and nobody will remember which one you built six months later.

The same applies to dimensions and metrics. Dimensions support static and dynamic evaluation. Select At any point and the condition is satisfied if it was ever true. Leave it unselected and evaluation is dynamic, so a user who no longer meets the condition is removed. Metric conditions lean on this harder. Sessions greater than three is only meaningful while it stays true, so users who drift below the threshold drop out, which reads as a list that stopped growing.

Sequences and exclusions

Sequences let you demand order. Each step is indirectly followed by the next, meaning any time later, or directly followed by it, meaning immediately after. A time constraint covers the whole sequence, so a 30 minute window on a two step checkout sequence is a testable definition rather than a vague intention.

Exclusions run after inclusions. GA4 evaluates include conditions first, then applies excludes, and a user who meets an exclude condition is not added. Temporary exclusion applies only while the condition is true. Permanent exclusion applies if the user ever met it.

This ordering matters more than it looks. A common pattern is a cart abandonment audience that includes add_to_cart and permanently excludes purchase. Get it the other way round, or forget the exclusion entirely, and you build a list of recent customers and advertise the thing they already bought. There is no warning for that, because the definition is valid. It is simply aimed at the wrong people.

Membership duration decides whether the list survives your sales cycle

The window can run to 540 days from the last qualifying activity. Most builds leave it at the 30 day default, which suits a fast ecommerce decision and quietly ruins a considered purchase. A six month B2B cycle measured over 30 days produces a list that empties faster than it fills, and the team concludes that remarketing does not work for their sector.

Reset on new activity restarts the clock every time a user qualifies again. Enabling it caps the effective duration at 14 months, which is a retention consequence rather than a marketing one. Choose the duration from the sales cycle, then leave it alone.

Why Google Ads shows a smaller number

Google Ads does not keep one list size. It keeps separate sizes for Search, YouTube, Gmail and Display and Video 360, and each reflects who is eligible to be served an ad there. The Search figure only counts users who have actively used Google Search in the preceding 30 days, no matter when they joined your audience. A modest list can therefore look nearly empty on Search and healthy on Display.

Consent removes more. If a user opts out of ads personalization at Google account level, at operating system level, through Apple's App Tracking Transparency prompt, or through your consent banner declining ad storage, they stay in your GA4 reports but are excluded from every exported audience list. Analytics uses a client ID. Advertising needs a matching cookie or identifier, and that overlap is partial by design.

Freshness accounts for the rest. The two systems update on different schedules, so the numbers move for a day or two after any change. That argues for saying which figure your report uses, not for averaging them.

The requirement most builds miss

Google's troubleshooting page for this exact complaint contains one sentence worth reading twice: activating Google Signals is a requirement for all web remarketing and all app remarketing. Not a preference, not an optimisation. Without it, the audience can look fine inside GA4 and never export usefully.

Then check the link itself. Personalized advertising must be enabled on the Google Ads link. It is on by default when you connect an account, which also means somebody can have turned it off per link while the property level setting still looks correct.

Next, look for data that has been excluded from ads personalization. If an event or a user scoped custom dimension is marked as excluded, any audience built on that data will not be exported. The same applies to regions where ads personalization has been disabled: users there still join the audience in Analytics and never reach the remarketing list.

Audiences that use demographics and interests need the advertising cookie to be set, because that data has to be retrieved about the user. Chrome DevTools will show whether the page calls stats.g.doubleclick.net and whether the expected cookies are attached. If that call is missing, the audience will not populate no matter how the conditions are written.

One final failure is worth knowing because it looks like a bug. Very complex audience definitions can exceed the per-property storage limit for audience definitions. When that happens the save fails, and removing overcomplicated audiences is the documented remedy.

Predictive audiences ask for more data

A predictive audience is an ordinary audience with at least one condition built on a predictive metric. Purchase probability covers users active in the last 28 days and estimates a key event within the next seven. Churn probability covers users active in the last seven days and estimates inactivity in the next seven. Predicted revenue looks 28 days ahead.

The prerequisites are steep. Over a seven day period within the last 28 days, at least 1,000 returning users must have triggered the relevant condition and at least 1,000 must not have, and model quality has to hold. If eligibility lapses, exported predictive audiences stop accumulating, which looks like a sync failure and is not one.

A build order that holds up

Four audiences cover most commercial needs, and they are worth building before you need them because the only backfill is 30 days.

Put the scope and duration in the name. "ENG - cart abandon 30d" survives staff changes. "Retargeting audience 2" does not.

The consent layer, in the UK

The ICO's storage and access guidance is clear that advertising measurement is part of advertising consent, and no advertising purpose falls inside the strictly necessary exception. Analytics storage and ad storage are separate signals for a reason. A visitor can appear in your GA4 reports under granted analytics storage and remain permanently ineligible for remarketing because ad storage was denied.

List size therefore measures how many people consented to advertising, not tracking health. Teams that treat a small list as a fault start loosening consent banners, which turns a measurement annoyance into a compliance problem.

Checks to run before calling it broken

The list is not a mirror of your analytics. It is the intersection of a definition, a platform's eligibility rules and a consent decision, and every one of those can shrink it to nothing. Find which one is doing the shrinking and the argument stops being about GA4.

Audiences Not Filling in Google Ads?

North Digital audits audience definitions, Google Ads link settings and consent signals end to end, then documents which number belongs in which report.

Talk to North Digital