Meta Ads workflow4 prompts · controlled inputs

Find scaling Facebook ad creatives.

This workflow returns up to 5 verified scaling creatives.

Pick a niche, a country and a format. The workflow finds Meta creatives with a recent jump in launches, opens a representative ad for each one and returns a short watchlist you can check ad by ad.

2creatives verified

Example run · 13 Oct 2026 · ~3 min

Run in order

A 4-step research sequence

Prompts update as you change the inputs

Define the research scope

Fix the niche, country and format before any search runs.

View promptHide prompt
Prompt 01
Use the connected Spytrend MCP to define this scaling-creative research scope.

Niche (category slug): ecommerce_and_retail
Country (ISO-2): US
Media: All media

Keep the selected category, country and media as hard constraints. Use Meta only. Run heavy discovery calls sequentially. Do not broaden the scope to fill the result. Do not run discovery in this step.

Define scaling only as the returned `exploding` and `early_signal` launch-momentum/distribution signals used by this workflow. Creative reuse is not the scaling definition, ranking criterion or verification gate.

Return no more than three concise bullets: confirmed scope, verification gates and evidence limits. Do not show plan, quota, token balance, raw parameters or internal identifiers.

Stop after Step 1.
Find current scaling signals

Search your niche for creatives with a recent jump in launches and keep only those where your country holds a real share.

View promptHide prompt
Prompt 02
Cost guard: before each paid Spytrend call, run the free `estimate_cost` with the same tool and arguments, estimate the cost and stay within the user's stated budget; if the user has not stated a budget, tell them the estimate before the first paid call. If pricing consent is required, show the returned terms and stop until the customer explicitly agrees; never accept on the customer's behalf. If a required call does not fit the stated budget, make no paid call and return `Budget limit prevents required research`; omit an optional call that does not fit and disclose reduced coverage. When opening ads with `get_ad`, skip multilang ads (`is_multilang`) and never call `get_media` after `get_ad`. Retry once only when `retryable=true`, after `retry_after_seconds`. Read `params.ignored` after every search; an ignored required filter never counts as applied. If a search reports `pagination.total_status=restricted` (a free-plan archive window; `meta.plan_window_cutoff` names the boundary), tell the user the result covers only ads that started on or before that date, and never report a zero from it as "no such ads exist". Cost notices are not part of the final customer report.
Use the connected Spytrend MCP to find active Meta creative cohorts with current scaling signals for ecommerce_and_retail, US and All media.

Run the exploding and early-signal routes sequentially with limits 6 then 4 and the full response payload; do not request compact output or pass an unsupported verbosity parameter. Inspect the complete geo_distribution for every row. Retain a cohort only when US represents at least 40% of the returned distribution. Preserve internally the returned signal order and absolute launches, active ads and active advertiser-page counts.

If either discovery call returns retryable=true with retry_after_seconds, wait that delay and retry once identically. A final failure makes that route unavailable and the run Partial while the other route continues. A completed zero is valid zero evidence; unavailable is never zero.

Label a row Low-base acceleration when the exact returned comparable baseline field (`previous_ads` or `baseline_ads`) is 0 or 1, or `growth_basis` is `insufficient_base`. Do not invent or translate a missing baseline field. Never rank a low-base row by multiplier alone. Keep raw cohort identifiers and complete distributions in retained evidence only.

Return a concise progress summary of no more than eight bullets: route outcomes, returned count, country-qualified count, low-base count and at most four leading qualified cohort metric summaries using plain product labels when returned. Do not show raw IDs, tables, quotas, token usage or full rejected-country distributions.

Stop after Step 2.
Verify representative ads

Open a representative ad for each signal and check that it is active and matches your country, format and niche.

View promptHide prompt
Prompt 03
Cost guard: before each paid Spytrend call, run the free `estimate_cost` with the same tool and arguments, estimate the cost and stay within the user's stated budget; if the user has not stated a budget, tell them the estimate before the first paid call. If pricing consent is required, show the returned terms and stop until the customer explicitly agrees; never accept on the customer's behalf. If a required call does not fit the stated budget, make no paid call and return `Budget limit prevents required research`; omit an optional call that does not fit and disclose reduced coverage. When opening ads with `get_ad`, skip multilang ads (`is_multilang`) and never call `get_media` after `get_ad`. Retry once only when `retryable=true`, after `retry_after_seconds`. Read `params.ignored` after every search; an ignored required filter never counts as applied. If a search reports `pagination.total_status=restricted` (a free-plan archive window; `meta.plan_window_cutoff` names the boundary), tell the user the result covers only ads that started on or before that date, and never report a zero from it as "no such ads exist". Cost notices are not part of the final customer report.
Use the connected Spytrend MCP to verify representative ads for the country-qualified scaling cohorts already retained.

Open up to five representatives sequentially, one per cohort, so that 3–5 results can survive verification. Prioritize qualified cohorts with surviving active ads, meaningful absolute activity and a non-low baseline before low-base multipliers. Skip multilang ads (`is_multilang`). A sample qualifies only when it is active, uses All media, includes US, matches ecommerce_and_retail and clearly represents the same creative or the same product or offer as its cohort. Same advertiser, page or landing domain alone is insufficient.

If a representative fails only on country, status or format, run one bounded replacement `search_ads` for that cohort (source=meta, countries=[US], status_today=active, the representative's landing domain, limit=5) and open at most one returned ad; accept it only when it shows the same exact creative or the same product or offer as the cohort. A same-domain ad with another product never counts. If no replacement qualifies, keep a useful unresolved opened cohort under Signals needing verification with the exact reason; unopened cohorts are coverage limits, not verification signals.

If a representative-detail or replacement call returns retryable=true with retry_after_seconds, wait that delay and retry once identically. A final candidate-level failure excludes that candidate and is disclosed; it does not turn two completed discovery routes Partial. A failed required replacement search is unavailable replacement evidence, not zero.

Retain full evidence internally, including each verified and replacement ad ID for the supporting record. Return no more than eight concise bullets with verified count, useful unresolved count, rejected count, replacement outcome and short product/reason summaries. Do not show raw IDs, tables, quotas, token usage, raw calls or unrelated product details.

Stop after Step 3.
Return the watchlist

Rank the verified creatives, list the ones that still need checking and state what the data can and cannot show.

View promptHide prompt
Prompt 04
Using retained evidence only, write the final customer report without rerunning Spytrend.

Keep the complete answer under 380 words and table-free. Do not show raw IDs, category slugs, tracking domains, calls, route names, quotas, token usage or detailed rejected rows. Start with `# Meta Creative Scaling Watchlist: ` followed by the human-readable niche name and the full country name (for example `Ecommerce and Retail in United States`; never the slug ecommerce_and_retail or the code US), then one summary line with verified count, All media and Complete/Partial.

Complete means every configured discovery and selected verification call completed successfully. A completed replacement lookup with zero matching ads is valid zero replacement evidence and does not make the run Partial. An unresolved cohort affects that cohort only. A bounded page, additional available rows and the representative cap are coverage limitations, not failures. Use Partial only for a failed required call or unresolved required filter.

Show 3–5 verified results when that many qualify (never pad), each as one compact numbered block containing: product or offer; scaling label; Why now with absolute launches, active ads and active advertiser pages; representative status/country/format; advertiser; landing domain as plain text; exactly one Why inspect it. Mark Low-base acceleration visibly when applicable and do not foreground multipliers.

When zero cohorts qualify, omit an empty watchlist and use `## Result`. Add `## Signals needing verification` only for opened representatives with useful unresolved evidence, maximum two one-sentence items; never list unopened cohorts. Add `## Research coverage` with at most two bullets covering returned, country-qualified, opened, verified/unresolved counts and bounded-sample limits. State briefly that off-category representatives were excluded and no arbitrary same-domain replacement was accepted.

If the user later asks `Show supporting record`, list each row's Spytrend ad ID (verified and replacement), the calls and the rejected candidates from retained evidence without rerunning anything. Never put ad IDs in the main answer.

End exactly: `Scaling signals show observed launch momentum and distribution spread, not conversions, revenue, ROAS or profitability.`

Stop after Step 4.
OptionalRun the whole workflow in one promptView full promptHide full prompt
Full workflow
Cost guard: before each paid Spytrend call, run the free `estimate_cost` with the same tool and arguments, estimate the cost and stay within the user's stated budget; if the user has not stated a budget, tell them the estimate before the first paid call. If pricing consent is required, show the returned terms and stop until the customer explicitly agrees; never accept on the customer's behalf. If a required call does not fit the stated budget, make no paid call and return `Budget limit prevents required research`; omit an optional call that does not fit and disclose reduced coverage. When opening ads with `get_ad`, skip multilang ads (`is_multilang`) and never call `get_media` after `get_ad`. Retry once only when `retryable=true`, after `retry_after_seconds`. Read `params.ignored` after every search; an ignored required filter never counts as applied. If a search reports `pagination.total_status=restricted` (a free-plan archive window; `meta.plan_window_cutoff` names the boundary), tell the user the result covers only ads that started on or before that date, and never report a zero from it as "no such ads exist". Cost notices are not part of the final customer report.
Use the connected Spytrend MCP to prepare a concise customer-facing watchlist of Meta creative cohorts with returned scaling signals for the supplied controlled scope.

Execute every research stage in this prompt in one turn. Apart from mandatory pre-call cost notices, do not emit intermediate responses or stop after validation. Stop early only for invalid input or unavailable required evidence. Return only the final customer report.

Inputs:
- Niche (category slug, never shown to the customer): ecommerce_and_retail
- Country (ISO-2): US
- Media: All media
- Scaling modes: exploding, then early_signal
- Results: 3–5 verified cohorts when that many qualify

If any controlled value is invalid or inconsistent, return exactly `Invalid controlled input configuration` without an MCP call. Accept no customer-written query, brand, synonym, threshold, category, country or media substitution.

Use Meta read-only. Run heavy calls strictly sequentially. Run the exploding and early-signal `get_trends` routes with dimension=scaling, category=ecommerce_and_retail (no subcategory), countries=[US], media all, snapshot=v2, signals=v2, comparison=3d, baseline=median and bounded limits of 6 then 4. Request the full response payload; do not pass `verbosity=compact` or another unsupported verbosity value. Inspect the complete returned country distribution for every row.

Retain a cohort only when US represents at least 40% of the returned distribution. Deduplicate by exact creative-cohort/family evidence and representative ad ID. Preserve the returned signal order, absolute launches, active ads, active advertiser/page counts and complete distribution. A cohort is discovery evidence, not a verified product result.

Label a row `Low-base acceleration` when the exact returned comparable baseline field (`previous_ads` or `baseline_ads`) is 0 or 1, or `growth_basis` is `insufficient_base`. Do not invent or translate a missing baseline field. Never rank a low-base row by multiplier alone. Prefer meaningful absolute current activity and advertiser/domain spread before multiplier size; when the baseline is zero, do not present a finite multiplier as directly comparable.

Open up to five representative ads sequentially, one per cohort, skipping multilang ads (`is_multilang`). Prioritize country-qualified cohorts with active ads, meaningful absolute activity and a non-low baseline. A representative qualifies only when detail confirms active status, US, all, an allowed concrete ecommerce_and_retail product/offer and the same creative or product/offer represented by its cohort. Same advertiser, page or landing domain alone is insufficient.

If a representative fails only on country, status or format, run one bounded replacement `search_ads` for that cohort (source=meta, countries=[US], status_today=active, the representative's landing domain, limit=5) and open at most one returned ad; accept it only when it shows the same exact creative or the same product or offer as the cohort. A same-domain ad with another product never counts. If no replacement qualifies, retain the cohort under `Signals needing verification` only when useful.

Keep cohort scaling evidence separate from representative-ad evidence. A representative does not prove every cohort attachment has the same product, status, country or route. If no eligible representative verifies the product, place the opened cohort under `Signals needing verification` only when its cohort evidence remains useful; otherwise omit it. Never fill the watchlist with another product from the seller.

Use returned scaling labels only as defined by the MCP. Explain `Why now` with comparable returned fields such as launches, active ads, baseline ads, advertiser/page spread, activity and freshness. Never invent a score.

When a required call returns retryable=true with retry_after_seconds, wait that delay and retry once identically. A final failure of one scaling route makes the run Partial while the other continues. If both routes fail, report temporary unavailability. A failed call is unavailable evidence, never zero.

Write a table-free report under 380 words. Start with `# Meta Creative Scaling Watchlist: ` followed by the human-readable niche name and the full country name (for example `Ecommerce and Retail in United States`; never the slug ecommerce_and_retail or the code US), then show verified count, All media and Complete/Partial.

Show 3–5 verified results when that many qualify (never pad). For each show product/offer, returned scaling label, `Why now` with absolute cohort metrics and low-base label when required, representative status/country/format, advertiser, landing domain as plain text and exactly one `Why inspect it`. Add `Signals needing verification` only for opened useful unresolved cohorts, maximum two. Add Patterns only with at least two verified results and Research coverage with at most two bullets covering returned, country-qualified, opened, replaced, verified/unresolved counts and bounded coverage. State that off-category representatives and arbitrary same-domain replacements were excluded.

Hide service name, internal labels, raw IDs, calls, parameters, JSON, quotas, token usage, timing, retries and rejected-row dumps. Do not infer spend, performance, conversions, revenue, ROAS or profitability.

If the user later asks `Show supporting record`, list each row's Spytrend ad ID (verified and replacement), the calls and the rejected candidates from retained evidence without rerunning anything. Never put ad IDs in the main answer.

End exactly: `Scaling signals show observed launch momentum and distribution spread, not conversions, revenue, ROAS or profitability.`
Example output

Two verified scaling creatives in one ecommerce search.

A live run on 13 Oct 2026 used Ecommerce and Retail, United States and All media. Ten scaling creatives passed the US share check and five representative ads were opened. Two were verified: a men’s heavyweight cotton tee and a rivet nut installation kit. A third signal still needs a closer look.

Evidence boundaryTwo opened ads carried the ecommerce label but promoted a roof replacement program and a gym membership, so they were left out. The workflow never fills the list with off-category offers or with another product from the same store.
Scaling watchlist sampleExample run · 13 Oct 2026
What was foundWhy inspect itVerification
01Men’s heavyweight cotton teeExploding: 501 new launches yesterday after 483 the day before; 46 of its ads are still active across 3 advertiser pages. The US holds 63.7% of the creative’s ads.Verified · US · active videoLanding: nightshadezen.comFirst sample had stopped and ran in Poland; a US ad with the identical video replaced it
02Rivet nut installation kitExploding: 177 new launches yesterday after 114 the day before; 130 of its ads are still active across 17 advertiser pages. The US holds 66.7% of the creative’s ads.Verified · US · active videoLanding: megamaree.comOpened ad is the creative’s own representative
03Probiotic capsule bottleExploding: 330 new launches yesterday after 264 the day before; 564 of its ads are still active across 38 advertiser pages. The US holds 99.8% of the creative’s ads.Needs verification · US · active imageThe ad has no text and its landing page blocked access, so the offer is not confirmed
Example run: 2 discovery searches, 6 ad checks and 1 replacement search
Methodology

How scaling creatives enter the watchlist.

Published by Spytrend from a dated, bounded example.

Launch acceleration

Discovery starts from returned increases in creative launches, not inferred sales performance.

Scaling signal

Selected-market share

The selected country must represent at least 40% of the returned creative distribution.

Market gate

Representative ad

An opened ad must be active and match the country, media format and category.

Verification

Bounded interpretation

Launch momentum does not establish conversions, revenue, ROAS or profitability.

Evidence boundary
Evidence and limits

Use the signal with the right boundary.

What Spytrend shows

The launch jump, the share of your country, a representative ad, its advertiser, landing page, current status and the creative itself.

What the AI adds

Why a creative may deserve a closer look and which gaps in the evidence should lower its priority.

What stays unconfirmed

Missing fields are marked Not confirmed, never zero. An ad shown in another country does not confirm the country you picked.

About this workflow

How Spytrend spots scaling Facebook ad creatives

Spytrend groups identical Facebook and Instagram ad creatives into one card and counts how often advertisers launch them again. When those launches jump over the last few days, the creative is scaling: more ads, often from more pages, pushing the same video or image.

This workflow turns that signal into a short list you can act on. It filters by one of 33 Spytrend categories, keeps only creatives where your country holds a real share of the ads, and opens a live ad for each one so you can see the offer, the landing page and the format before you spend time on it.

Spytrend data this workflow uses
Launch jumpShare of your countryRepresentative adAdvertiserLanding pageCreative
FAQ

Before you run it

What is a Facebook ad scaling signal?

An observed jump in new launches of the same creative, or in the number of advertiser pages running it, inside Spytrend data. It shows that a creative is spreading. It is not proof of sales or profitability.

Does the representative ad prove the whole creative?

No. It verifies only the ad that was opened. The workflow keeps the creative-level numbers and the sample ad separate, so you always see which is which.

What happens when a sample ad runs in another country?

The workflow looks for an active ad in your country from the same landing domain that shows the same creative or product. If none passes every check, the creative leaves the main watchlist and appears under “Signals needing verification” with the reason.

Which niches can I pick?

Any of the 33 Spytrend categories, from Ecommerce and Retail to Travel and Hospitality. The prompt passes the exact category, so the results stay inside your niche instead of drifting into neighbouring ones.

Can every result open directly in Spytrend?

A result links to Spytrend when the MCP returns a link. Otherwise ask for the supporting record: it lists the Spytrend ad ID for each row, which you can paste into search in your Spytrend account.

Spytrend MCP

Run the workflow on live ad data.

Connect Spytrend MCP to your AI assistant, copy prompt 1 and continue through the four steps.