Internal

Conversion & Tracking Checklist

QA reference for outbound links, CTAs, and events. This page is noindexed.

1. Tracking overview

  • utm_source: aluxreviews
  • utm_medium: review_site
  • utm_campaign: derived from page intent via classifyPage() in src/lib/tracking.ts
  • utm_content: CTA location (e.g. hero_cta, final_cta, app_store_button)
  • utm_term: page slug or comparison target (e.g. alux_vs_masterclass)
  • All outbound Alux links must flow through TrackedCTA, AppStoreButton, or GooglePlayButton in src/components/tracked.tsx

2. Priority outbound links

PageTypeCTALocationDest typeCampaignContentTermEvent
/homepageVisit Alux (official site card)trust_summary_ctaofficial_sitehomepage_trusttrust_summary_ctahomeoutbound_click_alux
/homepageApp Storeapp_store_buttonapp_storehomepage_trustapp_store_buttonhomeapp_store_click
/homepageGoogle Playgoogle_play_buttongoogle_playhomepage_trustgoogle_play_buttonhomegoogle_play_click
/blog/*blog_articleVisit Aluxfinal_ctaofficial_siteresearch_blogfinal_cta<post_slug>outbound_click_alux

3. Priority events

EventTriggerRequired payload
outbound_click_aluxAny outbound click to alux.com / app store / play store via TrackedCTApage_path, page_type, page_intent, cta_text, cta_location, destination_url, destination_type, utm_*
app_store_clickAppStoreButton clickpage_path, page_type, cta_location, utm_campaign, utm_content, destination_type=app_store
google_play_clickGooglePlayButton clickpage_path, page_type, cta_location, utm_campaign, utm_content, destination_type=google_play
internal_cta_clickInternalTrackedLink clickpage_path, page_type, cta_location, destination_path, destination_page_type
scroll_depth25/50/75/90% on high-intent pages (review, legit, scam, pricing, complaints, alternatives, comparisons)page_path, page_type, scroll_percent
faq_expandOpen a question in <Faq /> on any pagepage_path, page_type, question_text

4. Manual QA checklist

  • Every outbound Alux link uses TrackedCTA / AppStoreButton / GooglePlayButton
  • utm_source = aluxreviews on every outbound Alux URL
  • utm_medium = review_site on every outbound Alux URL
  • utm_campaign matches page intent (see classifyPage in src/lib/tracking.ts)
  • utm_content matches the CTA location enum
  • outbound_click_alux fires (verify in DevTools network or console in dev)
  • app_store_click fires on App Store buttons
  • google_play_click fires on Google Play buttons
  • internal_cta_click fires on key internal CTAs
  • scroll_depth fires at 25/50/75/90 on high-intent pages
  • faq_expand fires when an FAQ item is opened
  • Skeptical pages (/is-alux-a-scam, /alux-complaints) lead with internal review CTA before external Alux CTA
  • No hardcoded https://alux.com or app-store links bypass TrackedCTA (search the repo before shipping)
  • Mobile: tracked CTAs are tappable and use full-width spacing
  • GA4 / PostHog absent: tracking calls no-op without console spam in production

5. Analytics setup

The tracking layer dispatches to window.gtag (GA4) and window.posthogwhen present, and no-ops otherwise. To enable GA4, set the GA_MEASUREMENT_ID env variable and add the GA4 snippet to the document head (TODO: not yet installed). Tracking will start populating events automatically — no per-link changes required.

See /launch-checklist for indexing and Search Console steps.