A complete guide: Pixel Health
Pixel Health is a single dashboard inside TagFly that tells you, at a glance, whether your tracking setup is healthy. It monitors pixel delivery, event coverage, and data quality across all the channels you have connected — so you no longer need to open each pixel separately to find out if something is wrong.
What you will learn
In this article, we will explore the following sections:
- What is Pixel Health?
- Quick Summary Card
- Three Score Cards
- Trend Chart
- Activity Breakdown Chart
- Channel Health Card
- Issue Card
- Coverage Detail
- Frequently asked questions
What is Pixel Health?
When you run ads on Facebook, TikTok, Google Ads, Bing, Pinterest, Snapchat, Klaviyo, and more, every channel relies on event tracking to optimize your campaigns. If those events break, your ad performance breaks with them — and the issue often goes unnoticed for days.
Pixel Health solves that by combining four signals into one page:
- Setup — is your tracking foundation configured correctly?
- Delivery — are events actually reaching your channels?
- Data Quality — are events arriving with all the parameters channels need to optimize ads?
- Activity — is your store generating a healthy volume of events compared to your baseline?
Each signal becomes a score on a 0–100 scale, with a clear status label at the top of the page that summarizes everything for you.
Quick Summary card

At the very top of the Pixel Health page, the Quick Summary card gives you the headline status of your entire tracking setup. It contains three lines:
- Status badge — a colored label that tells you whether things are healthy, need attention, or have critical issues.
- Active alerts count — the number of Critical and Warning issues currently open. (Info alerts are excluded.)
- Data freshness — when the dashboard was last updated.
Status badge
Pixel Health evaluates five possible statuses in order. The first match wins, so even if more than one rule could apply, only one label is shown:
Badge | Description | What it means and what to do |
|---|---|---|
Setup in progress | Finish connecting your channels to unlock health monitoring. | Your store has not recorded a single tracking event in the last 90 days. Finish connecting your channels to unlock health monitoring. |
Issues detected | Critical issues detected — review below. | You have at least one Critical alert, or your lowest score has dropped below 60. Open the Issues card below to review what needs fixing first. |
Needs attention | Some scores or warnings need your attention. | ou have at least one Warning alert, or your lowest score is between 60 and 79. Things are still flowing but there are scores or warnings that deserve a look. |
Healthy · Low activity | Plumbing is fine; business activity is quiet. | All three plumbing scores are fine (≥80) and there are no alerts, but your store is generating fewer events than your usual baseline. The setup is healthy — your traffic is just quiet. |
Healthy | Your pixel plumbing looks good. | Everything is working as expected. Your pixel plumbing looks good and your activity is at a normal level. |
Three Score Cards

Below the Quick Summary, three cards show your core scores. Each card displays a number from 0 to 100 and, when relevant, a colored severity badge:
Score range | Badge |
|---|---|
80 – 100 | No badge — the score is healthy. |
60 – 79 | Warning badge (yellow) — you should investigate when you have time. |
Below 60 | Critical badge (red) — fix this as soon as possible. |
Setup Score
The Setup Score tells you whether your tracking foundation is in place. It is built from three checks, weighted as follows:
- App Foundation (30%) — main tracking is enabled and the App Embed is installed in your theme.
- Channel Setup (50%) — at least one valid channel is connected and at least one channel is tracking the Purchase event.
- Onboarding (20%) — you have completed the GTM step and the destination step in onboarding.
A score of 100 means all three areas are complete. Setup Score does not depend on any time window — it is always calculated from your current configuration.
When Setup is low: The most common gaps are: App Embed not enabled, no destination connected, or no channel tracking the Purchase event.Delivery Score
The Delivery Score measures how many of your tracking events actually reached the channels they were sent to. It is calculated over the last 7 days:
Delivery = (successful events) ÷ (successful + failed events) × 100
Events skipped because of consent (for example, when a visitor declines cookies) are not counted as failures — they are simply excluded from the calculation. The Delivery Score is null when your store has not produced any events in the last 7 days.
Data Quality Score
Data Quality measures how complete and accurate the parameters of your events are. For example, are your Purchase events being sent with the correct currency, user data, and product IDs that each channel expects to optimize ads?
Each channel has its own Parameter Quality score. Pixel Health combines them into a single number, giving more weight to channels with higher event volume. The score is calculated over the last 7 days and is null when there are no events.
The Trend Chart

The Trend chart plots all three scores — Setup, Delivery, and Data Quality — on the same timeline. Use the toggle in the top right of the card to switch between 7 days, 30 days, and 90 days
A flat line at the top is what you want to see. A sudden dip on a specific day is usually a sign that something changed — for example, a token expired or a channel was disconnected. Hover over a point to see the exact value of each score on that day.
Activity breakdown Chart

Below the Trend chart, the Activity Breakdown stacked chart shows you how three sub-metrics combine into today's Activity total. The Activity total is graded as:
- High — Activity ≥ 75
- Moderate — Activity between 50 and 74
- Low — Activity below 50
Metric | Weight | What it measures |
|---|---|---|
Coverage | 40 pts | The share of (channel × event) pairs you have configured that actually fired in the last 7 days, counted only across the 5 core events shown in the Coverage detail table (Page View, View Content, Add to Cart, Initiate Checkout, Purchase). |
Freshness | 30 pts | The share of valid channels that recorded at least one event in the last 24 hours. Even a single event in that window counts the channel as fresh. |
Volume | 30 pts | Your event volume this week compared with the median of the previous four weeks. Capped at 1.0 so a busy promo week cannot inflate the score. |
Channel Health Card

The Channel Health card lists every channel you have connected, with its delivery rate over the last 7 days and a trend indicator comparing the current 7 days to the previous 7 days.
Delivery rate per channel
This is the same idea as the overall Delivery Score, but calculated for one channel at a time:
Delivery rate = (successful events) ÷ (successful + failed events)
The result is shown as a percentage. For example, 970 successful events out of 1,000 total → 97%. A channel that is far behind the others is the first place to look when your overall Delivery Score drops.
Trend % per channel
The trend percentage compares this channel's delivery rate over the current 7 days to its delivery rate over the previous 7 days:
Trend = delivery rate (last 7 days) − delivery rate (7 days before that)
- Positive (↗ ) — the channel is improving compared to last week.
- Negative (↘) — the channel is getting worse and deserves a closer look.
- Around 0% — no meaningful change, shown in grey.
Issue Card

The Issues card lists every alert Pixel Health has detected in the last 7 days. Each alert tells you which channel is affected and includes a short recommendation. Issues are organized by severity:
- Critical (red dot) — fix immediately. These directly hurt delivery or ad optimization.
- Warning (yellow dot) — review when you can. These do not break tracking but indicate degradation.
- Info (grey dot) — informational. Useful context but not counted in the active alert total.
Coverage Detail

The Coverage Detail matrix is a grid that shows you exactly which events are firing on which channels. Channels are listed in rows; standard events (Page View, View Content, Add to Cart, Initiate Checkout, Purchase) are columns. Each cell uses one of three states:
Cell appearance | State | What it means |
|---|---|---|
N/d | Tracked | The channel is configured to send this event. The number shows the average number of successful events per day over the last 7 days (e.g. "15/d"). |
— | Not supported | The channel does not support this event server-side. Nothing to do — this is expected behaviour. |
✘ | Supported but not tracked | The channel supports this event but it has not fired in the last 7 days. |
Volume tier (color depth)
Tracked cells are also color-shaded so that high-volume events stand out at a glance. The cell with the highest "events per day" sets the maximum, and every other tracked cell is compared to it:
- High (≥67% of max) — darkest green.
- Medium (≥34% of max) — medium green.
- Low (<34% of max) — lightest green.
For example, if your highest-volume cell is Facebook Page View at 73/d, any cell ≥49/d will appear darkest, cells between 25/d and 48/d will be medium green, and the rest will be light green. Cells showing 0/d appear in the lightest shade since they carry no volume.
Frequently asked questions
- Why is my Delivery Score "—" instead of a number?
A score is shown as "—" (null) when your store has not produced any events in the relevant time window. This is normal for brand-new stores. The score will appear as soon as the first events are tracked.
- My Setup Score is 100 but my Delivery Score is low. What's happening?
A high Setup Score only means your foundation is configured. Delivery measures whether events are actually being accepted by the channels. The most common cause is a channel specific issue: an expired token, an invalid pixel ID, or a permission change in the ad account. Go to the Server-side event report to check the errors.
- I just fixed an issue — when will the score update?
Scores are updated daily, not real-time. The "Data freshness" line in the Quick Summary card shows you the timestamp of the latest snapshot.
- What is the difference between a "skipped" event and a "failed" event?
A skipped event is one that was intentionally not sent — usually because the visitor did not give consent. Skipped events are excluded from the Delivery Score so that consent decisions do not penalize your tracking health. A failed event is one that was sent but rejected by the channel, and it does lower the Delivery Score.
- What's the difference between 0/d and ✘?
Both signal "almost no activity", but they mean different things:
- 0/d: the pair is supported and tracked. However, the event fired 1–3 times in the last 7 days, so the daily average rounds to 0. There is data, just very little of it.
- ✘: the pair is supported but not tracked. The event hasn't fired at all in the last 7 days.
Need help?
If you run into any issues or want help designing a segmentation strategy for your store, reach out to the TagFly support team via the in-app chat — we're happy to walk through it with you.
Updated on: 29/05/2026
Thank you!