Every ad network publishes creative requirements, and a handful of them are strings that must appear verbatim. They look like copy. They are not copy. Editing one for tone is the most common reason a technically perfect playable is rejected.
The categories that bite
- Simulation disclaimers — required when the unit is not literal product footage. The wording, placement and minimum legible size are all specified.
- Age and rating marks — required in some regions and for some verticals, rendered inside the creative rather than the store listing.
- Financial language — several networks restrict currency symbols, returns language and anything resembling a guarantee in a fintech unit.
- Close and skip affordances — size, position and the delay before they appear are dictated by the network, not by the design.
Why it fails in review, not in QA
A tidied disclaimer still renders, still passes a build check and still looks correct in a preview. It fails days later at a human review step, after media has been planned around a launch date. The cost is the schedule, not the fix.
How we handle it
Required strings are treated as fixed assets attached to the network target, checked before export rather than written during the build. The static QA pass in the studio verifies presence, and the export refuses to package a unit whose required text has drifted from the reference string.
The rule for anyone writing playable copy: everything on the screen is yours to improve except the sentences the network wrote. Those are quoted.
Have a playable ready to ship? Check it against every network with the free playable ad tester. No signup.
Keep going
- Reference
Playable ad specs, network by network
File size, packaging, entry point, click handler and the one requirement each network fails you on. A working reference rather than a marketing page.
- Vertical
Playable ads for fintech and subscriptions
Sliders, scratch cards and the compliance sentences you cannot touch. What works when the product is a number and a promise.
- Technical
Why Mintegral still wants ES5
A tour of the PlayTurbo WebView's refusals — no clamp(), no flex gap, no safe-area insets — and how to build a fixed scaled stage that survives them.