When nobody bridges the gap, finance and marketing argue about numbers that were never meant to match.

Two rules that pull in different directions.

Prices shown to UK consumers must include VAT, so the price on the product page, in the basket and at the checkout all have it in.

Google's reference for the GA4 purchase event says value should be the sum of each item's price times its quantity, and shouldn't include tax or shipping. Those go in their own parameters, tax and shipping.

Most stores pass the prices they display straight to GA4, so VAT ends up inside revenue.

Why it matters.

  • Revenue is overstated by the VAT in each order: a sixth of the VAT-inclusive price, about 17%, on standard-rated products.
  • Return on ad spend is overstated by the same amount, so campaigns look more profitable than they are, and bids are set on the wrong number.
  • It won't match finance. The accounts report sales net of VAT. GA4 and the finance team disagree before anyone looks for a tracking fault, and the tracking gets the blame.
  • Mixed baskets distort. Children's clothes, most food and books are zero-rated, and some items carry the 5% rate, so a flat "divide by 1.2" gets them wrong.
  • Trade stores are the other way round. A business-to-business shop showing prices ex VAT, then adding it at the checkout, can send a value that's lower than what the customer paid, with VAT missing everywhere.

Doing it properly.

  1. Send item prices excluding VAT. Each item's price in the items array should be the net price, so item revenue and purchase revenue agree.
  2. Set value to the items' total excluding VAT.
  3. Send VAT in tax and delivery in shipping, so nothing is lost.
  4. Use currency: "GBP" on every ecommerce event. Stores selling in euros too send the order's own currency, and GA4 converts.
  5. Take the figures from the order, not a formula. The platform knows the VAT on each line, including zero-rated and reduced-rate items. Shopify, WooCommerce and Magento all expose it at the confirmation step.
  6. Send Google Ads the same figure, so GA4 and Ads agree and bidding learns from real revenue.

Some businesses decide to report revenue including VAT anyway, because that's the number the marketing team has always used. That can be fine, as long as it's a decision, written down, and applied everywhere: GA4, Google Ads, Meta and the reports built on them. The trouble starts when it's an accident.

What to check.

  1. Place a test order and look at the purchase event in GA4's DebugView.
  2. Check whether value includes VAT, and whether tax is sent.
  3. Add up the item prices and compare them with value.
  4. Repeat with a zero-rated product in the basket.
  5. Compare a week of GA4 revenue with net sales from the platform.

Payment providers cause a second common gap: purchases credited to Klarna, Clearpay or PayPal instead of the campaign. The guide to GA4 revenue not matching Shopify or Stripe goes through the rest. Marc Alexander sets up GA4 for ecommerce, and a mini audit checks what an existing setup sends.