Illustrative example
Find the gap between an order and an event
Example: the order exists and GA4 appears on a public page, but the purchase event has not been checked.
Store
The test order is recorded.
Public page
A GA4 tag is visible.
Receiving side
The matching purchase event is unconfirmed.
A worked example, not a result from a real store or Google account.
Next: identify the purchase integration, then follow the same test action to the intended GA4 property. The first two findings do not establish that purchase arrived.
1. Write down which record is missing
Pick a test environment and an agreed test method. Note the page, time, expected G- measurement ID and whether the visitor accepted Analytics cookies. Use a test order reference without customer details. An administrator session can behave differently from a customer session.
- Order exists, but no purchase request: inspect the site integration and the action that should send the event.
- Request exists, but the intended GA4 property has no event: compare the destination and inspect your test device in DebugView.
- The event exists, but revenue looks wrong: inspect its parameters before repeating the order.
2. Identify the integration that owns purchase
List how GA4 was added: Google Analytics for WooCommerce, another plugin, GTM or custom code. Check the documentation for that exact setup. Having a measurement ID on the homepage does not tell you which integration sends purchases.
For the free Google Analytics for WooCommerce extension, purchase tracking depends on the customer returning to the thank-you/order-received page. That is a condition of this extension, not a rule for every server-side integration. Keep the distinction when comparing payment methods.
3. Follow the return from payment
With permission, walk through the agreed sandbox flow. Record whether the customer reaches the store confirmation page after leaving the payment provider. Stop if completing the flow would create a real charge, order email or fulfilment task you have not agreed to handle.
Compare the actual destination with the page where your integration expects to send purchase. Do not fire purchase merely because someone viewed checkout. A public check of a homepage cannot observe a private order confirmation.
Free tracking check
See what’s visible on a real site.
Run a free browser-based scan. No login or installation needed.
Run a free check4. Follow one event to the intended property
Use Tag Assistant on the same page and inspect the action. If you inspect Network, a request is evidence of a send attempt; its presence alone does not confirm receipt. Compare the destination with the intended web stream.
Enable debug mode for your test device and look for purchase in that property’s DebugView. Keep the consent choice with the result. An empty DebugView can also reflect privacy controls, denied consent or a device that is not in debug mode. Do not disable a consent requirement to make the test pass.
5. Check the purchase details
Inspect transaction_id, value, currency and items for the same test event. For example, a numeric value without its intended currency is not enough to interpret a revenue result. Use the store’s actual currency rather than copying an example configuration.
If the purchase appears twice, investigate which integrations sent it. Check that the transaction identifier refers to the same order, and review the integration’s duplicate handling. Adding another tag can make the discrepancy harder to diagnose.
6. Give the developer a repeatable finding
Save the test time, page, integration, cookie choice, expected destination and the first point where the evidence stops. Keep customer information and payment tokens out of the note. Many standard GA4 reports need 24–48 hours to process data; a missing report row is a different finding from a missing event in a correctly configured debug session.
TrackCanary can inspect visible public-page tracking and WooCommerce hints. It does not enter your payment flow, read private orders or establish that GA4 received purchase. Use the public checker for the page evidence and the account-side steps above for the receiving side.
Sources
Updated:
Next step
Check the public page first
Review visible WooCommerce and GA4 signals. Complete the private order and account checks separately.