Skip to content

Ad Platforms ยท AppLovin

Last Updated: August 11, 2026

Compliance framework

How Tierra produces and debugs AppLovin creative compliance. The framework here is vertical-agnostic; a client's own flagged-word lists and rejection history live in that client's project.

Top-line rule: we always follow AppLovin's ad content policy and never manipulate an ad to get past review. Everything below is about discovering what AppLovin genuinely approves, so we run only genuinely-approved content. It's not about gaming the classifier.

AppLovin's content policy

Everything routes back to the live policy at legal.applovin.com. Read it there before a borderline launch; the summary below is orientation, not a substitute, and the specifics move.

AppLovin sorts everything into three buckets:

  • Prohibited: never allowed.
  • Restricted: allowed only with AppLovin's approval and specific conditions attached. Financial services and health and wellness live here.
  • Prohibited for minors: allowed, but never to under-18 audiences.

Some categories stay off even under Restricted: drugs for chronic or life-threatening disease, sexual-health products, fertility, mental-health treatment, prescription pain products, surgical procedures, and child-health products. Don't pitch a client into these on AppLovin.

Prohibited substances include kratom, ephedra, and anabolic steroids. Two notable exceptions are allowed with conditions: CBD and hemp products, and functional mushrooms.

Hemp and CBD run only when all of these hold:

  • THC under 0.3%, and no THCA, flower, vapes, or pre-rolls.
  • A 21-and-over age gate.
  • Only in permitted states. The list runs to roughly two dozen, and AppLovin maintains and shifts it, so treat it as live and re-check.
  • Certificates of analysis (the lab documents proving the THC level) available on request.
  • Express AppLovin approval before the first ad runs.

AI-generated content carries two firm rules, both close to AppLovin's own wording. First, it must carry required disclosures or labels, and you must hold the rights to use it. Second, the anti-circumvention rule: you may not manipulate ad components to bypass detection or otherwise interfere with AppLovin's systems.

Some jurisdictions, New York among them, require a clear disclaimer whenever an ad uses an AI avatar or synthetic likeness (a computer-generated face or voice standing in for a real person). The advertiser is liable and penalties run around $5,000 per instance, so disclose it.

Policy jurisdiction is the ad and its immediate landing page only. Email and post-purchase upsells sit outside the ad review, so don't rework a compliant funnel over something that only appears after the sale.

Other standing rules worth holding:

  • Politics and elections are prohibited outright.
  • Online pharmacy and telemedicine need LegitScript certification (a third-party program that vets pharmacies and health merchants), and prescription-product ads run only in a few countries: Canada, New Zealand, and the United States.
  • Subscription and recurring-billing offers must state the recurring terms and cancellation clearly and match the landing page. AppLovin's line is to describe pricing, promotional offers, and recurring billing terms accurately.
  • Claims must be truthful and reflect realistic, real-world results. AppLovin rejects instant or short-timeframe result claims.

How the review behaves

AppLovin's review is an AI classifier. Treat it this way:

  • Any edit triggers a full re-scan. There's no partial re-check. Change one element and the whole asset goes back through the classifier.
  • Results aren't perfectly stable over time. Identical assets can flip approve/reject across re-uploads and time windows, and a previously-approved ad can later reject. In one case, a video passed but the same content failed as an Interactive for "Legal Hemp Disclaimer." In another, old winners failed on re-upload after a policy change.
  • It's micro-sensitive. Element position alone flipped approve/reject on two near-identical Interactives.
  • The classifier is inconsistent specifically on interactives. The same disclaimer can pass one interactive and fail another in the same batch, so a resubmit or retry is a legitimate tactic here, not a workaround.
  • AI-generated content has to carry any required disclosures. Missing disclosures on AI content is its own rejection vector.
  • Localized or translated creative is re-reviewed on its own and tends to read hotter than the byte-identical English original. A passing English asset does not guarantee its translation passes, and mixed-language pages moderate worse than single-language.
  • Declines usually target the framing or the opening, not the underlying concept. A concept rejected with a clickbait close-up open often passes when re-cut to lead with a spokesperson or proof.
  • VSLs (video sales letters) work on AppLovin. We run them for some clients and get them approved. Have a rep pre-screen a VSL first; they draw heavier scrutiny, but a compliant one that avoids shady or unrealistic claims generally clears.
  • Video and static/interactive review run as parallel tracks, each format reviewed independently, which roughly halves the wall-clock time to a fully approved bench.
  • Turnaround runs roughly 4 to 24 hours, sometimes faster.

Operating stance: find where the line between approved and rejected sits, then run only content on the approved side of it. Use the chop test to locate that line, edit flagged sections to genuinely-compliant framing, and re-test. This discovers what AppLovin approves. It's never an attempt to slip disallowed content past the system.

Coffee-brand test

Apply it to every script, every on-screen text overlay, and every reply-to-comment bubble before upload:

If the copy could pass as an ad for a coffee brand or a meditation app, it'll pass. If it sounds like a pharmaceutical ad or a clinical solution for a physical deficiency, it won't.

This is a Tierra finding across hundreds of test uploads. Reframe pharmaceutical energy as lifestyle or vibe energy.

What the classifier reads

The AI categorizes ads as "Pharmaceutical" or "Adult Content" based on language patterns, on-screen text, and visual cues. Anything framed as "X solves a medical deficiency in your body" lands in Pharmaceutical. Anything that pairs a sexual narrative with a substance lands in Adult Content or Unsupported Category.

It reads all of these surfaces with equal weight:

  • The spoken script
  • On-screen text overlays
  • Whiteboard, chalkboard, or board-written text in frame
  • Emoji substitutions (a bed emoji plus "life" reads as sexual activity)
  • Reply-to-comment overlays (the AI reads them, and applies extra scrutiny)
  • Product packaging visible in frame (on one account, the packaging alone triggered a rejection with no explicit script)

Claims language

The misleading-claims fault line is completive vs stative phrasing. Permanent, completive verbs ("removes," "cancels your procedure," "replaces professional care") and invented conditions the product "eliminates" trigger rejection. Stative phrasing ("less visible," "fresher," "feels calmer") passes.

Professional-service-equivalence claims ("cancel your procedure," "replaces your dentist") read as Misleading Claims. Reframe the product as a complement to professional care, and use composition-not-efficacy phrasing: describe what it's made of, not what it does to a condition.

Hooks that imply the viewer is confused or misinformed about a medical condition (for example "still Googling what you're taking?") read as a medical claim or misinformation and get rejected.

Censored profanity must be fully illegible. A stylized mask that's still readable gets rejected.

Red / Green / Banana framework

Each vertical keeps three lists. The lists themselves are client-specific, but every vertical needs all three.

Red List (auto-flag, even in metaphor): performance words, physical metaphors, clinical implications, diagnosis framing, and sexual euphemisms. For one THC-gummy brand the list ran to "endurance, stamina, drive, boost, performance, spark, fire, chemistry, heat, magic, loss of interest, low mood, critically low, deficiency."

Green List (safe lifestyle framing): "vibe, connected, energy, date night, unwind, roommates, in a rut, co-existing." Other verticals translate this to their own safe vocabulary.

Banana Rule (visual): a suggestive visual (banana, peach, cross-section, mechanism animation) needs lifestyle text anchoring it in the first couple of seconds. A broken banana reads as a physical performance issue and gets Restricted/Adult. The fix is a text overlay like "Date Night," "Energy," or "Relaxation," which re-categorizes it from Sexual Health to General Wellness.

Vertical patterns:

  • Hemp/THC: a required disclaimer on every frame, no reveal delay. Style the legal disclaimer as white text on a solid black background. When it sits small at the bottom of the frame, that black background is what lets the classifier actually read it; white text on a light or busy background gets missed and flagged as a missing disclaimer. AppLovin reps endorse this as the standard, and it applies to regulated legal disclaimers generally, not just hemp. Use the client's approved disclaimer wording, and avoid sexual narrative arcs.
  • Supplements: watch for Better Business Bureau (BBB) complaint patterns, unsupported "Nx absorption" or extreme weight-loss claims, and subscription or free-trial offers that draw FTC (Federal Trade Commission) scrutiny.
  • Pet supplements: the grotesque-imagery filter has sub-detectors for lesions (skin cross-sections), trypophobia triggers (parasitic rods), and infestation (pulsating bacteria animations). Grotesque fires on the concept, not just on photorealism. Cartoonifying, blurring, or AI-cleaning diseased or affliction imagery still gets rejected, and lump-blur, canvas-blur, AI cartoon swap, and clip removal were all rejected on mechanism-of-action animation frames. A before/after caption can trigger Grotesque even when the image alone passed, because the caption makes the affliction legible; removing or renaming the caption can clear it. A whole product can end up effectively un-launchable, in which case pivot to a different item rather than fighting the filter.
  • Health/medical: "Unrealistic Medical Claims" is the dominant rejection category. Apply the completive vs stative rule from the Claims language section, remove explicit medical claims, reframe to inferred benefits, and drip-feed resubmits in small batches rather than flooding.
  • GLP-1 / online pharmacy: gate on LegitScript, require a "prescription required" disclaimer, and cut banned phrasing like "without prescription" or "guaranteed results."
  • Hearing aids: FTC-style scrutiny on claims. Avoid "risk-free," avoid specific star ratings without backup, and replace them with "Satisfaction Guarantee" or "1000s of 5 Star Reviews."

Disclaimer staples worth building in by default:

  • Non-FDA supplements need the FDA line: "not evaluated ... not intended to diagnose, treat, cure, or prevent."
  • An "award-winning" claim needs documentation on the landing page.
  • Pet-product disclaimers must say "a veterinarian," not "a doctor."

Rejection codes

Code Meaning Recovery
Unsupported Category Substance or content classified as a banned subcategory Pivot the framing language; remove the product name on-screen if the vertical flags it
Legal Hemp Disclaimer Hemp/THC disclaimer missing, illegible, or a false positive Make the disclaimer larger and clearly legible, white on solid black, show it every frame; escalate to AppLovin if it's a false positive
Misleading Claims Unsupported efficacy claims (health or beauty) Remove explicit claims, reframe completive to stative, reframe to inferred benefits
Harassment & Profanity On-screen or spoken Edit the content out; censored profanity must be fully illegible, a readable mask still rejects
Grotesque Imagery Pet or medical mechanism animations Avoid mechanism animations; use lifestyle framing; a before/after caption can trigger it on its own
Restricted/Adult Sexual visual metaphor without a lifestyle anchor Apply the Banana Rule; add a lifestyle text overlay
Aspect Ratio Not 9:16 Re-crop to 1080x1920
Video Length Over 60s (or rounds above on the encoder) Trim to 59s or less defensively

Chop test

A discovery tool for finding where the approval line sits, so we run only content on the approved side. It's not a way to push disallowed content through. When a rejection cause isn't obvious from the asset:

  1. Cut the video into 5 to 8 segments at the narrative beats.
  2. Upload each segment separately, outside the creative-approval flow (use Media-section testing).
  3. See which segments approve and which reject.
  4. Compare the approved segments against the rejected ones to isolate the trigger: narrative-arc context, a visible product name, on-screen text density, or specific framing language.
  5. Reframe the flagged segments to genuinely-compliant language (for example "spark" becomes "vibe," "mood," or "unwind") and re-test. Remember that any edit re-scans the whole asset.

A related discovery approach, section removal: upload the video with one section removed at a time, iterating until it approves, to pin down which section triggers the rejection. Then fix that section with genuinely-compliant framing.

Factor-isolation batching

The chop test finds the line inside one asset. Factor-isolation finds which variable across assets is costing approvals. Vary exactly one attribute per upload batch (hook first, then concept, then spokesperson) so a rejection attributes to a specific value rather than a mystery. Rules of thumb:

  • Over 20% rejection on one factor value: bench it.
  • Under 5% across the batch: scale the next factor.
  • 5 to 20%: manual review before deciding.

Rejection rates

Rejection rate is driven almost entirely by intake discipline, so use it to set throughput expectations with clients and new ops:

  • Undisciplined health-and-wellness intake runs high, roughly 50 to 60% or more.
  • Disciplined compliance work (coffee-brand test, clean framing, drip resubmits) brings health and medical down to about 5 to 10%.

Rates vary by vertical, so treat these as ranges, not guarantees. A borderline sexual-wellness or mechanism-of-action-animation batch can reject at 90% or more until the angle is fixed, while a compliant angle on the same product runs far lower.

Operating thresholds for a launch tranche:

  • 50 to 60% disapproval is normal for aggressive health-and-wellness intake.
  • Under 30% approval: stop and diagnose.
  • Under 40% approval: tighten the claims.
  • Over 70% approval: push harder, the funnel has room.

Funnel aggressiveness drives approval more than any single asset does.

Rejected ads and account health

A single rejection doesn't tank account delivery. But a prior strike raises the review's scrutiny on that same pattern going forward, so treat both as signals to watch: the rejection itself, and the tighter scrutiny it leaves behind. Before iterating on a top spender, audit it for now-banned terms, because a fresh iteration of an old winner can get flagged even though the original still runs.

Pre-launch workflow

Tierra's standard flow:

  1. Pre-launch compliance testing by the creative strategist: AppLovin flag testing, a copy-compliance check, and a coffee-brand test pass.
  2. Handoff to the media buyer for launch.
  3. When expected disapproval is high, drip-feed resubmits in small batches (10 to 12 sets per tranche). Read the approval rate, then prioritize the next tranche by the factors that survived.
  4. Reframe rejected assets to genuinely-compliant content and re-test. AI-generated assets carry any required disclosures.

Liability protection: when reviewing a client's landing pages for compliance markup, require the client to confirm they've complied with Tierra's standing markup checklist before Tierra reviews. Tierra approval shifts liability, so never approve content the client hasn't first attested to. This protects the AppLovin relationship if the client's claims later face scrutiny.

Tooling notes

  • Sora2 and Kling 3.0 (AI video generators) have been Tierra's iteration tools. Kling's cartoon-swap failed to clear the pet-supplement grotesque filter on mechanism-of-action frames, and a pivot to a compliant angle beat fighting the filter. Sora2 has had at least one rejection attributed to the generator itself, so consider tool diversity if rejections cluster on a single generator.
  • Interactive Builder (AppLovin's in-platform tool) is account-permission-gated. Rep-built tool quality is uneven, but the production tool works. Use it for Interactive scale.
  • Rep-supplied interactive templates sometimes ship with another advertiser's headline copy baked into the animation timeline, invisible to a static check. Catch it with timed render screenshots (see interactive production).