> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GA4 Property Health, Google Analytics 4

> Composite, ingestion freshness × key-event-config × GTM container status. One number, three things merchants miss. How to read it, why it matters, and how...

**Metrics type:** [Key Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Analytics](/nerve-centre/connectors#connectors-by-type)

> Composite, ingestion freshness × key-event-config × GTM container status. One number, three things merchants miss.

## At a glance

> A composite health score for the GA4 property: data-stream freshness, Key-Event configuration, and GTM tag-fire rate (vs commerce-sibling order count). Three silent failure modes that most analytics teams don't notice for days. **The card is green only when all three are healthy.**

|                               |                                                                                                                                                                                                                                                                                                                                                                     |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it measures**          | A 0, 100% composite of three sub-scores: (1) **Data-stream freshness** (when did GA4 last receive an event from your tag?), (2) **Key-Event config** (is `purchase` marked as a Key Event in GA4 Admin? Are non-spam events excluded?), (3) **GTM tag-fire rate** (purchase events fired into GA4 ÷ orders in commerce sibling, expected ratio 0.75, 0.90 healthy). |
| **Sample basis**              | Real-time. The freshness sub-score reads the last-event timestamp from the GA4 Admin API. The Key-Event sub-score reads the property's event configuration. The tag-fire sub-score compares the last-1h GA4 `purchase` count against Shopify/BC/Adobe order count for the same window.                                                                              |
| **Sampling threshold**        | Not applicable. This is a configuration check, not a metric query. No sampling possible.                                                                                                                                                                                                                                                                            |
| **Bot traffic filter**        | Not applicable. The signal is the configuration state, not traffic counts.                                                                                                                                                                                                                                                                                          |
| **Time zone**                 | The GA4 property's configured timezone, NOT UTC. Freshness checks use the property zone.                                                                                                                                                                                                                                                                            |
| **Currency (revenue events)** | Not applicable, this is a meta-metric about the property's measurement health, not a revenue figure.                                                                                                                                                                                                                                                                |
| **Tracking-gap framing**      | The tag-fire sub-score *measures* the tracking gap directly. A healthy property sits at 0.75, 0.90 (i.e. GA4 captures 75, 90% of commerce-platform orders); a property below 0.50 has a serious tag-fire problem. **This is the canary that warns you BEFORE revenue cards diverge.**                                                                               |
| **Time window**               | `RT` (real-time, refreshed every 15 minutes)                                                                                                                                                                                                                                                                                                                        |
| **Alert trigger**             | `<90% (any of: data-stream stale, key-events misconfigured, tag-fire failing)`. Property Health going amber/red is a *configuration* alert, not a *performance* alert; it means GA4 is misreporting, not that traffic dropped.                                                                                                                                      |
| **Roles**                     | owner, marketing, engineering                                                                                                                                                                                                                                                                                                                                       |

## Calculation

Calculated automatically from your Google Analytics 4 data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

## Worked example

A US specialty-foods brand on BigCommerce with GA4 connected. Property Health snapshot taken on 28 Apr 26 at 14:05 (property timezone US/Eastern).

| Sub-score                     | Status          | Reading                                                                                                                                       |
| ----------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **Data-stream freshness**     | Healthy (100%)  | Last event received 38 seconds ago. Threshold: amber if >15min, red if >1h.                                                                   |
| **Key-Event config**          | Healthy (100%)  | `purchase` is marked as Key Event. `view_item`, `add_to_cart`, `begin_checkout` all firing as standard events (not duplicated as Key Events). |
| **GTM tag-fire rate**         | **Amber (62%)** | GA4 fired 23 `purchase` events in the last 1h; BigCommerce recorded 37 orders in the same window. Ratio: 0.62. Expected band: 0.75, 0.90.     |
| **Composite Property Health** | **Amber (74%)** | Weighted: 0.4 × freshness + 0.3 × key-events + 0.3 × tag-fire.                                                                                |

Three numbered observations:

1. **The tag-fire sub-score is the canary.** Freshness and Key-Event config are *binary* (either configured right or not); they go red and stay red. The tag-fire sub-score is *graduated*, it tells you, in real time, what fraction of orders GA4 is missing. This brand is missing 38% of orders this hour, well outside the normal 10, 25% structural gap. Something has changed.
2. **Tag-fire dropping mid-day is the classic regression signal.** The most common causes, in order of frequency: (a) a theme update broke the GA4 e-commerce snippet, (b) a new consent banner started defaulting to Reject (especially in EU/UK), (c) the GTM container was published with the wrong workspace, (d) a Cloudflare or CDN caching change began serving a stale version of the GTM snippet. **All four are diagnosable within 30 minutes of being flagged.**
3. **The fix changes the metric in real time.** Once the engineering team republishes the corrected GTM container, the next 15-minute window's tag-fire ratio jumps back to 0.82 and Property Health returns to green. Unlike commerce-platform metrics, this card responds to fixes within minutes, that's why we render it real-time, not period-averaged.
4. **What WOULD trip "stale data-stream"?** If the freshness sub-score went red at the same time as tag-fire, the property is actively offline (GA4 measurement ID changed, GTM container deleted, or DNS routing change). That's a "site is down or analytics is fully detached" signal.
5. **What WOULD trip "Key-Event misconfigured"?** The most common case: someone in GA4 Admin → Events un-toggled `purchase` from Key Event status. This silently zeroes out conversion-rate cards while traffic stays healthy. Property Health catches this within one polling cycle.

**Rule of thumb.** If Property Health is green, you can trust GA4's other cards (within the structural tracking gap). If it's amber or red, the *first* action is to read this card's breakdown, not to investigate a "revenue drop" that may not be real.

## Sibling cards merchants should reference together

| Card                                                                                      | Why pair it with GA4 Property Health                                                                                                                            |
| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GA4 GTM Tag Fire](/nerve-centre/kpi-cards/google-analytics/gtm-tag-fire-rate)            | The detailed view of the tag-fire sub-score: per-hour purchase-event count vs commerce-sibling order count.                                                     |
| [GA4 Tracking Gap vs Commerce](/nerve-centre/google_analytics/ga_tracking_gap)            | The trended view: a stable gap = healthy; a widening gap = property issue. Property Health detects the inflection in real-time; this card shows the trajectory. |
| [GA4 Bot Traffic Share](/nerve-centre/kpi-cards/google-analytics/bot-traffic-share)       | The other measurement-health canary. Bot waves can briefly tank Property Health by inflating sessions without conversions.                                      |
| [GA4 Sampling Threshold](/nerve-centre/kpi-cards/google-analytics/sampling-threshold-hit) | Companion data-quality card. Sampling triggers on cardinality/range; Property Health triggers on configuration.                                                 |
| [GA4 Revenue Trend](/nerve-centre/kpi-cards/google-analytics/revenue-trend)               | The downstream metric most affected by Property Health. A revenue drop while Property Health is amber = measurement issue, not real.                            |
| [GA4 Conversion Rate](/nerve-centre/kpi-cards/google-analytics/ecommerce-conversion-rate) | Same shape: GA4 CR drops when Property Health drops. CR drops are interpretable only when Property Health is green.                                             |
| [Shopify / BC / Adobe Total Revenue](/nerve-centre/kpi-cards/shopify/total-revenue)       | The truth side that the tag-fire sub-score is calibrated against.                                                                                               |

## Reconciling against the vendor's own dashboard

**Where to look in GA4:**

GA4 doesn't expose a single "Property Health" dashboard, the score is a Vortex IQ composite. The three sub-signals come from different parts of GA4 Admin:

> **Admin → Property Settings → Property Details** for property timezone, reporting currency, and creation date.
> **Admin → Data Streams → (your web stream) → Configure tag settings** for the GTM container link and last-event timestamp.
> **Admin → Events** for the Key Event configuration of `purchase`, `add_to_cart`, etc.
> **[Realtime](https://analytics.google.com/) → Conversions** for live confirmation that purchase events are arriving (the freshness signal).

Other GA4 views that *look* like Property Health but aren't:

* **Realtime overview**: shows live activeUsers but doesn't surface tag-fire ratio against your commerce platform, GA4 has no concept of your Shopify/BC/Adobe sibling, so it can't measure the gap.
* **Reports → Tech → Tech overview**: shows browser/device/OS distribution; useful for ad-blocker incidence inference but not a health signal.
* **DebugView**: requires GA4 debug mode on your test browser; useful for verifying a specific tag fires, but isn't a fleet-wide health view.

**Why our number may legitimately differ from GA4's own self-report (rare):**

| Reason                                                                                                                                                                                                                                   | Direction of divergence |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
| **Polling lag**. We refresh every 15 minutes; the underlying API latencies can add 1, 5 minutes. A regression that happens at 14:00 may not surface in the card until 14:20.                                                             | Brief lag               |
| **Commerce-sibling sync lag**. The tag-fire sub-score compares GA4 against Shopify/BC/Adobe order counts. If the commerce platform's order webhook is itself delayed, the ratio briefly looks worse than it is. Resolves within minutes. | Brief amber state       |
| **Fresh GA4 properties**. Properties under 24h old may not have a baseline established for the tag-fire sub-score; the score is calculated but flagged as low-confidence.                                                                | First 24h after install |

**Cross-connector reconciliation, the IMPORTANT one:**

| Card                                                                                   | Expected relationship                                                                             | What causes the divergence                                                                                                         |
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| [`shopify.total_revenue`](/nerve-centre/kpi-cards/shopify/total-revenue)               | The tag-fire sub-score IS the GA4 ÷ Shopify order ratio for the last 1h. Healthy band 0.75, 0.90. | A drop below 0.50 = active tag regression. A spike above 1.0 = duplicate-firing tag (each order counted twice in GA4) or bot wave. |
| [`bigcommerce.total_revenue`](/nerve-centre/kpi-cards/bigcommerce/total-revenue)       | Same: GA4 purchase events ÷ BC orders, healthy 0.75, 0.90.                                        | Same shape. BC's `Incomplete` orders aren't in either side.                                                                        |
| [`adobe_commerce.total_revenue`](/nerve-centre/kpi-cards/adobe-commerce/total-revenue) | Same: GA4 purchase events ÷ Adobe orders in `processing`/`complete`, healthy 0.75, 0.90.          | Same shape.                                                                                                                        |

**Property Health is a Vortex IQ-only metric.** GA4 doesn't compute or display it; the value is a synthesis of three GA4 signals + one cross-connector signal that no single GA4 view exposes. **This is one of the highest-leverage cards on the Nerve Centre**: it catches measurement regressions hours-to-days before they would otherwise be noticed via revenue/CR cards.

## Known limitations / merchant FAQs

**Why is my GA4 Property Health amber? I haven't changed anything.**
That's exactly when this card earns its place. The most common silent regressions: (1) a Shopify theme auto-update that swapped your custom GA4 snippet for a vanilla one, (2) a consent-banner version bump (CookieYes, OneTrust, Cookiebot) that started defaulting to Reject, (3) a third-party app you installed for an unrelated reason injected its own GTM container that conflicts with yours, (4) Google rotated a measurement-protection signature that older client-side tags don't yet recognise. **You haven't changed anything; something else changed that broke your tag, and this is the only Vortex IQ card that detects it before revenue cards diverge.**

**What's the difference between this card and "GA4 GTM Tag Fire"?**
This card is the **composite score** (freshness + key-event-config + tag-fire). [GA4 GTM Tag Fire](/nerve-centre/kpi-cards/google-analytics/gtm-tag-fire-rate) is the **detail view** of just the tag-fire sub-score: hourly purchase events vs commerce-sibling orders. Use Property Health to detect; use GTM Tag Fire to triage.

**Property Health is showing red but my Shopify/BC dashboard is normal. What's happening?**
That's the expected pattern. Property Health is a *measurement* health score, not a *site* health score. Red means "GA4 is misreporting reality"; the commerce platform is unaffected. Your revenue is fine; what's broken is your ability to see *which channels* drove that revenue. **Triage in this order:** (1) is the GTM container published in Google Tag Manager? (2) is the `purchase` event firing on the order-confirmation page? (3) is `purchase` still marked as a Key Event in GA4 Admin → Events? (4) has your consent banner default flipped?

**My GA4 has just been freshly installed. Why is Property Health amber?**
Properties under 24h old don't have a stable baseline for the tag-fire ratio yet. Vortex IQ flags freshly-installed properties as low-confidence amber for the first day; the score stabilises once 24h of paired GA4-events-vs-commerce-orders data is collected. After 24h, if it's still amber, something genuinely is misconfigured.

**Does Property Health get worse over time?**
Not naturally; properties trend stable when nothing changes. Property Health degrades when *something else changes*: theme auto-updates, banner version bumps, browser ITP updates, GTM workspace publishes by another team. **The card is a regression-detector, not a slow-bleed-detector.** A slow-bleeding tracking gap (ad-blocker version creep, gradual consent-rejection rise) is captured by [GA4 Tracking Gap vs Commerce](/nerve-centre/google_analytics/ga_tracking_gap), not here.

**Property Health says my Key Events are misconfigured but I never changed anything in GA4 Admin.**
Two known causes: (1) GA4 silently dropped Key-Event status when migrating your property from Universal-Analytics-imported configurations to native GA4 in late 2024 (the rename event); some merchants who never re-confirmed lost the toggle. (2) Adding a new event-stream and not propagating Key-Event status to it. Go to Admin → Events, find `purchase`, and confirm the "Mark as key event" toggle is on for ALL active data streams.

**Does the tag-fire sub-score include B2B / wholesale / draft orders?**
No. The numerator is GA4 `purchase` events (which only fire on the storefront). The denominator is commerce-platform orders that *originated from the storefront* (Shopify Online Store channel, BC web channel, Adobe Commerce frontend). B2B portal orders, draft orders, and POS sales are excluded from both sides so the ratio remains apples-to-apples.

**Why does Property Health score drop briefly during high-traffic moments (sales, drops, viral spikes)?**
GA4's per-property rate limits are 50 req/60s and 1250 req/3600s. During a viral traffic spike where 1,000 orders happen in 5 minutes, GA4 may briefly throttle the data-stream ingest or batch events, which makes the freshness sub-score wobble. This is a known pattern; the score self-heals once traffic normalises (typically within 15 min). If it persists past an hour, escalate.

**Is Property Health a Google-supported metric?**
No. It's a Vortex IQ composite that synthesises three GA4 signals + one cross-connector ratio that GA4 itself doesn't expose. Google won't have anything like it in their UI; the closest GA4-native equivalent is browsing Admin → Data Streams → Tag Settings and Admin → Events manually, on every visit. This card replaces that manual ritual with a single number.

***

### Tracked live in Vortex IQ Nerve Centre

*GA4 Property Health* is one of hundreds of KPI pulses Vortex IQ tracks across Google Analytics 4 and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
