An e-commerce implementation can pass every check in Tag Manager and still report the wrong revenue. A tag that fires says little about whether the order value is right, whether a reload counts twice or whether a payment gateway has taken the credit for the sale. So validation has to run from the data layer all the way to your order system.
This assumes you have already planned your events and definitions. Without an agreed plan, there is nothing to test against.
Keep the GTM setup small
If the site pushes e-commerce data to the data layer in Google's recommended format, you rarely need many tags. A single GA4 event tag can use the built-in Event variable as its event name, with a custom event trigger that matches your list of e-commerce events. In the tag's settings, turn on sending e-commerce data from the data layer. Menu names may change, so check the current interface.
Google's revenue troubleshooting guide makes the basic requirement clear: the purchase event must exist both in the site's data layer and in a GA4 event tag in the container. One without the other gives you nothing.
Check each layer in order
Work from the source outward. If a layer fails, stop there, because everything downstream will be wrong for the same reason.
- Data layer. Does the push contain the right order, in the right format, at the right moment?
- GTM. In Preview, does the tag fire once on that event, and do its values match the push?
- Network. Does a request leave the browser carrying the order?
