Skip to content

Guide 21 · Debugging · GA4 + Tag Manager

Revenue is wrong by the same amount on every order: the value is not the total

Checked 11 November 2026 · Verification: value arithmetic recomputed (72.05 correct, 81.64 sent, 9.59 over) · Steps traced to Tag Manager Help and Analytics Help, opened 11 November 2026 · 7-minute read

The value parameter is the sum of price times quantity, without tax or shipping. An order total used as the value overstates revenue by tax plus shipping on every single order.

Expected signal

After the steps below, the value on the event equals the sum of price times quantity for the order, and the overstatement per order is zero.

Download the check: the debugging check (JSON) (MD5 216f6e7633b2dd710cd8b46a73b35bd0, 476 bytes). It lists the checkpoints from this guide and the worked check, with the figures recomputed. The file was built for this guide and validated structurally — it was not exported from a live container or a live property.

What you need

  • One order with its lines, tax, and shipping. The order's items with prices and quantities, plus the tax and shipping amounts, so the correct value can be worked out by hand.
  • The event in DebugView. The revenue event for that order, with its value, tax, and shipping parameters visible.
  • The tag's value parameter. The variable or expression the tag uses for value.
  • A calculator, or the arithmetic below. The check is a sum, and it is done by hand so a wrong value cannot hide behind a plausible total.

The trace

The worked check: the figures below were recomputed before publication, and the note under the table shows the working.

CheckFigure
Items in the order2
Item 1: price times quantity$10.01 x 3 = $30.03
Item 2: price times quantity$21.01 x 2 = $42.02
Correct value (items only)$72.05
Tax$3.60
Shipping$5.99
Order total (value + tax + shipping)$81.64
Value the event sent$81.64
Overstatement on this order$9.59

The two item lines are 10.01 times 3, which is 30.03, and 21.01 times 2, which is 42.02, and 30.03 plus 42.02 is 72.05 — the correct value. Tax of 3.60 plus shipping of 5.99 is 9.59, and 72.05 plus 9.59 is 81.64, the order total. The event sent 81.64 as the value, so 81.64 minus 72.05 is 9.59 overstatement on this order.

  1. Work out the correct value by hand. For each item, multiply price by quantity, then add the lines together. Do not add tax or shipping. For the worked order: 10.01 times 3 is 30.03, 21.01 times 2 is 42.02, and the sum is 72.05. That is the value GA4 must receive.
  2. Read the value the event sent. Open DebugView, find the revenue event for the same order, and read its value parameter. In the worked check the event sent 81.64. Compare it with the hand-worked 72.05. The difference, 9.59, is tax plus shipping — 3.60 plus 5.99.
  3. Find where the tag gets the value. Open the GA4 Event tag and read its value parameter. A variable reading the order total sends 81.64 every time. A variable reading the items sum sends 72.05. The fix is to point the parameter at the items sum, or at a variable that computes it.
  4. Check that tax and shipping travel separately. The event should also carry tax of 3.60 and shipping of 5.99 as their own parameters. If the value is right but tax and shipping are missing, the revenue is right and the breakdown is not. Both parts matter for the report.
  5. Test with a fresh order and work the sum again. Send a test order, read the value in DebugView, and work the sum by hand from the order lines. The two numbers must match to the cent. A value that matches on one order and not on the next points at a variable that sometimes reads the total — check the variable, not the tag.

Dead ends

DEAD END — THE VALUE INCLUDES SHIPPING AND TAX. The value parameter is the sum of price times quantity for all items, without shipping or tax. A value of 81.64 for the example order — 72.05 plus 3.60 plus 5.99 — is wrong, and revenue will overstate by exactly that much on every order.

DEAD END — A VALUE THAT IS A STRING. A price sent as text instead of a number can arrive as nothing, or as a value GA4 cannot add. The price in the data layer must be a number, not a string in quotes. Read the payload in the network tab to see the difference.

DEAD END — CHECKING THE REPORT TOTAL INSTEAD OF ONE ORDER. A report total mixes good orders with bad ones, so a value error on half the orders looks like a small error overall. Trace one order, line by line, and the error shows its full size.

End state

The value on the event equal to the sum of price times quantity, tax and shipping travelling as their own parameters, and the overstatement per order at zero. Revenue in the report now adds up to what the orders actually were.

Sources

Checked 11 November 2026. The click paths above are the ones in Google's help pages, opened 11 November 2026. What was run: the value arithmetic, recomputed — 10.01 x 3 is 30.03, 21.01 x 2 is 42.02, the sum is 72.05, tax plus shipping is 9.59, the order total is 81.64, and the overstatement is 81.64 minus 72.05, which is 9.59. The worked order is Google's own example, order T_12345, carried by the live purchase debugging guide on this site, which was read today. No step in this guide was run inside a live Analytics property or a live Tag Manager container, because both need a Google sign-in and this site does not sign in as anyone. Google moves menu items without warning; if a path on this page no longer matches, the linked help page is the current map.