Skip to content
AdPixDocsSearch the docsEnglishOpen console

No data is arriving

The tag is installed and the reports are empty. This page gives you the order to check in — from the fastest signal to the quietest cause — and for each one, the symptom that identifies it and where it gets fixed.

Start with the fastest signal#

Before any other check, generate an event yourself and see whether it lands.

1
Open your site with a hard reload — Ctrl + Shift + R on Windows and Linux, Cmd + Shift + R on macOS.
2
In the console, open Realtime overview from the sidebar.
3
Watch the Active users card for a few seconds; the page refreshes itself.

If you can see yourself there, collection is healthy and your problem is elsewhere — jump to the last section of this page, "Realtime has data but the reports are empty".

If nothing shows up, work down the list below. The order is not arbitrary: each item is more likely than the one after it, and quicker to rule out.

The order to check in#

# Check The symptom that identifies it
1 Is the tag on the published page? The measurement ID is not in the live page's source
2 Is the measurement ID correct? DevTools shows a /collect request answered 200, yet nothing appears anywhere
3 Does the stream domain match where the tag runs? Realtime has data but Test installation still says it is waiting
4 Is consent blocking collection? No /collect request at all, and no __sov_* cookie was created
5 Is your IP excluded? Your colleague is visible, you are not
6 Is the opt-out cookie set? Only your browser, and not in a private window
7 An ad blocker? You appear in a browser with no extensions, not in yours
8 Did you test with a command-line tool? Only curl and headless-browser requests go missing

1. The tag on the published page#

View the source of the live page, not your development environment and not the template file. Open "view page source" in the browser and search for the measurement ID — the value starting with AP-.

Three things that actually happen:

  • A template that got missed. The tag is on the home page and not on the checkout page. The result is complete data for one part of the site and zero for the part that matters most. Open every independent template separately.
  • A server-side or CDN cache. You added the tag and the copy visitors receive is still the old one. Purge the cache and view the source again.
  • The tag near the bottom of the page. This does not stop data, but it loses short visits. The correct place is as high in <head> as possible.

If the tag appears twice, this is not your page — read Page views are counted twice.

Never hand-build the snippet

The console generates the install snippet and stamps the tag version onto it. Take it from Admin → Data streams → your stream → View tag instructions and paste it verbatim. A snippet copied out of an article or off another site almost always has one small difference.

2. The measurement ID#

This is the quietest failure in the whole product. When a measurement ID matches no stream, AdPix does not accept the event and does not report an error either: the response is still a 200 and the event is filed in a quarantine table. Everything looks green in the browser's developer tools and nothing appears in the reports.

So compare it by eye. Check the ID in the page source character by character against the Measurement ID shown for that stream in the console. Three common mistakes:

  • a staging property's ID left on the production site;
  • a stream that was deleted while its ID is still on the page;
  • an ID copied out of an email that brought a stray character — a space or a line break — with it.

3. The stream domain#

Every stream has a registered domain. Events do not carry a stream ID, so AdPix recognises each stream's traffic by its domain.

That produces a confusing state: if the tag runs on a domain that is neither the stream's registered domain nor a subdomain of it, you do see visits in Realtime while Test installation and the 48-hour indicator next to the stream both keep saying no data has arrived.

There are two fixes: correct the stream's domain, or add the second domain under Configure your domains on that stream. The full path is in Cross-domain and subdomain measurement.

5. An excluded IP#

Under Admin → Property details there is a section called Traffic filtering holding the Excluded CIDRs list. The screen's own hint reads: "One CIDR per line, e.g. 203.0.113.0/24. Matching requests are dropped before reporting."

Three things worth knowing before they cost you an hour:

  • This is a drop, not a report filter. A matching request is discarded before anything is stored, so it never shows up in Realtime and cannot be recovered later.
  • A change is not instant. Each property's config is held in the collector's memory and refreshed about once a minute. Wait a minute after editing.
  • Your egress IP is not what you think. On a VPN or an office network, look up your public IP and compare it against the list. One optimistic /16 can exclude half a carrier.

7. An ad blocker#

In direct mode the tracker file and the /collect endpoint sit on an AdPix domain, and blocklists know them. How much you lose depends on your audience, and it is noticeably larger for a technical audience.

The test takes a minute: open the same page in a browser with no extensions at all. If you appear there, that is the cause.

The real fix is Tag Gateway: the tag and the beacon are served from your own subdomain and there is nothing left to match on. How it works is in First-party Tag Gateway.

Tag Gateway has its own configuration to get wrong

Turning Tag Gateway on adds a new reason for data to stop: the proxy itself. If the CNAME record or the proxy token is wrong, requests come back with a 403. Test installation reports that state separately — if the proxy-health signal is red, that is your root cause.

8. Testing with a command-line tool#

If you sent an event with curl or a headless browser to be sure, and there is no trace of it, that is deliberate. The collector inspects the user agent and routes known crawlers and command-line tools — including curl/, wget, python-requests and any user agent containing "headless" — into quarantine, still answering 200.

Test with a real browser.

Realtime has data but the reports are empty#

This is a completely different problem and has nothing to do with the install.

  • The date range. Every report defaults to the last 30 days, and the realtime pages ignore the date picker entirely. If you installed the tag today, switch the range to Today.
  • The property timezone. Days are cut in the property's timezone, not your browser's clock. Near midnight that difference moves a whole day.
  • The wrong property. Check the picker at the top of the page. If you have several properties, opening the wrong one is not a rare mistake.
  • Restricted access. If your role carries a data restriction, some rows are hidden from you. Check with the account owner.

If data is arriving but the numbers disagree with another tool, go to The numbers don't match GA4.

Frequently asked questions#

What is the fastest way to know whether the tag works?

Open your own site with a hard reload and go straight to Realtime overview. Its window is a rolling one and the date picker has no effect on it, so a real event shows up within seconds. If you can see yourself there, collection is healthy and the problem is somewhere else.

I set the wrong measurement ID. Will I see an error?

No, and that is what makes it dangerous. An event with an unknown ID is accepted, answered with a 200 and filed in a quarantine table — no browser error, nothing in the reports. Always compare the ID on the page against the one shown under Data streams.

Why can't I see my own visit in Realtime when a colleague can?

Two common causes. Your office IP is in the property's Excluded CIDRs, or the __sov_x cookie with the value 1 is set in your browser. Either one drops the request before anything is stored, so it never appears in Realtime either.

We run a consent banner. How much data do we lose?

In opt-in mode nothing is sent and no identifier is persisted until the visitor accepts the statistics category — the default is closed, not open. In opt-out mode collection runs until they decline. The exact share depends on your acceptance rate and is visible in the consent log.

Build with the APIUnderstand where revenue comes from.
Was this page helpful?