mcpbeat Sign in

Ad Attribution Skill for Claude

Privacy-preserving ad measurement with AdAttributionKit (SKAdNetwork's successor) — install and re-engagement attribution, conversion-value strategy under crowd anonymity, and end-to-end postback testing. Use when running paid acquisition beyond Apple Ads, measuring re-engagement campaigns, designing conversion values, or migrating from SKAdNetwork.

2k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
585
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/rshankras/claude-code-apple-skills --skill ad-attribution

The instruction itself

9 sections, as written by the author

Ad Attribution (AdAttributionKit)

You can't optimize paid traffic you can't measure. AdAttributionKit is Apple's

privacy-preserving attribution framework — interoperable with SKAdNetwork, and the go-forward

path (it also works in alternative marketplaces). This skill covers the *advertised-app* side:

what an indie running paid campaigns must implement and how to design conversion signals that

survive privacy thresholds.

Note the seam: Apple Ads attribution uses the AdServices framework, not AdAttributionKit

campaigns there are measured in the Apple Ads console (see app-store/apple-search-ads). This

skill is for every *other* paid channel (ad networks, social, publishers).

When This Skill Activates

  • Running or planning paid user acquisition outside Apple Ads
  • "How do I know which campaign drove installs?" / measuring re-engagement ads
  • Designing or debugging conversion values / postbacks
  • Migrating from SKAdNetwork (fully interoperable — registered networks need no re-enrollment)

How it works (the 60-second model)

Ad network signs an ad (compact JWS impression) → publisher app shows it → user installs (or

re-engages) → after a privacy-delayed measurement window, a postback with your conversion

info goes to the ad network (and optionally to you). Attribution requires no user tracking;

the price is coarser data, governed by crowd anonymity.

Conversion-value strategy (the part that's actually yours)

  • Two granularities: fine value 0–63 and coarse low/medium/high. Low crowd sizes

downgrade fine → coarse and can trim the 4-digit campaign source-identifier to as few as

its first 2 digits — so encode what matters most (campaign family, geo tier) in the

first two digits, detail in the rest.

  • Map values to *revenue-predictive* early behavior (completed onboarding, trial start, first

purchase), not vanity events. 64 slots go fast; reserve ranges (e.g. 0–15 activation,

16–47 monetization ladder, 48–63 reserved).

  • Update with updateConversionValue(_:) / PostbackUpdate; set lockPostback when the value

is final to schedule transmission (still privacy-delayed, never instant).

  • Re-engagement postbacks are separate from install postbacks: update them independently via

conversionTypes (.install / .reengagement); the **first re-engagement update must land

within 48 hours**.

  • Multiple simultaneous re-engagement campaigns need conversion tags (iOS 18.4+): read the

tag from the re-engagement URL's query items, store it, and pass it in PostbackUpdate

without a tag, updates hit only the most recent conversion.

Publisher-side mechanics (if your app also *shows* ads)

  • Click-through: UIEventAttributionView over the tappable ad + appImpression.handleTap()

within 15 minutes of creating the impression.

  • View-through: beginView()/endView() on the same instance; ≥2 seconds on screen to

count; one open view-through per network per advertised app.

  • SKOverlay / SKStoreProductViewController: attach the impression — they count view on

present, click on tap.

Attribution windows & cooldowns (iOS 18.4+ configurability)

  • Defaults: 30 days click-through, 1 day view-through (install ads).
  • Override per ad network and interaction type in Info.plist

(AdAttributionKitConfigurationsAttributionWindows); you can ignore "view" or "click"

(not both) per network.

  • Set cooldowns (install-cooldown-hours, reengagement-cooldown-hours) so a

re-engagement tap minutes after an install isn't double-attributed.

  • Country-level postback data (iOS 18.4): storefront country at install, gated behind an extra

crowd-anonymity tier — a bonus signal when volume allows, never guaranteed.

  • Overlapping re-engagement conversions require opting in:

EligibleForAdAttributionKitOverlappingConversions = YES in Info.plist.

Testing — never ship blind

  • Developer Mode → Settings → Developer → Ad Attribution Testing: removes time

randomization, shortens all conversion windows, sends postbacks on demand — full end-to-end

rehearsal in minutes instead of days.

  • Point development postbacks at a separate dev endpoint, never production: they're signed

with a different key (kid), the network ID is always development.adattributionkit, and

the advertised item ID may be 0 from Xcode.

  • ✅ Verify the postback pipeline before spending a dollar. ❌ Debugging attribution *after*

a live campaign burns budget on unmeasurable installs.

Checklist

  • [ ] Conversion-value map documented (0–63 + coarse fallback + first-2-digit priority)
  • [ ] lockPostback fired once value is final; re-engagement first update < 48h
  • [ ] Conversion tags wired if >1 re-engagement campaign runs at once
  • [ ] Cooldowns configured; windows tuned per network where defaults don't fit
  • [ ] Dev-endpoint postback rehearsal done in Developer Mode
  • [ ] Campaign readout joined with growth/analytics-interpretation (source-type funnel) —

attribution tells you *which ad*, App Analytics tells you *what they did after*

References

  • https://developer.apple.com/documentation/adattributionkit
  • https://developer.apple.com/videos/play/wwdc2024/10060/ (Meet AdAttributionKit)
  • https://developer.apple.com/videos/play/wwdc2025/221/ (What's new in AdAttributionKit)
  • Related skills: app-store/apple-search-ads (Apple Ads uses AdServices, not this), growth/analytics-interpretation, growth/store-growth-audit (P7.3 halo tracking)

Other skills for the same job

different authors, same section of the catalogue
Internal Comms
by anthropics
vendor ×13

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

6k tokens
Competitive Ads Extractor
by frostant
×10

Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.

2k tokens
Lead Research Assistant
by frostant
×8

Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.

2k tokens
Developer Growth Analysis
by frostant
×6

Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.

4k tokens
App Store Optimization
by alirezarezvani
×3

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

55k tokens scripts
Deeptools
by christophacham
×3

NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.

21k tokens scripts
Pymatgen
by christophacham
×3

Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.

26k tokens scripts
Enhance Prompt
by google-labs-code
vendor ×2

Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.

3k tokens

How to use it

Copy the folder

Take rshankras/ad-attribution from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.