Quick Answer: GA4 tracks coupon and promotion usage through two mechanisms: the coupon parameter on purchase events (records which discount code was used at checkout), and the view_promotion and select_promotion events (tracks when users see and click promotional banners). This data answers: which coupons drive the most revenue, are promotional banners being seen and clicked, and what’s the average discount applied across your orders. This guide covers implementation and analysis.
Two Types of Promotion Tracking in GA4
Type 1: Coupon Code Tracking on Purchases
When a customer completes a purchase using a discount code, GA4 records this through the coupon parameter on the purchase event. This answers: which coupons were used, how many orders included a coupon, and the revenue attributed to coupon orders.
Type 2: Promotional Banner/Creative Tracking
When you run a homepage banner, popup, or in-page promotion, GA4’s view_promotion and select_promotion events track whether users saw and clicked it. This answers: are your promotional banners being seen, do they drive clicks, and which promotions generate the most engagement.
Implementation: Coupon Tracking on Purchase Events
The purchase event in GA4 includes an optional coupon parameter at both the event level and the item level:
Event-level coupon: Applied to the entire order (e.g., “SAVE20” for 20% off everything)
Item-level coupon: Applied to specific products (e.g., product-specific discounts)
For Shopify
Shopify’s native GA4 integration automatically passes discount codes to the purchase event’s coupon parameter. No additional setup needed. Verify in DebugView by placing a test order with a coupon code — look for coupon parameter in the purchase event.
For WooCommerce
Most GA4 plugins for WooCommerce include coupon tracking. Check your plugin settings for “coupon tracking” or “discount tracking” toggle. If your plugin doesn’t support it, you can implement it manually by pushing the coupon code to the data layer during checkout and mapping it in GTM.
For Custom Stores
In your purchase event implementation, add the coupon parameter:
gtag('event', 'purchase', {
transaction_id: 'T12345',
value: 75.00,
coupon: 'SUMMER15', // Add this line
items: [...]
});
Implementation: Promotional Banner Tracking
view_promotion Event
Fires when a promotional creative is displayed to the user. Key parameters:
promotion_id: Unique identifier (e.g., “summer_sale_banner_2026”)promotion_name: Human-readable name (e.g., “Summer Sale — 20% Off All Sneakers”)creative_name: The specific creative/image usedcreative_slot: Where on the page (e.g., “homepage_hero”, “sidebar_banner”)items: If promoting specific products, include them
select_promotion Event
Fires when a user clicks the promotional banner. Same parameters as view_promotion. The ratio of select_promotion to view_promotion is your banner click-through rate.
Analyzing Coupon and Promotion Data in GA4
Coupon Analysis in Explore
- Explore → Blank Exploration
- Add Dimension: Coupon
- Add Metrics: Transactions, Revenue, Average order value
- This shows each coupon code with associated revenue and order count
Key questions: Which coupons drive the most orders? What’s the average order value for coupon orders vs. non-coupon orders? Are coupons driving new customers or existing customers (segment by new vs. returning users)?
Promotional Banner Performance
- Explore → Blank Exploration
- Add Dimensions: Promotion name, Creative slot
- Add Metrics: Item views (view_promotion count), Item clicks (select_promotion count)
- Calculate CTR: Item clicks / Item views
Frequently Asked Questions
Should I track every promotional banner on my site?
Track banners where you’re actively A/B testing or making merchandising decisions. For permanent UI elements (like a site-wide “Free Shipping Over $50” header bar), tracking adds implementation complexity without much actionable insight. Focus tracking effort on time-limited promotions where you need to measure effectiveness.
How do I know if my coupon campaigns are profitable?
Compare revenue from coupon orders vs. average order value without coupon, then calculate: (Average coupon order revenue) – (Discount applied) = Net revenue per coupon order. Compare against your Customer Acquisition Cost — if the coupon campaign brings new customers at a cost below their LTV, it’s profitable even if individual order margins are lower. GA4 doesn’t calculate this for you, but the coupon revenue data gives you the inputs.
More in the Google Analytics 4 Series
Next Steps
- Identify your biggest gap: Review the concepts in this guide and identify which one would have the most immediate impact on your business if you addressed it this week.
- Take one focused action: Choose the single most important takeaway from this guide and implement it before moving on to the next article.
- Measure your baseline: Before making any changes, note your current state — traffic, conversion rate, or whatever metric is most relevant — so you can measure whether your action worked.
- Return in 30 days: Check the specific metrics mentioned in this guide after 30 days of consistent implementation. Progress compounds over time.
- Connect your marketing channels: Use Krystl to see how all your marketing efforts are performing together — not just in isolation.
Turn your analytics data into clear business decisions
Krystl connects your Google Analytics, ad platforms, and marketing channels to surface what’s actually driving growth — without spending hours in dashboards. Built for small business owners who want answers, not complexity.
Last Updated: April 2026 | Published by DigitalSMB
Este contenido esta en: