Geo Launch Metrics
Tracking launch performance by region — signups, activation, retention, and revenue per locale — so you know which regions to double down on and which to deprioritize.
Why
A single '3,127 signups' number hides that 60% came from the US, 22% from China, and 2% from Korea — and that Korean signups activated at 45% while US signups activated at 23%. Without per-region metrics, you don't know that Korea is your highest-activation region (worth doubling down on with a native OKKY campaign) or that Europe signups churn at 40% in month 1 (worth investigating the onboarding flow). Per-region metrics also reveal unexpected opportunities: maybe Brazil (pt) drove 500 signups with zero native content (just a translated page), suggesting that a native Portuguese post would 3x the signups. The metrics also inform the next launch's resource allocation: if China drove 22% of signups with 10 hours of effort and Europe drove 18% with 2 hours, Europe is 2.5x more efficient and deserves more investment next time. Without per-region tracking, every launch is a black box and you repeat the same resource allocation regardless of ROI.
When
Set up per-region tracking (UTM links, locale property on signup) before launch; review per-region metrics at T+24h, T+7, T+30; use the data to allocate the next launch's resources.
How
1. Before launch, add a locale property to every signup: capture the user's locale from the URL (/[locale]/signup), the browser's Accept-Language header, and the locale switcher cookie; store all three in the user record 2. Add UTM parameters to every regional channel link: ?utm_source=juejin&utm_medium=organic&utm_campaign=launch_v2 for the Juejin post, ?utm_source=qiita for the Qiita post — this attributes each signup to the channel that drove it 3. T+24h: pull signups by region (en, zh, ja, ko, es, fr, de, pt, ru) and by channel (PH, HN, Juejin, Qiita, OKKY, etc.); create a region × channel matrix 4. T+24h: for each region, calculate activation rate (signups who completed onboarding / total signups); identify the highest-activation region (double down) and the lowest (investigate the friction) 5. T+7: pull retention by region (signups who returned in week 1 / total signups); identify regions with low retention and investigate (is the product not localized? is the onboarding in the wrong language?) 6. T+7: pull revenue by region (paid users / total users × ARPU); identify the highest-revenue regions and the regions with high signup but low revenue (pricing too high? payment methods not available?) 7. T+30: compile a per-region launch report: signups, activation, retention, revenue, cost (content + translation + ads), ROI per region; rank regions by ROI 8. Use the T+30 report to allocate the next launch's resources: high-ROI regions get native content + paid promotion; low-ROI regions get translated content only; negative-ROI regions get deprioritized
Example
# Geo Launch Metrics — ez4code v2.0 ## T+24h region × channel matrix | Region | Signups | PH | HN | Juejin | Qiita | OKKY | LinkedIn | |--------|---------|-----|-----|--------|-------|------|----------| | en | 1,892 | 60% | 24% | - | - | - | 10% | | zh | 892 | - | - | 70% | - | - | - | | ja | 423 | - | - | - | 80% | - | - | | ko | 234 | - | - | - | - | 70% | - | | es | 312 | 5% | - | - | - | - | 60% | | fr | 289 | 3% | - | - | - | - | 70% | | de | 412 | 4% | 8% | - | - | - | 65% | | pt | 487 | 8% | - | - | - | - | 55% | | ru | 186 | 2% | 12% | - | - | - | - | | Total | 4,127 | | | | | | | ## T+7 activation + retention by region | Region | Signups | Activation | W1 Retention | Revenue | |--------|---------|------------|--------------|---------| | en | 1,892 | 23% | 67% | $2,890 | | zh | 892 | 34% | 78% | ¥31,200 | | ja | 423 | 41% | 82% | ¥18,900 | | ko | 234 | 45% | 84% | ₩89,000 | | pt | 487 | 38% | 76% | R$1,890 | ## Insights - Korea: highest activation (45%) and retention (84%) → double down - Brazil (pt): 487 signups with translated content only → native content opportunity - Europe (es/fr/de): high signups, low activation → investigate onboarding - Russia: low signups (186) → Habr post underperformed, try different angle ## T+30 ROI per region | Region | Cost | Revenue | ROI | Action next | |--------|-------|---------|-------|--------------| | ko | $200 | $720 | 3.6x | Native content| | zh | $800 | $2,400 | 3.0x | Native content| | ja | $400 | $1,500 | 3.75x | Native content| | pt | $50 | $560 | 11.2x | Native content| | en | $0 | $2,890 | ∞ | Maintain |
Common Problems
- ⚠Tracking only total signups (not per-region) — '4,127 signups' is a vanity metric; 'Korea has 45% activation vs 23% US' is an actionable insight; without per-region tracking, you can't allocate resources by ROI.
- ⚠Attributing all signups to the last click (not the first) — a user who discovered you on Juejin (zh) and signed up via the en landing page gets attributed to 'en direct'; use first-touch attribution to credit the Juejin post.
- ⚠Not tracking activation and retention by region — signups are top-of-funnel; if Korean signups activate at 45% and European signups at 15%, Korea is 3x more valuable per signup; without activation data, you treat all signups as equal.
- ⚠Ignoring revenue by region — 200 Korean signups at $9/mo with 84% retention are worth more than 500 European signups at $9/mo with 40% retention; revenue + retention, not signup count, should drive resource allocation.
Best Practices
- ✓Capture locale on every signup (from URL, Accept-Language, cookie) and store it in the user record — this is a 1-line change that enables all per-region analysis; without it, you can't slice by region.
- ✓Use first-touch attribution (not last-touch) — the Juejin post that introduced the user gets credit, even if they signed up from the en landing page 3 days later; last-touch attribution undervalues the regional channels.
- ✓Track the full funnel per region: signups → activation → week-1 retention → revenue — signups alone are misleading; Korea's 234 signups at 45% activation and 84% retention are worth more than Europe's 1,013 signups at 15% activation and 40% retention.
- ✓Use the T+30 per-region ROI report to allocate the next launch's resources — high-ROI regions (ko, ja, pt) get native content and paid promotion; low-ROI regions get translated content only; this data-driven allocation beats guessing every time.