---
name: "ad_platform_selection"
description: "Choose which paid channel families fit a business before any campaign is built: unit economics, audience location, funnel stage, creative capacity, and minimum learning budgets, with a ranked channel plan and a written refusal list. Triggers when someone asks where to advertise, which ad platform to start with, how to split a first paid budget, or whether a channel is worth testing."
---

# Ad Platform Selection

## Purpose

Pick the channels before anyone builds a campaign. Most wasted ad spend starts one step too late, with good creative and clean tracking pointed at a channel where the buyers are not present, the intent does not match the offer, or the budget cannot buy enough conversions for the platform to learn. This skill runs the selection decision in a fixed order, economics first, audience second, budget floor third, and ends with a ranked plan plus a written list of channels to refuse for now, with the reason for each refusal.

Channel families covered: search (Google Ads, Microsoft Advertising), paid social feed (Meta, LinkedIn, TikTok), video and demand creation inside Google (YouTube and Demand Gen), retail media and marketplaces where the product is already listed, and programmatic display bought through a managed platform. Native and audio are treated as later stage add ons, not starting channels, unless the audience evidence says otherwise.

## Workflow

1. **Write the economics down first.** Record average order value or contract value, gross margin percent, repeat purchase or retention behaviour, and the sales cycle length. Compute the ceiling cost per acquisition the business can pay:
   - Contribution per customer = value x gross margin percent, using first order value for a one time purchase and cohort lifetime value for a repeat or subscription business.
   - Target CPA ceiling = contribution per customer divided by the LTV to CAC ratio the business needs. A ratio of 3 means the ceiling is one third of contribution.
   - Payback check: months to recover the target CPA from monthly gross profit per customer. If payback runs past the cash the business can carry, lower the ceiling before any channel is scored.
   - If none of these numbers exist, stop. Run a small search test to learn a real cost per lead first, or fix the offer math. Channel selection on invented economics produces a confident plan that fails on contact.

2. **Name the buyer and where the buyer actually is.** Write the buyer in plain terms: job and company size for business offers, life situation and buying trigger for consumer offers, service area for local offers. Then check audience presence per family using the platform planning tools, not opinions:
   - Search: does the buyer search for this problem, product, or provider by nameable queries? Check keyword planner volume for the exact service area or market. No search volume means no search channel, however good the intent would be.
   - LinkedIn: can the buyer be described by job function, seniority, industry, and company size, and does the resulting audience clear 300 members to run and get anywhere near 50,000 for steady delivery? A list of 40 dream accounts is an outreach list, not a paid audience.
   - Meta and TikTok: can the buyer be described by interests, behaviours, or a first party seed list, and is the buyer present on that platform in the target geography in real numbers? Use the platform reach estimate and record it.
   - YouTube and Demand Gen: is there watched content adjacent to the problem, and can the business supply video at all? See step 5.
   - Record each check with the tool, the date, and the number returned. Audience presence claimed without a planner number does not count.

3. **Match funnel stage to channel job.** Each family does a different job, and scoring a channel against the wrong job is the most common selection error:
   - Capture existing demand: search. The person is already looking. Best when the problem is known, named, and searched. Shortest path to a sale or a booked job.
   - Create demand in a feed: Meta, TikTok, LinkedIn. The person is browsing, not looking. Best for a clear visual offer, a problem people recognise when shown, or a defined professional audience. Expect a longer path, with nurture, retargeting, or a later search conversion doing part of the work.
   - Create demand on video surfaces: YouTube and Demand Gen. Best when the product needs showing, the story needs more than one image, or the brand already does paid social well and wants a second demand surface.
   - Harvest warm demand: retargeting on any family, brand search, and marketplace search where the listing already exists. Cheap and efficient, but it creates nothing new. It is a layer, never the whole plan.
   - Write the primary job for this business in one sentence, for example capture booked jobs this week, or build a pipeline of demos this quarter. Channels that do not serve that job score low on intent fit no matter how cheap their clicks look.

4. **Apply the learning budget floor, per channel, before ranking.** A channel the budget cannot teach is not a cheap test. It is an unreadable one. Compute the floor from the platform learning need in `references/budget-floors.md`:
   - Weekly learning floor for one ad set or campaign = events needed x target CPA.
   - Daily floor = weekly floor divided by 7.
   - Monthly test floor = daily floor x 30, for one consolidated ad set or campaign, not split across many.
   - Worked example: target CPA 40 dollars and 50 events needed gives a weekly floor of 2,000 dollars and a daily floor near 286 dollars for that one ad set. A 30 dollar a day plan on that channel will sit in learning limited and teach nothing reliable.
   - Count how many channels the total budget can fund at or above their floors. That count is the maximum size of the starting plan. If the budget funds one channel properly, the plan has one channel. Splitting a small budget across four channels is a refusal to learn anything from any of them.
   - The escape hatch when the floor is too high: optimise the channel for a higher funnel event that happens more often, such as a qualified lead form start or an add to cart, and say plainly that the data will be noisier. Or pick a different channel. Do not just spend below the floor and hope.

5. **Score creative capacity honestly.** List what the business can actually produce in the next 30 days, in finished assets, not intentions:
   - Search needs strong landing pages and tight copy. It needs no video and no photography beyond the page itself. Lowest creative load.
   - Meta feed needs fresh images or short video on a steady rotation. One static image reused for a quarter will fatigue.
   - TikTok and YouTube Shorts need native short video, filmed for the platform, on a repeatable cadence. A television style brand film cropped vertical does not count as supply.
   - Demand Gen needs a full asset set per campaign: images in 1.91 to 1, 1 to 1, and 4 to 5 ratios, plus video in horizontal, square, and vertical forms for full coverage. Partial sets serve on fewer surfaces.
   - LinkedIn needs credible professional creative and an offer a person can act on at work, such as a report, a calculator, or a booked call. Consumer style discount creative underperforms the audience expectation.
   - Score zero for any family whose required format the business cannot produce at all. A zero here refuses the channel regardless of its other scores.

6. **Score and rank with the worksheet.** Fill `references/channel-families.md` and run the scorer in `scripts/channel_score.py` on a CSV with one row per family. Dimensions, each scored 0 to 5 from the evidence gathered in steps 1 to 5: audience fit, intent fit, economics fit, creative fit, budget fit, measurement fit. Measurement fit asks whether conversion tracking for the real business event can be installed and verified on that channel, and whether the sales cycle fits the platform attribution window. Hard gates run before the weighted total:
   - Audience fit 0, creative fit 0, or budget fit 0 refuses the channel outright.
   - Economics fit 1 or lower, meaning expected CPA at planner prices sits above the ceiling from step 1, refuses the channel until price, offer, or margin changes.
   - Keep the CSV with the plan. A ranking without its input scores cannot be argued with or reused next quarter.

7. **Write the plan and the refusal list.** Deliver both, in the format in the Output Contract. The refusal list matters as much as the ranking: it stops the same weak channel being re-proposed every month, and it records what would have to change for the refusal to lift, such as a higher budget, a video supply, or a proven offer on a cheaper channel first. Set a review date, usually after one full learning cycle on the starting channel or 30 days, whichever is later.

8. **Sequence the start.** Start with the top ranked channel only, plus a retargeting layer once traffic exists. Add the second channel only when the first is at or above its learning floor and producing a readable cost per result, or when it has failed a fair test at a proper budget and the failure is documented. A fair test means at or above the floor, with tracking verified, for long enough to collect the events in `references/budget-floors.md`.

## Output Contract

Deliver, in this order:

1. **Economics block**: value, gross margin, contribution per customer, target CPA ceiling, payback, and the source of each number (actuals, planner estimate, or unknown).
2. **Scoring worksheet**: the CSV or table with one row per family, the six dimension scores, the weighted total, any hard gate that fired, and the planner evidence behind audience fit.
3. **Ranked channel plan**: channels in start order, the job of each, the daily and monthly floor for each, the planned starting budget, and the start condition for the second channel.
4. **Refusal list**: each refused channel, the gate or score that refused it, and the specific change that would lift the refusal.
5. **Worked comparison note**: one short paragraph on what would flip the ranking, for example a budget doubling, a video hire, or search volume appearing for a new category term.

Two full worked plans, one for a local service business and one for a software product, live in `references/worked-plans.md`. Match their level of arithmetic: every budget number in a delivered plan traces to a CPA and an event count, never to a round number picked for comfort.

## Operating Rules

1. No invented prices. Never state a cost per click, cost per thousand impressions, or cost per acquisition average as a fact for a specific business. Pull a live forecast from the platform planner for that market and date it, or label the number as a planning assumption the test must verify.
2. Economics before channels, always. A plan that names channels before it states the target CPA ceiling is returned and redone.
3. One channel funded properly beats four channels funded thinly. Enforce the learning floor even when the client or team wants presence everywhere.
4. A planner reach number is not a promise of results. It proves the audience exists in the tool. It does not prove the audience will buy.
5. Search volume is a gate, not a preference. If nobody searches for the thing, search cannot be the starting channel, and the plan must say so plainly.
6. Creative supply is scored on finished assets the business can ship in 30 days. Planned hires and hoped for shoots score zero until the assets exist.
7. Retargeting is never presented as a growth channel. It harvests demand other work created, and its budget comes after a prospecting channel is funded.
8. Every refusal names the condition that would lift it. A refusal without a lift condition is an opinion, not a decision record.
9. Re-run the selection when any input changes materially: budget changes by half or more, a new format supply appears, the offer price changes, or a channel completes a fair test and fails. Do not re-run it on a weekly opinion cycle.
10. Keep this file as the method. Family by family detail sits in `references/channel-families.md`, learning thresholds and floor formulas in `references/budget-floors.md`, and the two worked plans in `references/worked-plans.md`.
