DPLA3.2(f)

Account Terminated Under DPLA 3.2(f) Because Ads Did Not Match the Reviewed App

§ 01What this rejection usually means

Apple compared what your app promises in the market with what it showed during review and concluded the two are different products. Ad creatives are public and permanent evidence: if a campaign shows content, features, or templates that the reviewed build never displayed, Apple can read the app as switching after approval — an “A/B package” — even when nobody wrote an explicit review-mode switch.

§ 02What Apple’s wording tells you

App Review
Upon further review of the activity associated with your Apple Developer Program membership, it’s been determined that your membership, or a membership associated with your account, has been used for dishonest or fraudulent activity, in violation of the Apple Developer Program License Agreement.
App Review
App submissions from your account have engaged in concept or feature switch schemes to evade the review process, such as dynamically populating different app content after review, submitting apps with hidden features, repeatedly submitting misleading apps, and/or submitting apps with concrete references to content that you are not authorized to provide or is otherwise not appropriate for the App Store.

“Dynamically populating different app content after review” is the key phrase. It covers server catalogs and remote config, and it also covers content that only appears for users who arrive from a specific campaign. “Concrete references to content … not appropriate for the App Store” means the ads themselves may be part of the evidence.

§ 03Common causes

  • Creatives showing templates, effects, or content removed during review, or never submitted.
  • Different creatives per network or region, some of which were never compared to the build.
  • Attribution-based branching: users from certain Adjust trackers or campaigns land on a different home screen, catalog, or paywall.
  • Remote config that changed the content catalog after approval.
  • Earlier 1.1 or 2.3 rejections where content was removed for review but kept in ads.

§ 04How to diagnose your case

  1. Export all creatives from the last 90 days and screenshot the reviewed build’s matching screens. Put them side by side.
  2. Mark each creative: matches the reviewed build, exaggerates it, or shows something it does not have.
  3. Search the code for attribution and deep-link handling and list every branch that changes UI or content.
  4. Compare the remote-config values on each review date with the values served to users today.
  5. Check prior rejections on the account: anything removed for review but still advertised is the most likely trigger.

§ 05What to inspect in your project

  • Adjust: trackers, campaigns, ad groups, creatives, and deep-link targets
  • Ad network creative libraries (Meta, TikTok, Google, Unity, and others)
  • Attribution callback handlers and deferred deep-link routing
  • Remote-config and CMS history around every submission
  • Previous rejection messages and what was changed in response
  • Every app on the account, not only the latest

§ 06What not to do

  • Do not register a new developer account or move apps to someone else’s account.
  • Do not delete creative or config history. Pause it and keep records.
  • Do not write an appeal that blames the ad agency without showing what you changed.
  • Do not claim the app never changed after review if the content catalog did.

§ 07How to fix it

  1. Pause every campaign whose creative shows content not in the reviewed build.
  2. Remove code paths that change content based on attribution, campaign, or install source.
  3. Freeze remote config so review and users receive the same catalog.
  4. Write down a creative review rule: every new creative must be reproducible in the current approved build.
  5. Prepare the appeal with the audit, the changes, and the controls you added.

§ 08How to verify the fix

  • Install from a tracker link of each active campaign and confirm the experience matches organic install.
  • Diff remote config served to a fresh device against what review would receive.
  • Have someone outside the growth team check every live creative against the app.

§ 09What evidence to prepare

  • Spreadsheet of creatives with match / mismatch status and the date each was paused
  • Code changes that removed attribution-based branching
  • Remote-config snapshot showing a single catalog for all users
  • Internal creative-approval rule going forward
  • Timeline of submissions, rejections, and campaign launches

§ 10Suggested reply to App Review

Resolution Center · Reply
Hello App Review / Apple Developer Program,

We are appealing the Pending Termination Notice issued to our account under section 3.2(f) of the Apple Developer Program License Agreement.

We have reviewed our submissions and our user acquisition activity. We found that some advertising creatives, run through [ad networks, attributed with Adjust], showed [content / templates / features] that were not present in the version reviewed by App Review. We understand this made the app appear different from what was reviewed.

Actions taken:
- Paused all [number] campaigns whose creatives did not match the reviewed build, on [date]
- Confirmed the app does not change content based on attribution, campaign, region, or review status; [describe any code removed]
- Locked remote configuration so all users receive the same content as App Review
- Introduced a creative approval step: every creative must be reproducible in the current approved build

We did not intend to evade review, and we are committed to keeping our marketing consistent with the app Apple approves. We can provide the full creative audit and configuration history on request.

Thank you for reconsidering.

§ 11Should you appeal?

Yes — the appeal is the only route. Be specific and own the mismatch you found. A generic denial is unlikely to work when Apple can see the ads.

§ 12Questions people ask next

We never had a review-mode switch. Why were we flagged?
Apple judges what users experience, not only what the code says. Ads that promise content the reviewed build does not show can be enough.
Does using Adjust itself cause this?
No. Attribution is fine. The risk is using attribution data to show different content, or running creatives that do not match the app.
Are earnings lost?
The notice says payments are paused while the account is flagged. What happens next depends on the appeal outcome.

Related rejection wording

Related cases