Back to blog
AI Advertising14 min read17 September 2026

How AI Actually Builds an Ad Campaign End to End — Every Step, and Where It Breaks

Adyft Guide

AI Advertising

When people say "AI advertising" they usually mean one of two things: an image generator, or a bidding algorithm. A campaign is neither — it is about nine separate jobs chained together, and the AI is doing something genuinely different in each one. Some of those steps are well solved. Some are where almost every tool quietly fails. This is the whole pipeline, in order, with the failure points named rather than glossed.

1. Reading the business

The input is a website URL or a few lines of description. A language model reads it and produces a strategy: who the customer is, what the offer is, which objective fits, and what the ad should say. This is the step that replaces an agency onboarding call, and it is the step where the quality of your input matters most.

💡 The highest-leverage thing any user does is write this description properly. Two honest sentences about who your customer is and why they choose you produce a materially better campaign than any amount of switching tools. Most people type something generic, get a generic campaign, and blame the software.

2. Audience selection — where tools diverge most

This is the step that separates tools, and it is invisible on every feature list.

Meta exposes a targeting taxonomy through its API — interests, behaviours, demographics, life events. Roughly 284 behaviours in the current catalogue. The critical and widely misunderstood fact: Meta returns the same catalogue regardless of which country you ask about. There is no separate UAE list or UK list. Country-specific entries — the ones named for buyer value in a particular market — sit inside the one shared catalogue.

A tool that ships a hardcoded shortlist of interests will therefore silently drop every entry outside its list, including every country-specific one. The campaign still launches. It just targets less than it should, and nobody sees the difference because there is no error.

Hardcoded list

Fast, predictable, and silently wrong outside the market it was written for. Foreign campaigns lose exactly the signals that make them work.

Live taxonomy at build time

The tool queries Meta for the current catalogue, a model selects from it, and the chosen entries keep their real IDs. Slower to build, correct everywhere.

Layered segments

Rather than one flat audience, build separate segments so you can see which one performs. A flat list averages your winner and your loser together and tells you nothing.

We found this failure in our own product and it is worth stating plainly, because it is the kind of thing vendors do not publish. A hand-maintained list of fifteen behaviours was filtering the model's selections, and 161 of 177 chosen behaviours were being discarded for having no matching ID. India was the only market whose buyer-value behaviours survived, because the list had been written for India. Every foreign campaign was running without them.

3. Keyword research, for search

Search is a different problem from social. On Meta a poor audience wastes money slowly; on Google a poor keyword wastes money immediately and obviously.

The test that separates real tools from demos: does the tool pull live search volumes from the Google Keyword Planner API, or does it ask a language model which keywords are popular? The second approach is extremely common, because Planner access requires an approved developer token and a live Google Ads account, and guessing requires neither. It produces keyword lists that read beautifully and contain terms nobody searches.

💡 You can check this in two minutes. Ask the tool for keywords, take five, and paste them into Keyword Planner with your country selected. If several return no volume, the list was generated rather than researched — and the campaign built on it will get very few impressions for reasons the dashboard will not explain.

The other half of the job is negatives. Job-seeker terms, "free" and "how to" intent, out-of-area locations, competitor brands. A tool that builds keywords but not negatives has done the easy half.

4. Writing the copy

Straightforward for a language model, with two caveats that cost real money.

First, translation is not localisation. Copy translated from English into Arabic or Hindi reads as translated, because English ad copy leans on compression and wordplay that does not survive. The better approach is to give the model the offer and the audience and have it write in the target language from scratch.

Second, models produce the exact copy patterns that advertising regulators restrict — superlatives, invented statistics, outcome guarantees, testimonial framing — because that is what persuasive ad copy looks like in their training data. The model has no idea those words are regulated. The advertiser remains responsible, and "the AI wrote it" is not a defence in any market.

5. The image — and why most AI ads have a garbled price

This is the most visible failure in AI advertising and it has a specific cause. Image models cannot spell. They generate pixels that resemble letters, because they were trained on images rather than on text layout. Ask one for an ad with "30% OFF" on it and you will usually get something that reads as "3O% QFF" at a glance and worse on inspection.

The fix is to stop asking the image model to write. Generate the scene with the image model, then draw the headline, price and call to action over it as real text through a layout engine in real fonts. The text is then actually text — correctly spelled, correctly kerned, on brand.

One refinement matters: choosing the text colour by measuring the brightness of the exact region the text will sit on, rather than picking white and hoping. A white headline over a bright sky is invisible, and that is how a lot of otherwise good creative fails.

Photo optional

A real product photo composited into a generated scene beats a fully generated product every time — the product is actually yours. But a business with no photography should still be able to produce an ad.

Native aspect ratios

Feed 1:1, Story 9:16, Landscape 16:9 generated at the right ratio rather than cropped from one master, which is how faces end up cut off in Stories.

Carousel per-card destinations

Each card can point at its own page. Tapping the laptop lands on laptops. Without this the format loses the reason it works.

6. Video

Avatar-presenter video is now practical: a synthetic presenter delivering a script, optionally built from a photo of the actual business owner, with captions, translation and dubbing. The genuine constraints are encoding and duration rather than generation — vertical video has strict dimension requirements that platforms reject silently, and long encodes can time out an upload.

One regulatory note that catches people: an avatar speaking to camera about how good a product is reads as a customer testimonial. If it is not a real customer and is not clearly presented as an illustration, that is a problem in the UK and a risk most places.

7. Launch — the step with the most hidden failures

Launching means constructing a payload the platform accepts. The platforms are strict, their errors are unhelpful, and the rules are frequently undocumented. A sample of real ones:

  • 1Meta enforces a minimum daily budget per ad set, tiered by objective. On an AED account a conversion objective needs roughly AED 11.07 a day against AED 3.69 for an impression objective — about three times. A campaign set below it is refused with an error that does not mention the rule.
  • 2A WhatsApp call-to-action on a video creative cannot carry a link parameter. Meta returns code 105, subcode 1815630, described only as "number of parameters exceeded". An image creative accepts the identical value, so the fault is invisible until the first video ad.
  • 3A sales objective with link-click optimisation and a page promoted object is rejected outright, but the same combination is accepted under a traffic objective.
  • 4A Click-to-WhatsApp campaign requires the Facebook Page to have a WhatsApp number connected in Page settings. Without it the launch fails with an error that reads like a permissions problem.
  • 5A phone number that keeps its leading zero after the country code is added produces a chat link to a number that does not exist. The ad runs; every tap goes nowhere; nobody complains.

💡 There is a way to find these before a customer does. Meta accepts a validate-only flag on ad set creation — it checks the payload against the live API and returns the real errors without creating anything or spending anything. Running every payload combination through it found a launch-breaking bug that code review and a hundred real-data comparisons had both missed.

8. After launch — including when to do nothing

Performance syncs from the platform APIs. Ad set health is scored, creative fatigue and delivery anomalies flagged, and budget shifted between ad sets within explicit bounds — a capped fraction of the source ad set's budget, and never below the platform minimum for that account's currency.

The counter-intuitive part is that continuous adjustment can be actively harmful. Every edit to a live ad set restarts the platform's evaluation of it. We watched an ad set edited four times in quick succession serve zero impressions for fourteen hours while the same account delivered thousands elsewhere. Everything read healthy — active, funded, previews fine, payload validated by Meta itself. A fresh ad set, created once and left alone, delivered within the hour.

Two timing facts worth knowing so you do not go hunting for a fault that is not there. A new click or conversion ad set typically takes four to five hours before its first impression. Reach objectives start within minutes, which makes comparing the two misleading. And a flat zero delivery curve on a brand-new ad set means nothing at all — healthy campaigns show the same.

9. The lead, which is where most tools stop

A click is not a customer. For any business selling appointments, quotes or services, the campaign is only half the job and the other half decides whether it was worth running.

Capture

Native platform lead forms, with the question set chosen per campaign, so the form is filled inside the app rather than on a page that has to load.

Score

Each lead rated 0–100 on declared budget, timeline, prior visits, income band, age and device. The budget factor must be evaluated in the ad account's own currency — evaluating a dollar budget against a rupee threshold made every foreign lead score wrong, by a factor of roughly 85.

Alert

The owner told the moment a lead arrives, by WhatsApp and email. Response time decides conversion — a lead called within minutes converts far better than one called an hour later.

Never at the lead's expense

The lead is saved before any alert is attempted, and no alert failure can raise. The worst case is an unsent notification, never a lost lead.

One operational detail that matters more than it sounds: send the WhatsApp alert on a UTILITY template rather than a MARKETING one. Meta rate-caps marketing templates per user and delivers them differently. A lead alert on the wrong template category arrives late, or not at all, which defeats the entire point.

What AI still does not do

It does not know why your customers choose you. It does not know what a customer is worth to you, which is the number that decides whether any cost per lead is good or ruinous. It does not carry the regulatory responsibility for what it writes. And it cannot fix a destination that measures nothing — a campaign optimising toward a conversion event that never fires is optimising toward nothing, however good the targeting is.

💡 We ran a campaign to AED 0.34 per click at a 4.62% click-through rate that recorded zero product-page views, because the clicks landed on category pages where the tracking event did not fire. The advertising was good. The measurement was not, and on a conversion objective those are the same thing.

All nine steps, in your own ad accounts

Adyft does all nine steps into your own Google and Meta ad accounts, and shows you everything before it publishes. Fourteen-day free trial, no card.

Start free — no card needed
A

Adyft Team

Published 17 September 2026

© 2026 Adyft Technologies Pvt. Ltd.