Enter a URL. TagZ opens it in a real browser, finds every tracking tool on the page, and checks what actually fires — then shows you what is healthy and what needs attention.
In plain English
Tracking is your website sending messages. We check they arrive intact.
1.A visitor does something
They open a page, look at a product, add it to the cart, buy it.
someone buys a $128 pair of shoes
2.Your site sends a message
To each tool you use — analytics, and every ad platform you pay — saying what just happened.
purchase · value 128 · currency USD
3.Your tools act on it
Reports are built from those messages, and ad platforms use them to decide who sees your ads next.
revenue reported · ads optimised
An example
A shop’s “purchase” message goes out twice on every order.
The site works. The orders are real. But the ad platform is told there were twice as many sales, so every campaign looks twice as profitable as it is — and the budget follows the numbers. Nothing on the site shows it, and no report flags it. It shows up in a scan as one line: sent more than once, with both requests as proof.
From a URL to an answer in about twenty seconds
Step 1
Enter a URL
Any public page. No login, no snippet, no access to your ad accounts.
Step 2
A real browser opens it
Real Chrome, loading the page the way a visitor’s browser does.
Step 3
We detect the tracking
Every analytics, advertising and tag-manager tool we recognise.
Step 4
We verify what fires
Which events actually left the browser, what they carried, and when.
Step 5
You get a health report
What is healthy, what needs attention, and what to do about it.
Installed is not the same as working
Most checkers read your page’s source and look for the code. But a pixel can be on the page and never fire, fire twice, fire without the purchase value, or fire before your visitor has agreed to it.
So we do not trust the markup. A tool only ever counts as working because we watched a request leave the browser — and every status comes with the evidence behind it.
Working
We watched it send data, and nothing about that data looked wrong.
Firing with warnings
It sends data, but something recommended is missing.
Misconfigured
It tries to send data and something required is wrong — a missing currency, a script that will not load.
Duplicated
The same event went out more than once for one page view, so it is being counted twice.
Installed, nothing sent
The code is on the page and it sent nothing. Nothing on the site shows it.
Waiting for consent
It is waiting behind a cookie banner we could not answer. Not broken — not verified.
Unable to verify
We could not watch the page well enough to say. We tell you that instead of guessing.
Not detected
No sign of it on this page. That is not a problem unless you expected it.
20 platforms, each checked on the network
For every one we know the script that loads it, the request it sends, where its account ID lives, and which of its events mean “page view” or “purchase”. Where a platform’s data is not readable from outside, we say so rather than pretend.
Tag managers
GTMGoogle Tag Manager
ATAdobe Tags (Launch)
TqTealium iQ
Analytics
GA4Google Analytics 4
AAAdobe Analytics
MxMixpanel
AmAmplitude
HpHeap
Advertising
AdsGoogle Ads
MMeta Pixel
TTTikTok Pixel
inLinkedIn Insight Tag
UETMicrosoft Advertising (UET)
PPinterest Tag
SnSnapchat Pixel
RReddit Pixel
XX (Twitter) Pixel
Customer data
SgSegment
Session & heatmaps
ClMicrosoft Clarity
HjHotjar
One finding, two ways to read it
The person who needs to know there is a problem and the person who has to fix it are rarely the same person. Every report switches between the two with one click.
Marketing view
What is wrong, how serious it is, and why it matters.
Serious
Snapchat Pixel is installed but sent nothing
Ads on this platform are running without the signal they optimise on. Audiences stop growing and conversions stop being attributed, while the site looks perfectly normal.
Developer view
The same finding, with proof and a concrete fix.
Evidence
Pixel ID: 5f0c2a7e-91d4-4c3b-8a6e-2b7d9e41c305
Found on page: inline snaptr('init','5f0c2a7e-91d4-4c3b-8a6e-2b7d9e41c305')
Found on page: window.snaptr present at runtime
Requests to its measurement endpoint while we watched: 0
Cookie banner accepted at 9.5s — still nothing sent afterwards.
Suggested fix
Open the page with the browser's network panel filtered to the platform's endpoint and confirm nothing is sent. Then check, in order: the tag's trigger (does it fire on this page?), a JavaScript error earlier on the page stopping the snippet, and whether that Pixel ID still exists in the platform account.
The scan timeline shows when, not just what
Most tracking problems are timing problems. A tag that fires before your visitor has answered the cookie banner looks identical, in a list, to one that waited.
So we lay the scan out in order: the page opening, each tool sending its data, the banner, the moment we accept it, and what that releases. On the sample opposite, two tools did not wait.
0s · page opened9.5s · consent accepted13.0s · end
Each dot is a tracking request. 2 platforms sent data to the left of the line — before the banner was answered.
Before any consent choice
0.0s
Page opened in a real browser
0.4s
GA4Google Analytics 4 sent page_view
0.4s
TTTikTok Pixel sent Pageview
Sent before the cookie banner was answered
0.4s
UETMicrosoft Advertising (UET) sent pageLoad
Sent before the cookie banner was answered
A repeat of an event already sent for this page view
1.3s
Simulated a visitor: moved the mouse and scrolled
Safe interactions only. Nothing was clicked, added to a cart or submitted.
4.2s
Cookie banner on screen, unanswered
Pressed “Accept all” on the cookie bannerat 9.5s
After accepting
9.8s
GA4Google Analytics 4 sent page_view, view_item
9.8s
MMeta Pixel sent PageView, ViewContent
9.8s
PPinterest Tag sent pagevisit
9.8s
AdsGoogle Ads sent gtag.config
13.0s
Scan finished
The signal map: which steps reach which platforms
You are paying several platforms to optimise toward the same customer journey. The map shows, in one grid, which of them is actually hearing about each step — and it is honest about the cells a scan cannot fill in. A padlock means “not tested”, never “missing”.
We read this as a product page, which decides which events are expected here.
Funnel events by platform. Each cell says whether the platform received that event during this scan.
Funnel step
GA4GA4
AdsGoogle Ads
MMeta
TTTikTok
UETMicrosoft Ads
PPinterest
SnSnapchat
Page view
Received
Received
Received
Received
Sent more than once
Received
Not tested — needs a click or an order
View category / list
Not expected on this page
Not applicable to this platform
Not applicable to this platform
Not applicable to this platform
Not expected on this page
Not expected on this page
Not tested — needs a click or an order
View product
Received
Not applicable to this platform
Received
Expected on this page, not seen
Expected on this page, not seen
Not applicable to this platform
Not tested — needs a click or an order
Search
Not tested — needs a click or an order
Not applicable to this platform
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Lead
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not applicable to this platform
Sign up
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Add to cart
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Begin checkout
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Add payment info
Not tested — needs a click or an order
Not applicable to this platform
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Purchase
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Not tested — needs a click or an order
Received
Received with problems
Sent more than once
Expected on this page, not seen
Not tested — needs a click or an order
Not expected on this page
What a scan from outside cannot see
We would rather tell you where the edges are than have you find them. A false “broken” costs you an afternoon and costs us your trust.
A purchase needs a real order
We do not place orders on other people’s stores, so purchase and payment events are marked “not tested” — never “missing”. Scan your thank-you page’s URL directly, or check those events in the platform itself.
We see requests leave, not arrive
We can prove a tag sent its data and what was in it. We cannot prove the platform accepted it. A tag pointed at a deleted account still looks like it is firing from outside.
Another company’s server is invisible
Server-side tracking leaves hints in the browser, and we report those hints as hints. We never say server-side tracking is “verified”.
We arrive as one visitor, from one place
Our browser arrives as a first-time, signed-out visitor from wherever our servers are. A site can show a different cookie banner — or none — to visitors in another country, and behave differently for a logged-in customer. We say so wherever it matters.
The scan is free. Monitoring is for the day it breaks.
Tracking rarely breaks loudly. A deploy, a plugin update or a consent-tool change takes a pixel down, the site looks fine, and the ads keep spending. Monitoring re-scans your pages every six hours — accepting the cookie banner each time, so consent-gated tags are checked too — and emails you when one of ten platforms that was working stops.
Only alerts on a tracker we have already seen working on your site
Re-checks fifteen minutes later before sending anything
One email when it stops, one when it comes back
Monitoring
$9.95a month for one site
$28.95 for 5 sites · $78.95 for 25. Every plan gets every check. Cancel in one click.
Checks what each event carries (value, currency, IDs)
Yes
No
Shows what fires before and after the cookie banner
Yes
No
Marketing view and Developer view, with evidence
Yes
No
Accepts the cookie banner to verify consent-gated tags
Yes
Yes
Re-checks automatically every six hours
No
Yes
Emails you when a tracker that was working stops
No
Yes
Confirms a failure 15 minutes later before alerting
No
Yes
Keeps a history for each site
No
Yes
Monitoring covers ten platforms: Google Analytics, Tag Manager, Google Ads, Meta, TikTok, LinkedIn, Microsoft Advertising, Pinterest, Snapchat and Reddit. It alerts when one of them goes silent or is removed — it does not email about payload or consent-timing problems, which the free scan reports. The scan reads all 20 platforms and is free to run whenever you want the full picture. Exactly what monitoring does and does not do.
Questions, answered plainly
Will scanning my site show up in my analytics or ad reports?
No. We let your tags fire, record each request as evidence, and then answer the request ourselves before it leaves the browser. The tag believes it succeeded; nothing reaches Google, Meta or anyone else. That also means a scan can never record a phantom conversion.
Do I need to install anything or connect an ad account?
No. There is no snippet, no tag-manager change and no account connection. We load your public page the way a visitor’s browser does. All we need is the address — which is also why you can scan a client’s or a prospect’s site.
What do you do about cookie banners?
We watch the page first without touching the banner, so you can see what is sent before a visitor has chosen. Then we press the banner’s own “accept” button and watch again, so you can see what consent releases. If we cannot find an accept button we are sure about, we do not press anything, and tags behind the banner are marked “waiting for consent” rather than broken.
Is the consent check legal advice?
No. It is a technical reading of timing: which tags sent data before the banner was answered, and which waited. What your organisation is required to do depends on where your visitors are and on advice we are not qualified to give.
How is this different from a browser extension that lists my tags?
A tag list tells you what is installed. We check what happened: whether each tag actually sent anything, what the event carried, whether it went out twice, and whether it went out before the visitor agreed. Installed and working are different things, and the gap between them is where ad budgets leak.
What does monitoring add?
The free scan is one page at one moment. Monitoring re-scans your pages every six hours and emails you when a tracker that was working stops — after re-checking fifteen minutes later, so a blip never wakes you up. It covers ten platforms: Google Analytics, Tag Manager, Google Ads, Meta, TikTok, LinkedIn, Microsoft Advertising, Pinterest, Snapchat and Reddit. It alerts on silence, not on payload problems; for those, run the scan again. From $9.95 a month.
Find out what your tracking is actually doing
One address, about twenty seconds, in a real browser.