The 100-ad QA checklist

Launching one ad, you eyeball it. Launching a hundred, a single wrong setting repeats a hundred times and spends real money before anyone notices. This is the check order that catches the expensive mistakes first: structure before creative, tracking before copy, and everything before the ads are unpaused. Work top to bottom, tick as you go, and treat any unchecked box as a reason not to publish.

0 of 31 checked

Before you build anything

  • The destination ad sets exist and are configured

    Optimisation event, budget, schedule and audience are set on the ad set, not left at defaults. Building ads into an ad set you still plan to edit means editing twice.

  • The optimisation event is the one you actually want

    Purchase, not Add to Cart, unless you have a deliberate reason. This single field decides who Meta shows the ads to, and it is the most consequential thing on the page.

  • Budget can support the number of ads you are about to create

    Divide the daily budget by the number of ad sets, then by the number of ads in each. If a cell cannot reasonably produce results in a week, you are buying noise.

  • Dynamic creative status is known for every destination ad set

    A dynamic creative ad set accepts exactly one ad. Pushing a batch into one fails on every ad after the first, usually with an unhelpful error.

  • The right page and Instagram account are connected

    Especially on a new ad account or after a permissions change. The wrong page publishes ads under someone else's brand.

Creative

  • Every ratio you intend to place has been exported

    Do not let Meta crop a 1:1 into a 9:16. Export the ratios you want, or accept that placements will show something you did not design.

  • Files are named so the ad names will make sense

    Concept, variant and ratio in the file name. If the file is called final_v3_REAL.mp4, the reporting will be unreadable in six weeks.

  • Text on image leaves room for the placement UI

    Stories and Reels overlay controls on the top and bottom of the frame. Keep key text inside the safe area.

  • First frame earns the stop

    Motion, a face, or a pattern interrupt in the first second. A slow open is the most common reason a good ad underperforms.

  • Advantage plus enhancements are opted out where the creative is tested

    If you are measuring the creative you shipped, Meta must not adjust brightness, add music, reframe or rewrite text on it. Verify what was applied after publish, do not assume the toggle held.

  • No stock or placeholder assets in the batch

    One placeholder that reaches delivery costs more in brand damage than the whole test earns.

Copy

  • Primary text, headline and description are all set

    Blank descriptions are filled in by Meta's automations on some placements, which means you did not write your own ad.

  • The offer in the ad matches the offer on the landing page

    The most common conversion killer is a headline promising something the page does not repeat in the first screen.

  • Claims are ones you can back up

    Meta enforces this, and so does the FTC. Personal attributes, health claims and before and after implications are the usual rejection causes.

  • No unfilled merge tokens or bracket placeholders

    Search the batch for curly braces and square brackets before publishing.

Tracking

  • Destination URL is correct and loads

    Click it. Then click it on a phone. A broken URL does not throw an error in Ads Manager, it just spends.

  • UTM template is applied to every ad, not just the first

    This is the check people skip, and the one that quietly destroys a month of attribution.

  • Meta dynamic macros survive to click time

    If your UTM uses campaign and ad set name macros, confirm the published URL still contains the literal braces rather than an encoded or resolved value.

  • Pixel and Conversions API are firing on the destination

    Check Events Manager, not your memory. Event match quality matters as much as the event existing.

  • The attribution setting is what your reporting assumes

    Comparing a 7-day-click ad set to a 1-day-click one and calling one a winner is a measurement error, not a result.

The publish step

  • Review the full list of ads that will be created

    Names, destinations, creative and copy in one view. Reading it takes two minutes and is the cheapest QA in the whole process.

  • Publish paused

    This separates creating ads from spending money on them. A mistake caught after publishing costs an archive click instead of a day of budget.

  • Ad count matches the plan

    Six creatives by three copy variations by four ad sets is seventy two ads. If the batch created a different number, something silently dropped or duplicated.

After publish, before unpausing

  • Enhancement state verified per creative

    Read back what Meta applied rather than trusting the request. This is the only way to know the ad running is the ad you built.

  • Preview at least one ad in every placement you bought

    Especially Reels and Stories. Cropping problems only appear here.

  • Nothing was rejected in review

    A shared copy or landing page problem rejects the whole batch at once. Fix it before unpausing the survivors.

  • Spend caps and schedules are in place

    Particularly on a new account or an unfamiliar client. The cap you set now is the mistake you do not pay for later.

First 48 hours

  • Spend is actually distributing across ad sets

    One ad set eating the whole budget on day one usually means the others are not getting a fair read.

  • No ad is delivering with an enhancement you opted out of

    Enhancement state can change after review on some accounts. Check once early, then weekly.

  • Analytics agrees with Ads Manager

    If your UTMs are right, session counts and platform clicks should be in the same neighbourhood. A large gap means the tracking check above missed something.

  • No decisions taken yet on under-fed cells

    An ad with forty impressions has told you nothing. Give each cell the events it needs before killing anything.

Run this once as a team and it takes twenty minutes. Run it as habit and most of it collapses into the launch tool: naming, UTMs, enhancement opt-out and the pre-publish review become settings rather than steps.

Want the editable copy?

The whole template is on this page already. Leave an address and we will send a copy you can edit, plus the occasional note when the Meta behaviour behind it changes.

Make these checks settings, not steps.

Launch 100 ads with one click. Free for 7 days, no card required.

Start free trial →