MadderHelp Request early access

Set up app events and attribution for a mobile app

Register the app with Meta, send install and in-app events through the Meta SDK or a measurement partner, and Madder will only trust installs it can see arrive.

Checked 6 Sep 2026

Budget half a day of engineering, then a release cycle on each store before the first install is attributed.

Before you start#

  • The app is live (or in TestFlight / internal testing) on the App Store or Google Play.
  • A business portfolio with the ad account, and a Meta developer account with access to it.
  • A decision on measurement: Meta SDK alone, or a mobile measurement partner (MMP) such as AppsFlyer, Adjust, Branch or Singular. Use an MMP if you advertise on more than one platform.

1. Register the app in the App Dashboard#

As of September 2026:

  1. developers.facebook.com → My Apps → Create App. Enter the app name and contact email, click Next.
  2. Pick the use case that includes app ads, then connect the app to your business portfolio when asked.
  3. In the app's dashboard add each platform under Settings → Basic → Add platform: bundle ID and App Store ID for iOS, package name and key hashes for Android.
  4. Switch the app from development to Live mode. Ads cannot deliver to an app in development mode.

Paste the app ID into Madder's campaign draft.

2. Send events — SDK or MMP#

  • Meta SDK. Add the iOS or Android SDK, initialise it with the app ID, and let it log Activate app automatically; log in-app events (Complete registration, Start trial, Purchase) at the moment they happen. No SDK means Meta optimises toward link clicks, not installs.
  • MMP. Install the partner's SDK instead and enable its Meta integration; the partner forwards installs and events to Meta and to Madder.

Either way, pick one in-app event (registration, trial) as the campaign's optimisation event.

3. Configure iOS attribution (SKAdNetwork / AEM)#

In Events Manager open the app → Settings → SKAdNetwork and configure the conversion schema so the events in step 2 map to conversion values; Meta recommends a 24-hour window. Aggregated Event Measurement does not cover app-install campaigns, so SKAdNetwork is the only iOS install signal.

4. Verify before launch#

Events Manager → app → Test events, install a test build, open it, and watch Activate app arrive.

5. The gate Madder applies#

Madder does not launch an app-install campaign on platform-reported installs alone. It waits for at least one install to arrive from your SDK or MMP; until then the draft shows the tracking item as todo. After launch, a rule watches the two numbers: if the platform reports installs but the MMP reports none for two hours, Madder proposes pausing the campaign as tracking broken.

Realistic timelines#

  • App Dashboard and SDK integration: hours.
  • Store review of the build with the SDK: one to several days per store.
  • First Android install attributed: same day as the first click.
  • First iOS install via SKAdNetwork: Apple delays postbacks — at least 24 hours, sometimes much longer — so day-one iOS figures look low.

If it doesn't work#

  • Events Manager shows no app events — app still in development mode, wrong app ID in the SDK init, or the MMP's Meta integration is disabled.
  • Android installs arrive, iOS none — SKAdNetwork schema not configured, or the SDK version predates SKAdNetwork support.
  • Platform installs high, MMP installs zero — the MMP attribution window or Meta integration is off; Madder's mismatch rule will fire, which is correct.