Indie dev. Free productivity app, live 6 months. Unlike most devs — he knows what he's doing. Reddit AMA Tuesday, X post Wednesday, r/productivity thread Thursday. Each with its own ?cid= tag. He's doing the work.
Partner Center shows him an install count per campaign — 3–4 hours late. Page views column = "—". Conversions chart doesn't match the table. He has the start of the funnel, a delayed end, and nothing in the middle to interpret either.
?cid=apps.microsoft.com/...?cid=reddit-ama?cid=twitter-launch. ~200 clicks.ms-windows-store:// deep-link. Cleaner attribution — if the Store client is open.Three tabs. Same column. Same numbers. The data table never changes — only the chart does. One answer to three different questions.
Add 3–4 hr install latency on top, and his whole week of marketing produces a single ambiguous number, after the moment is already over.
?cid= click telemetry on apps.microsoft.com isn't surfaced.ms-windows-store:// deep link — is undocumented in the Partner Center share flow."Real screenshots of Custom campaign performance in Partner Center today. Two campaigns — focusdropcampaign and spotifyweb-store-button — over 30 days. Click the tabs to see what breaks on each metric.
spotifyweb-store-button shows "—". Karthik can't tell if the campaign failed or if Partner Center isn't measuring it. This tab is the only one correctly labeled.
Installs per cid do arrive, just late. What's missing is the denominator — page views per cid. Without it, low-traffic / high-conversion looks identical to high-traffic / low-conversion. Both read "2 installs". He turns one off without knowing which.
Per-source acquisitions split cleanly: Google Play explore (organic browse) = 27,158 vs Paid and direct (web/ad-driven) = 402,071. Google distinguishes the source of every install and reports it next-day at worst. Microsoft aggregates everything into one "Custom campaign" widget that reads "2" or "—".
4.35M viewers → 924 converters → 0.02% CR, broken across 176 countries. Google treats every promotional event as a tracked entity with full funnel + geo breakdown. Microsoft Store has no concept of a promotional event. A Reddit AMA Tuesday is just another ?cid= tag — no viewers, no event window, no action split, no geo.
The capability half-exists. ?cid= works. The web PDP has a URL. The deep-link scheme is implemented. What's missing: docs, telemetry, faster pipeline. Not new product.
?cid= for free apps.?cid= exists by accident.ms-windows-store:// deep link is undocumented. One dropdown — "Web link / Deep link" — ends a 5-year DX gap. Pure UI.?cid=. Share-flow dropdown for web vs deep link. Zero engineering.apps.microsoft.com. Same slicing as the client. Closes the dark-middle gap.Karthik's pain isn't measurement — it's discovery, one layer deep. Devs who can't measure off-Store campaigns stop investing. The Store loses both their installs and the external-traffic signal the algorithm needs.
?cid= undocumented.?cid= documented.?cid= tag. This prototype turns the single Campaign Conversion tab inside Acquisitions into a full surface — with a URL builder, channel rollup, and per-campaign trends.
?cid= URL| Campaign name | Channel | Installs |
|---|---|---|
| focusdrop-reddit-jun | 214 | |
| focusdrop-x-launch | X / Twitter | 98 |
| focusdrop-newsletter | 62 | |
| focusdrop-blog-may | Owned blog | 22 |
| spotifyweb-store-button | Partner site | 14 |
| Campaign | Store on Windows | Microsoft Store web | Total captured |
|---|---|---|---|
| focusdrop-reddit-jun | 1,820 (58%) | 1,300 (42%) | 3,120 |
| focusdrop-x-launch | 980 (40%) | 1,460 (60%) | 2,440 |
| focusdrop-newsletter | 720 (61%) | 460 (39%) | 1,180 |
| focusdrop-blog-may | 340 (41%) | 480 (59%) | 820 |
| spotifyweb-store-button | 120 (22%) | 420 (78%) | 540 |
| Country / region | Installs | Share | Top campaign |
|---|---|---|---|
| United States | 206 | 50% | focusdrop-reddit-jun |
| United Kingdom | 82 | 20% | focusdrop-x-launch |
| Germany | 49 | 12% | focusdrop-newsletter |
| India | 37 | 9% | focusdrop-reddit-jun |
| Other markets | 38 | 9% | — |