Why Cross-Promotion?
When you have 18 Chrome extensions, each one becomes a potential distribution channel for the others. Instead of paying for ads, why not leverage your existing user base?
I spent a weekend implementing cross-promotion across all 18 of my Chrome extensions. Here's the full story — the implementation, the results, and what I'd do differently.
The Setup
The Extension Portfolio
My extensions span several categories:
- Productivity: Procshot (procedure capture), FocusGuard (site blocker), SnapReply (Gmail templates)
- Data tools: DataPick (web scraping), DataBridge (data transfer)
- Reading: ZenRead (reader mode), ReadMark (bookmark positions)
- Developer tools: OnPageX (SEO analysis), CookieJar (cookie management)
- And 9 more covering everything from Japanese font detection to YouTube Shorts removal
The Recommendation Matrix
Not every extension should promote every other extension. A user of CookieJar (developer-focused) probably isn't interested in a YouTube Shorts blocker. So I built a recommendation matrix:
| Source Extension | Recommended Extensions |
|---|---|
| Procshot | DataPick, OnPageX, SnapReply |
| DataPick | Procshot, CookieJar, OnPageX |
| ZenRead | ReadMark, FocusGuard |
| CookieJar | OnPageX, DataPick, DataBridge |
Each extension recommends 2-4 related extensions based on user intent overlap.
Implementation Details
The UI Component
I created a minimal, non-intrusive banner that appears at the bottom of each extension's popup:
- Shows one recommendation at a time (rotates on each popup open)
- Includes the extension icon, name, and a one-line description
- "Try it" button links to the Chrome Web Store listing
- Dismiss button with a 24-hour cooldown (not permanent — the user might want to see it later)
GA4 Event Tracking
Every cross-promotion interaction is tracked:
cross_promo_shown — banner displayed
cross_promo_click — user clicked "Try it"
cross_promo_dismiss — user dismissed the banner
This lets me measure click-through rates per source/target pair and optimize the recommendation matrix over time.
Code Architecture
The cross-promotion module is shared across all extensions via a common library:
- Recommendation data is embedded at build time (no network requests)
- 24-hour dismiss cooldown stored in chrome.storage.local
- Icon URLs point to the Chrome Web Store CDN
- The component is framework-agnostic (works in React popups and vanilla JS)
Results After Week 1
Here's what the data showed after the first week:
| Metric | Value |
|---|---|
| Total impressions | 4,200 |
| Click-through rate | 3.2% |
| Top performing source | Procshot → DataPick (5.1% CTR) |
| Lowest performing | ShortsKiller → ZenRead (0.8% CTR) |
| Dismissal rate | 18% |
Key Insights
- Related extensions convert better — Procshot → DataPick (both data/capture tools) had 5x the CTR of unrelated pairs
- The dismiss cooldown works — 24 hours is the sweet spot. Permanent dismiss loses too many impressions; no dismiss feels spammy
- Developer tools cross-promote well — CookieJar, OnPageX, and DataPick users have high overlap
- Reading tools are a closed ecosystem — ZenRead and ReadMark users rarely click through to developer tools
What I'd Do Differently
- A/B test the banner position — Bottom of popup vs. top vs. inline
- Add social proof — "Used by 500+ developers" next to the recommendation
- Time the display — Show after the user completes a task, not on popup open
- Personalize based on usage — If a DataPick user exports to CSV frequently, recommend the Excel-compatible DataBridge
The Bottom Line
Cross-promotion is free, respects user privacy (no data sharing between extensions), and creates a flywheel effect. Each new extension in your portfolio amplifies the distribution of all others.
If you're building multiple Chrome extensions, cross-promotion should be in your growth toolkit from day one.
Built by S-Hub — 18 Chrome extensions for developers and productivity enthusiasts.
More from S-Hub
- Procshot — Auto-capture browser steps into visual guides
- DataPick — Extract data from any webpage
- CookieJar — Cookie editor and privacy analyzer
- FocusGuard — Block distracting sites with breathing exercises
Top comments (0)