Skip to content

23 checks · Browser observations

Understand every check.

Find what triggers a check, see an example and follow the next steps. Info in the extension keeps the short explanations available while you inspect a site, including offline.

A warning is evidence to investigate. An info note can describe an intentional setup or suggest a next step. Both cover captured browser requests only; neither proves how Google processed the data.

Orders and values

Purchases, values, currencies and items.

Further reading: Why Google Ads and GA4 Conversions Never Match: Counting Unit and Time Axis; Google Ads Conversion Double Counting on Shopify: Diagnosis with the Webpages Report and the Checkout Token

Repeated purchase signal

Warning
duplicate

The same GA4 event or Ads label sent more than once for one order.

When it appears

For one order, the same GA4 event or the same Ads label sent more than once to one id.

Example

Two purchase requests carry the same transaction id and GA4 measurement id.

What to check

Compare the request sources and transaction id. Check whether two tags send the same purchase to the same destination.

A repeated browser request does not establish how Google processed or deduplicated it.

Back to categories

Different values or currencies

Warning
value-mismatch

Signals of one group carry different values or currencies.

When it appears

The signals of one group, an order or one event on one page, carry different values or currencies.

Example

The same order sends value 100 to GA4 and value 120 to Ads.

What to check

Compare value and currency in each signal of the group. Check the source data and the mapping used by each tag.

Different destinations can intentionally use different definitions of revenue.

Back to categories

Different item details

Info
item-data

Item ids, prices or names differ within one order.

When it appears

For one order, item ids, prices or names differ between signals.

Example

One destination uses a variant id while another uses the parent product id.

What to check

Compare item ids, prices and names for the order. Check whether the tags use the same product identifiers.

Different product catalogs can require different item ids.

Back to categories

Purchase without an order id

Warning
purchase-no-id

A purchase without a transaction id.

When it appears

A GA4 purchase or a labelled Ads purchase conversion without a transaction id.

Example

A GA4 purchase has value and currency but no transaction_id.

What to check

Open the decoded purchase and check the transaction id mapping from the completed order.

The panel cannot see a transaction id added later by a server-side tag.

Back to categories

Purchase total and items disagree

Warning / Info
items-total

Purchase value does not match its items.

When it appears

A GA4 purchase whose value differs from item price times quantity minus discount (warning); info when only a coupon is sent.

Example

Items total 90 while the purchase value is 100.

What to check

Compare the purchase value with item prices, quantities and discounts. Check the treatment of tax and shipping.

The intended revenue definition may explain the difference. A coupon-only observation is informational.

Back to categories

Multiple countries or currencies

Warning
market

More than one country or currency on a page or order.

When it appears

A page or an order with more than one country or currency.

Example

One order carries EUR in one signal and USD in another.

What to check

Compare the country and currency fields across the page or order, including any explicit tag overrides.

Different regional destinations can be intentional.

Back to categories

Sessions and click ids

Session continuity and click id attribution.

Further reading: Session integrity from landing to purchase in BigQuery (in Turkish)

Session or client continuity

Warning / Info
session

The GA4 session or client id breaks, or the site refers to itself.

When it appears

Per GA4 id: the session id changes without a session start, or after a gclid or utm landing while hits keep coming less than 30 minutes apart; the client id changes; a session starts with the site as referrer (warnings). Utm on internal links and campaign fields set in the tag (info).

Example

The client id changes between the product page and checkout.

What to check

Compare cid, sid, _ss and referrer before and after the change. Check campaign fields and internal links.

Only captured requests are compared. A missing earlier hit or a consent change can affect the interpretation.

Back to categories

Click id continuity

Warning / Info
click-id

A landing click id does not reach a later Ads conversion.

When it appears

Across the tab: a gclid, wbraid or gbraid from a page URL missing from a later Ads conversion (warning with ad_storage granted, else info), gclaw holding another click (info), or the Ads first-party id (auid) changing (warning).

Example

A captured landing contains gclid, but a later labelled Ads conversion carries no corresponding click id.

What to check

Compare the landing click id with the later Ads conversion and its consent state. Check URL changes and tag configuration.

The request alone does not establish Ads attribution. Consent and the captured landing evidence matter.

Back to categories

Landing page

Page views, landing URLs and route changes.

Further reading: GA4 Landing Page (not set): A Diagnostic Playbook

Session without a page view

Warning
landing-no-page-view

A session with no page_view so far: Landing page may be (not set).

When it appears

A GA4 session that started in the tab (_ss=1) has sent no page_view so far, so its Landing page may be (not set); a page view sent under another name, such as pageview, is named. The panel does not see server-side events. Skipped when the same page already sent a page_view of that client under another session id and the client was quiet for at least 5 minutes, the shortest session timeout: a session that timed out on an open page.

Example

A widget event starts a session with _ss=1 and no page_view is captured for that session.

What to check

Check the session's event names and page view configuration. Confirm that a page view is sent as page_view, then inspect the landing report.

Landing page may be (not set). A later or server-side page_view may change the result; timeout sessions on the same open route are skipped.

Back to categories

Repeated page view

Warning
page-view-twice

Two page_views for one page in one transition.

When it appears

One GA4 id sends page_views in a row for the same page location within one page transition and within 1.5 s; a batched hit that spans a route change is left out. Possibly two page_view owners, for example the config page_view and Enhanced Measurement history changes. The first one to arrive defines the Landing page.

Example

Two consecutive page_view events carry the same page_location within 1.5 seconds.

What to check

Check whether the config tag and history tracking both send a page_view during the same transition.

Possibly two page_view owners. Request timing is an approximation; ambiguous batches spanning a route change are skipped.

Back to categories

Landing campaign parameters missing

Warning
landing-url-lost

The first page_view lost the utm or click id of the landing URL.

When it appears

The page loaded with utm, gclid, wbraid or gbraid in its URL and the first GA4 page_view of an id on it carries an event page_location without them: the URL changed (for example by replaceState) before the tag ran, an attribution risk. _gl is left out, gtag removes it itself.

Example

The load URL contains utm_source, but the first page_view page_location does not.

What to check

Compare the load URL with the first page_view page_location. Check URL cleanup and page_location overrides before the tag runs.

An attribution risk, not proof that the session source was lost. _gl is intentionally excluded.

Back to categories

Route without a page view

Info
route-no-page-view

A route change without a page_view.

When it appears

A single page app route changes the path and a GA4 id that measured the load with a page_view sends none for the new path. Only a page_view of that path before the next change to another path counts; query-only changes are skipped; a route that sent no hit marks the last page_view before it.

Example

The app changes from /a to /b after measuring the load, but no page_view for /b is captured.

What to check

Check that SPA path changes send a page_view with the new page_location. Compare the request with the recorded route transition.

Query-only changes are skipped. A route with no hit marks the previous page_view; server-side events are not visible.

Back to categories

Key events and Ads

Key events and Ads conversions for funnel steps.

Further reading: Conversion Rate: Correct Calculation, Common Mistakes, and Optimization; Why Google Ads and GA4 Conversions Never Match: Counting Unit and Time Axis

Micro step marked as a key event

Info
micro-key-event

A micro step or GTM event marked as a key event.

When it appears

A GA4 micro step (page_view or a page view under another name such as pageview, scroll, view_item_list, add_to_cart and similar) or a GTM internal event (gtm.*) sent as a key event (_c=1). Micro steps diagnose the funnel; primary KPIs are macro conversions.

Example

page_view or gtm.js is sent with _c=1.

What to check

Review whether this event belongs among the property's key events or serves only as a funnel diagnostic.

This is a suggestion. The event can be intentional, and the panel cannot inspect the property settings.

Back to categories

Key event repeated in a session

Info
key-event-repeat

One key event sent more than once in a session.

When it appears

The same GA4 key event, other than purchase and the micro steps, sent more than once to one id in one session (client id plus session id). Counting once per event counts each, once per session counts one.

Example

generate_lead is marked as a key event twice for the same property, client and session.

What to check

Check whether repeated events are expected and which counting method the GA4 property uses.

The panel sees the events sent, not the counting method configured in GA4.

Back to categories

Funnel step without an Ads conversion

Info
ads-step-conversion

A funnel step with no Ads conversion for it.

When it appears

An Ads account is on the tab and a page sends view_item, add_to_cart or begin_checkout (GA4 or Ads remarketing) with no labelled Ads conversion for it: none with the same event name on the page and, for a conversion without an event name, none within 1.5 s. As a Secondary conversion the step shows in Ads and steers bidding only inside a custom goal. A GA4 key event imported into Ads sends no Ads hit, so the panel cannot see it.

Example

add_to_cart is captured with an Ads account on the tab, but no matching labelled Ads conversion is captured.

What to check

Check whether the Ads account imports the GA4 key event. Otherwise review whether a Secondary conversion would help diagnose the step.

Ignore the suggestion if Ads imports the GA4 key event. Secondary conversions steer bidding only inside a custom goal; those settings are not visible.

Back to categories

Shopify

Shopify consent, checkouts and pixel messages.

Further reading: Tracing the Source of GA4 and Ads Signals in Shopify; Google Ads Conversion Double Counting on Shopify: Diagnosis with the Webpages Report and the Checkout Token

Checkout without a purchase signal

Warning
purchase-missing

A completed checkout without a purchase signal.

When it appears

A completed Shopify checkout whose page sent no GA4 purchase, Data Tag purchase or Ads purchase conversion. Shopify only.

Example

Shopify sends checkout_completed, but no matching browser purchase signal is captured.

What to check

Check the completed checkout page and the purchase tags in its pixel context. Confirm that capture and site access cover that page.

Server-side purchases and requests outside the capture list are not visible.

Back to categories

Unreadable Shopify pixel messages

Info
shopify-format

Shopify pixel messages that could not be read.

When it appears

Shopify pixel messages arrived on a page but neither a pixel init nor a customer event could be read. Shopify only.

Example

Pixel messages arrive, but no recognized initialization or customer event can be read.

What to check

Check the pixel frame context and the raw captured messages. Confirm that supported customer events are available.

Shopify pixel message formats can change. This note does not mean the store sent no events.

Back to categories

Loaders

Which script sent a hit, and scripts loaded twice.

Multiple loaders for one destination

Info
loader-split

One id sent by two loaders on one page.

When it appears

One id on one page sends hits from two different loaders (for example GTM and a gtag snippet), so it may count twice.

Example

G-TEST sends requests from a GTM container and a direct gtag configuration on one page.

What to check

Compare Loaded by on the requests. Check whether the destination is configured in both GTM and a direct gtag snippet.

Two loaders are evidence to investigate; they do not prove every event was counted twice.

Back to categories

Google tag script loaded twice

Info
script-twice

gtag.js for one id loaded twice on one page.

When it appears

gtag.js for one id is loaded directly and by another script on the same page. Needs the optional Google hosts.

Example

gtag.js for one measurement id is requested directly and by another script.

What to check

Compare the captured script loads and their initiators. Check the direct snippet and the container configuration.

Needs the optional Google hosts. Repeated script loads do not alone prove duplicate events.

Back to categories

Requests

Requests that failed in the browser.

Request failed in the browser

Warning
hit-failed

The request failed in the browser.

When it appears

The request ended with an error in the browser, for example blocked or cancelled; a redirected hop is not a failure.

Example

A captured request ends with a browser network error.

What to check

Open the request outcome and error. Check blockers, cancellations and the request chain before retrying.

A redirected hop is not itself a failure. The panel does not report Google processing results.

Back to categories

BigQuery

What the GA4 BigQuery export would answer.

Further reading: Session integrity from landing to purchase in BigQuery (in Turkish)

Investigate the observations in BigQuery

Info
ga4-bigquery

What the GA4 BigQuery export would show for the notes on this tab.

When it appears

Only when the tab shows GA4 hits with analytics_storage denied, a session or click-id note (marked on the GA4 hits of the click id landing), a key event note, or a session without page_view. The GA4 BigQuery export keeps each event as a row: consent in privacy_info (it does not recover denied data), the session key user_pseudo_id plus ga_session_id, the source on session_start, orders joinable by transaction_id, sessions without a page_view row countable. Rows without user or session ids cannot be joined into sessions reliably.

Example

Count sessions without a page_view row, or inspect repeated key event rows for one session.

What to check

If export is enabled, inspect the event rows behind the observation. Use user_pseudo_id with ga_session_id where both are available.

The extension does not connect to BigQuery. Export does not recover data withheld by consent; missing user or session ids limit joins.

Back to categories