add_shipping_info is the Google Analytics 4 event that records the moment a shopper confirms how they want their order delivered during checkout. It sits between the start of checkout and the payment step, so it tells you how many people got as far as choosing a delivery option, and which option they chose.
How add_shipping_info works
GA4 lists add_shipping_info among its recommended events for online shops. Google suggests the name and the parameters, but nothing sends it automatically: your shop platform, a plugin or a tag in Google Tag Manager has to fire it when the delivery step is completed.
A well-formed add_shipping_info event carries these details:
- shipping_tier The delivery option chosen, written as plain text such as “Royal Mail Tracked 48”, “Next day courier” or “Click and collect”.
- items The products in the basket, in the same format as every other ecommerce event. This is the one parameter GA4 treats as required.
- value and currency: the basket value and “GBP”. If you send a value without a currency, GA4 will not record the value.
- coupon Any discount code applied at order level.
The trigger matters more than the payload. The event should fire when the shopper confirms delivery and moves on, not when the delivery page loads. On a one-page checkout, where address, delivery and payment sit on a single screen, that usually means firing on the button or field that confirms the delivery choice.
Why it matters
Most ecommerce funnels in GA4 jump straight from begin_checkout to purchase. That leaves a long, expensive gap where you cannot see who gave up and why. Adding add_shipping_info, along with add_payment_info for the payment step, splits checkout into stages you can measure in a funnel exploration.
Delivery is where many UK shoppers lose patience. They type in their postcode and discover a £4.99 charge, a three-to-five working day wait, or no next-day option at all. If a large share of people who begin checkout never reach add_shipping_info, the delivery page or the cost shown on it is a prime suspect. If they reach it and then drop before paying, look at payment instead.
The shipping_tier parameter adds a second layer. You can compare conversion and order value by delivery choice, see whether click and collect customers buy more often, or test whether a free delivery threshold at £40 changes basket size. Those are decisions about margin, not just analytics.
Common mistakes
- Firing on page load. Everyone who views the delivery page is counted, so the step looks healthier than it is.
- Leaving shipping_tier empty or vague. “Standard” means little six months later when the courier has changed. Name the service.
- Sending a different items list from the one used in begin_checkout and purchase, so product reports stop adding up across steps.
- Duplicate fires when a shopper edits their address and resubmits. Some repeat is normal, but counts far above begin_checkout point to a trigger problem.
- Forgetting the currency Which quietly removes value from the report.
How to act on it
Start in GA4’s DebugView. Go through checkout on a test order and confirm add_shipping_info appears once, at the right moment, with shipping_tier, items, value and GBP filled in. If your shop runs on Shopify or WooCommerce, check what the integration already sends before adding tags of your own, because doubling up is a common cause of inflated counts.
Then build a closed funnel exploration with four steps: begin_checkout, add_shipping_info, add_payment_info and purchase. Break it down by device and by shipping_tier. A sharp drop at the delivery step on mobile usually means the form is awkward to complete on a phone; a drop that is the same on every device points at price or delivery times.
Setting up ecommerce events properly is part of how I run performance marketing for online shops, because paid campaigns can only be judged on checkout data you trust.
