main ← dev/tag-analytics-events-in-embed-mode
merged 02:38PM - 16 Apr 26 UTC
## Summary
Tag all analytics pageview events with `embed_mode` when Discourse i…s rendered in full app embed mode, so admins can segment embedded vs direct traffic in their dashboards.
- **GA v4 (gtag)**: `embed_mode: true` custom event parameter on `page_view` events
- **GA v3 (ga)**: `dimension1: "embed"` on pageview hits
- **GTM (dataLayer)**: `embed_mode: true` added to `virtualPageView` events
- **Legacy `_gaq`**: custom variable `embed_mode = "true"` (page-level scope)
## Context
Full app embed mode loads the complete Discourse app in an iframe on external sites. Without this change, these pageviews are indistinguishable from direct visits in analytics, which can inflate traffic numbers and skew metrics like bounce rate. Rather than suppressing these events entirely, tagging them gives admins full flexibility to filter, segment, or measure embed traffic as they see fit.
## Test plan
- [ ] Enable GA v4 + embed mode — verify `page_view` events include `embed_mode: true` parameter
- [ ] Enable GTM + embed mode — verify `virtualPageView` dataLayer pushes include `embed_mode: true`
- [ ] Load topic normally (no embed mode) — verify no `embed_mode` property on events
- [ ] Verify `embed_mode` is usable as a filter/dimension in GA4 reports