Analysis of Google's public Google Merchandise Store GA4 demo account to identify where the purchase funnel leaks, which traffic channels convert most efficiently, and how device type affects revenue — using Python and pandas.
GA4's dashboards report metrics well but rarely explain why a number looks the way it does. This project pulls exported GA4 data into Python to compare channels and devices on efficiency (not just volume), and pinpoint exactly where the purchase funnel loses the most users.
- Source: Google Analytics Demo Account — Google's public GA4 property for the Google Merchandise Store
- Period: Last 28 days (Jun 23 – Jul 21, 2026)
- Files:
traffic_clean.csv(10 channels),events_clean.csv(25 events),device_clean.csv(4 device categories)
1. Direct wins on total revenue through scale alone — Referral and Cross-network are the most efficient channels. Direct has the most sessions and the most revenue, but its revenue per session (1.63) trails smaller channels. Referral converts at 6.93 revenue per session and Cross-network at 4.72 — both outperforming Direct despite far less traffic (Referral: 1.5% of sessions but 5.8% of revenue).
2. The biggest funnel drop-off happens before checkout, not during it. Only 26% of users who view a product go on to add it to their cart — nearly 3 in 4 leave at this first step. Both later stages (add-to-cart → checkout, checkout → purchase) retain over 40% of users. The product page, not the checkout flow, is where most users are lost.
3. Desktop users are roughly 45x more valuable than mobile users, per user. Mobile brings in 69% of active users but only 5% of revenue. Desktop, with 31% of users, generates 95% of revenue. Revenue per user: desktop $6.80, mobile $0.15 — a mobile experience problem, not a traffic-quality one.
Caveat: Referral, Cross-network, and tablet findings rest on smaller sample sizes than Direct, Mobile, or Desktop, and should be treated as leads worth investigating, not confirmed conclusions.
- Investigate what makes Referral and Cross-network traffic convert so well, and whether that quality can be replicated in a larger channel
- A/B test product page messaging, trust signals (reviews), and imagery to address the view-item → add-to-cart drop-off
- Audit the mobile product and checkout flow for friction points (load time, page stickiness, navigation), and check whether mobile and desktop attract meaningfully different audiences
- Revenue per session by channel (bar chart)
- User drop-off through the purchase funnel (bar chart)
- Session share vs. revenue share, by device (grouped bar chart)
(See GA4.ipynb for all charts and full code.)
- Python
- pandas
- matplotlib
- Export the Traffic acquisition, Events, and Tech overview reports from a GA4 property (or use the public demo account).
- Install dependencies:
pip install pandas matplotlib - Open
GA4.ipynbin Jupyter and run all cells.