Home / skills/campaign-link-convention/SKILL.md
Campaign link convention
name: Campaign link convention description: >- Use when creating, checking, or reporting on a tracked marketing link: experiment IDs, UTM parameters for owned landing pages, and App Store campaign links (ct/pt), including when App Store attribution will and won't work.
Campaign link convention
The ledger owner keeps the product and channel code lists, the live experiment list, and each site's fallback values. Read those from the ledger files named in memory. This skill holds the rules.
Experiment ID
EXP-YYYYMMDD-PRODUCT-CHANNEL-NN
- The date is the planned first-ship day, in the user's timezone. Move it to the actual first-ship day if launch slips.
- PRODUCT and CHANNEL come from the ledger's code lists. Don't invent new codes; ask the ledger owner.
- NN is a two-digit sequence for that product, channel, and day, starting at 01.
- Every asset or post carries its experiment ID. Tell the ledger owner the ID and permalink when it ships.
Owned landing pages (UTMs)
Append to the owned landing URL only. Never wrap a third-party store URL.
utm_source: the channel (x,reddit,youtube,facebook,instagram,email,site, or an outlet slug for press).utm_medium:organic,social,cpc,referral,email, orpr.utm_campaign: the experiment ID.utm_content: a short asset slug (lowercase, hyphens), e.g.gif-webcam,c07,pitch.utm_term: optional.
Example: https://<product-site>/?utm_source=x&utm_medium=organic&utm_campaign=EXP-YYYYMMDD-PRODUCT-X-01&utm_content=<slug>
App Store campaign links
Format: https://apps.apple.com/us/app/<slug>/id<APP_ID>?pt=<provider token>&ct=<campaign token>&mt=<8 iOS | 12 Mac>
ctis at most 40 characters:<EXP-ID>or<EXP-ID>-<variant>.- pt caveat: App Store Connect only attributes
ctwhen the link also carries the account's real provider token (pt), which comes from App Store Connect (App Analytics > Campaigns). Withoutpt, the link works for users but App Store Connect won't count the campaign. Never invent apt. If it's unknown, say "ct present, pt missing: not attributable in ASC." - Landing-page passthrough: the App Store button can set
ct = utm_campaign + '-' + utm_content. Strip characters other than letters, digits, and '-', truncate to 40, and keep it for the session. With noutm_campaign, fall back to the page's own SITE experiment ID.
Platform rules
- Communities that ban store links (e.g. many subreddits) get the owned landing page with UTMs, never a store URL.
- Don't add UTMs to marketplace URLs that strip them (e.g. Amazon). Link the owned page that links out.
Reading results
- Count only qualified outcomes (visits with the campaign, installs, trials, purchases, revenue). Engagement is supporting evidence only.
- Promo-code redemptions are not sales.
- Small samples are INCONCLUSIVE. Untagged traffic is never credited to a campaign.