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
Consent
Consent states that disagree between signals.
Further reading: Consent rate measurement: accepts, rejections and later changes (in Turkish)
Conflicting consent states
Warning
consent-conflict
One purpose granted in one signal and denied in another.
When it appears
Within one group, a consent purpose is granted in one signal and denied in another.
Example
Two signals for one order carry different analytics_storage states.
What to check
Compare the consent fields and timing of the grouped signals. Check that the tags receive the same consent update.
Consent can change between requests. The note does not prove a policy violation.
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
Shopify and tag consent disagree
Warning / Info
shopify-consent
A hit's consent differs from what Shopify allowed.
When it appears
A hit granted or without consent mode while Shopify did not allow that purpose (warning), or denied while Shopify allowed it (info). Data Tag compares only known consent states. Marketing maps to ad_storage, ad_user_data, ad_personalization; analytics to analytics_storage. Shopify only.
Example
A hit grants analytics_storage while the recorded Shopify analytics consent is denied.
What to check
Compare the Shopify consent recorded at the hit with its Google consent fields. Check how the pixel receives consent updates.
This compares browser observations, not a compliance assessment. Consent timing can matter.
Back to categories
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