Meta Ads4 prompts · controlled inputs

Find products and offers advertised on Meta.

This workflow returns 3–5 verified product or offer families.

Discover concrete product and offer families, verify their current ads and decide which offers deserve creative and landing-page review.

5product families

Example run · 13 Oct 2026 · ~1 min

Published by Spytrend · 2 Oct 2026 · Methodology

Run in order

A 4-step product and offer workflow

Prompts update with the controlled inputs above.

Lock the market scope

Validate the controlled category, country and completed-day archive window.

View promptHide prompt
Prompt 01
Use the connected Spytrend MCP to prepare the controlled scope for a Meta product-and-offer discovery workflow. Do not make an MCP call in this step.

Selected configuration:
- Category: Ecommerce and Retail | ai_category=ecommerce_and_retail
- Subcategory: Electronics and Gadgets | ai_subcategory=electronics_and_gadgets
- Country (ISO-2): US
- Lookback: 30 completed UTC days
- Source/status: Meta / active now
- Limits: two discovery routes with five rows each; up to six ad details; one optional exact-domain family expansion with three rows and one additional ad detail; no advertiser details; 3–5 final families

The category value has the form `Name | ai_category=<slug>` and the subcategory value `Name | ai_subcategory=<slug>` (slug `none` = no subcategory). Use the slugs only in tool calls; in every customer-facing line use only the human name before `|` and the full country name. Allowed: concrete products from direct sellers that match the selected category (and subcategory when one is selected). Excluded: services, publishers, agencies, vague offers and unresolved entities. Exclude the open current UTC date and calculate the window: the last 30 completed UTC days ending yesterday. Treat the country as ad-delivery evidence, not headquarters, shipping, customers or sales. State the result unit: verified product or offer families (3–5 when evidence allows). Return only Scope, Archive window, Qualification boundary and Limits. Use customer-facing labels only; do not expose taxonomy slugs, enum values, or parameter names. Do not invent results.

Stop after Step 1.
Discover candidate ads

Run recent and most-reused views sequentially with identical scope.

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.
Continue from the retained validated category, country and completed-day scope. Use Spytrend read-only.

Treat search_ads as heavy and run exactly two searches sequentially, never in parallel. Both calls use source=meta, categories=[the ai_category slug from Ecommerce and Retail | ai_category=ecommerce_and_retail], countries=[US], the retained inclusive completed-day date_from/date_to, status_today=active, dedupe=false and limit=5. Include ai_subcategory=[the ai_subcategory slug from Electronics and Gadgets | ai_subcategory=electronics_and_gadgets] only when that slug is not `none`; otherwise omit it.

Route A: sort_by=date, sort_order=desc.
Route B: sort_by=most_reused_creative, sort_order=desc.

Do not add a query, brand, domain, media type, fallback category, generated synonym or extra route. Retry exactly once only when retryable=true with retry_after_seconds, after a fresh identical estimate. Preserve Route A order followed by previously unseen Route B rows and deduplicate only by exact ad ID. Taxonomy is discovery evidence, not product verification.

Retain internally the exact arguments, full rows, provenance, route outcomes, actual debit and remaining budget for the next step; never print retained state in progress or commentary. Return only route completion, delivered-row count, deduplicated-candidate count and explicit failures. Do not present product families yet.

Stop after Step 2.
Verify product families

Open bounded candidates and merge only evidence-proven product identities.

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.
Continue from retained discovery evidence and remaining budget. Inspect at most six unique candidate ads sequentially with get_ad(source=meta, id=<exact returned ID>), alternating routes when distinct, skipping multilang rows (`is_multilang`) and only when each estimate fits; stop opening once five families are verified. Do not call get_advertiser. Show advertiser name only when get_ad explicitly returns it; never derive it from title, page, domain or URL.

A Verified family requires a concrete product allowed by the retained controlled rules, the selected country in returned delivery countries, active returned status, archive-window evidence, identifiable advertiser/page or an explicitly disclosed missing name, destination when returned and at least one representative ad. Exclude vague brand awareness, services, marketplaces without a concrete product, unrelated matches and unresolved product identity.

Merge ads only when product name/model, landing route/SKU, explicit offer wording or an equivalent stable identifier proves the same product, product line or bundle. Shared category, visual similarity, advertiser or domain is insufficient. Keep materially different models, bundles, sizes, use cases or prices separate when they change the buying decision.

Count active ads and pages only from distinct verified inspected rows and label them inspected-sample counts. Use larger reuse counts only when explicitly returned for the exact verified family and separately scoped. If reuse scopes conflict, exclude those figures from ranking. Repeated launch needs at least two ads for the same family with distinct explicit start dates. Recent expansion needs an explicit comparable time series.

Normalize actual delivered assets only as `Image`, `Video`, `Image and video` or `Not returned`. Multiple assets do not prove Carousel, slideshow or placement. Do not list platform placements unless the customer explicitly requested them.

Rank up to five families by comparable inspected active-ad count, page count, reconciled exact-family reuse, duration/start date and directness of fit. Preserve tied status while assigning unique consecutive display positions for navigation; use discovery/verification order only as the display tiebreaker and say that tied metrics do not imply superior performance.

If no family yet has two verified inspected ads, the highest-ranked eligible family has a clear exact landing domain and the expansion plus possible detail fits the remaining budget, run at most one optional `search_ads` expansion for that domain. Preserve source, category, subcategory, country, window, active status and `dedupe=false`; add only exact landing domain, date descending and `limit=3`. Do not rerun core routes. Open at most one uninspected expansion row when its estimate fits. Merge only when detail proves the same product/model, route/SKU or equivalent offer. Keep the total ceiling at six initial plus one expansion detail.

A failed core discovery or failed selected initial detail call makes the run Partial. A completed detail whose candidate is nonqualifying is valid exclusion evidence and does not make the run Partial. Returning fewer than three families is never by itself Partial; say why fewer were verified. A completed optional expansion that returns zero, a duplicate or another product is valid evidence and keeps an otherwise Complete run Complete. A failed optional family expansion does not downgrade an otherwise Complete run; retain the original verified counts and disclose the optional aggregation evidence gap.

Retain all verified evidence, call outcomes, actual debit and remaining budget internally for Step 4; never print raw retained state in progress/commentary. Return only inspected ads, verified family names, exclusions by reason and Complete/Partial status. Do not write the dashboard yet.

Stop after Step 3.
Present the shortlist

Return 3–5 verified families with clear evidence limits.

View promptHide prompt
Prompt 04
Using only the retained verified evidence, write a compact table-free customer dashboard of no more than 600 words with 3–5 verified families when evidence allows. Do not rerun discovery or verification calls.

Start exactly:
# Products Advertised on Meta: [category name] in [full country name]

Use only the human category name from Ecommerce and Retail | ai_category=ecommerce_and_retail (the part before `|`) and the full name of US; never show `ai_category`, slugs or ISO codes.

Then show:
**[N] verified product families** · Active now · 30-day archive window · **[Complete/Partial]**

Add: Ranked by observable activity within the inspected sample, not by sales or advertising performance.

With at least two families, include `## Shortlist`. Every shortlist entry must use: `**[position]. [Product or offer]** — [N] active ad/ads in inspected sample · [M] returned page/pages · [primary format]`. Apply correct singular/plural grammar: `1 active ad`, `2 active ads`, `1 returned page`, `2 returned pages`. Use unique consecutive display positions even when metrics tie, and state the tied metrics separately. Each family section contains separate short labeled paragraphs: Observed activity; Product / offer; Advertiser; Representative message; Timing and status; Format and CTA; Landing page; Evidence; Why review it. Include exactly one concrete Why review it action.

Attribute product benefits, prices, discounts, ratings and customer counts to advertisers. Do not infer profit, bestseller status, conversions, sales, ROAS, market leadership or performance. Use `Started [date]` only for an explicit Facebook start date; never relabel it first observed. Show a stable Spytrend action only when explicitly returned; otherwise say Evidence reference not returned. Never expose internal UUIDs, raw JSON, quotas, credentials, schema details, rejected rows, taxonomy slugs, ISO codes, tool names, raw parameter names or raw field names. Translate evidence into plain customer language, such as `returned active duration` instead of `days_active` and `domain-associated entity` instead of `webmaster`.

With at least two families, add Patterns with two or three sample-specific comparisons. Under Research coverage use at most three bullets for research date/window/status, route/row/detail/family counts and bounded-sample/evidence limitations. For one family omit Shortlist and Patterns. For zero use Result and Research coverage. Do not use tables or trailing backslashes.

Never identify or describe rejected candidates in the customer report. Coverage may state only the excluded count and a generic reason class such as `off-scope or insufficient product evidence`.

End exactly:
Meta archive activity is an observed advertising signal, not proof of spend, reach, engagement, conversions, sales, revenue, ROAS, profitability, bestseller status or complete market coverage.

Stop after Step 4.
Use the complete workflow in one promptAll four steps and evidence rulesView promptHide prompt
Complete 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 polished customer-facing dashboard of concrete products and offer families currently advertised on Meta in the supplied controlled category, country and archive lookback.

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

The result unit is a verified product or offer family, not an individual ad, advertiser list, creative-inspiration gallery, performance ranking or complete market census. Aim for 3–5 verified families.

Selected configuration:
- Category: Ecommerce and Retail | ai_category=ecommerce_and_retail
- Subcategory: Electronics and Gadgets | ai_subcategory=electronics_and_gadgets
- Country (ISO-2): US
- Lookback: 30 completed UTC days
- Source/status: Meta / active now
- Allowed products/entities: concrete products from brands and direct sellers matching the selected category (and subcategory when one is selected)
- Excluded products/entities: services, publishers, agencies, vague offers, products outside the selected category/subcategory and unresolved entities
- Limits: two discovery routes with five rows each; up to six initial ad details; one conditional family-expansion route with three rows and one additional ad detail; no advertiser details; 3–5 families in the answer

The category value has the form `Name | ai_category=<slug>` and the subcategory value `Name | ai_subcategory=<slug>` (slug `none` = no subcategory). Use the slugs only in tool calls; in every customer-facing line use only the human name before `|` and the full country name. Accept no customer-written query, synonym, brand, threshold, category, country or alternative lookback.

Use the current UTC date returned by the environment. Exclude the open UTC date. Calculate the window: the last 30 completed UTC days ending yesterday and show both dates in Research coverage.

Treat the selected country as returned ad-delivery-country evidence. It does not prove advertiser headquarters, registration, local inventory, shipping, customers, sales or country dominance.

Use Spytrend read-only.

Treat search_ads and all search/discovery tools as heavy. Run exactly one heavy call at a time, wait for its response and never batch, parallelize or use Promise.all for heavy calls.

Inspect the live search_ads schema. Run exactly two sequential search_ads calls with source=`meta`, categories=[the ai_category slug from Ecommerce and Retail | ai_category=ecommerce_and_retail], countries=[`US`], date_from and date_to = the first and last day of the calculated window, status_today=`active`, dedupe=false and limit=5. Include ai_subcategory=[the ai_subcategory slug from Electronics and Gadgets | ai_subcategory=electronics_and_gadgets] whenever that slug is not `none`; omit it only when it is exactly `none`.

Never remove a configured subcategory to recover from an endpoint rejection. If the endpoint rejects a configured category/subcategory pair, make no broader discovery call and return a concise Partial result stating `Unsupported controlled category mapping`. This indicates a backend allowlist defect. Do not substitute another category, subcategory or query.

Route A uses sort_by=`date`, sort_order=`desc`. Route B uses Meta's supported sort_by=`most_reused_creative`, sort_order=`desc`. Do not substitute `days_active`. Do not add a query, brand, domain, media type, unconfigured subcategory or generated synonym.

Treat the date filters according to the exact connected schema/response semantics. Do not claim every returned ad launched in the window unless start-date evidence independently proves it. Customer wording should say the ads were observed in or overlapped the selected archive window.

Deduplicate rows by exact ad ID. Preserve Route A order followed by previously unseen Route B rows. Locally reject only explicit controlled-scope conflicts. Never select a row because the brand is familiar.

Inspect at most six unique candidate ads sequentially with get_ad(source=`meta`, id=<exact returned ID>), alternating discovery routes when distinct, skipping multilang rows (`is_multilang`) and only when each estimate fits the stated budget. Stop opening once five families are verified. Prioritize explicit product evidence and route diversity. Do not open weak rows only to fill the result. If a further detail does not fit the budget, omit it, disclose reduced coverage and keep the verified evidence already retained.

Do not call get_advertiser in standard mode. Show an advertiser name only when get_ad explicitly returns it; never derive a name from the title, page, domain or URL. Otherwise say `Advertiser not returned`.

A product/offer family is the same identifiable product, product line, bundle or service offer. Merge rows only when product name/model, landing route/SKU, explicit offer wording or an equivalent stable identifier proves shared identity. Category similarity, visual similarity, one advertiser or one domain alone is insufficient.

Keep materially different models, bundles, sizes, use cases, prices or service offers separate when they change the buying decision. Group minor variants only when the shared product line is explicit. Never infer family membership from an image you cannot inspect.

After initial verification, if no family has two verified inspected ads, at least one verified family has an exact returned landing domain and the expansion plus one possible detail can fit the retained budget, run at most one conditional family-expansion `search_ads` call for the highest-ranked eligible family. Preserve the same source, category, configured subcategory, country, date window, active status and `dedupe=false`; add only `landing_domain=<exact returned registrable domain>`, `landing_domain_exact=true`, `sort_by=date`, `sort_order=desc` and `limit=3`. Do not rerun either original discovery route and do not expand a weak or conflicting domain identity.

Open at most one previously uninspected expansion row with `get_ad` when its estimate still fits. Add it only when detail proves the same product/model, route/SKU or equivalent explicit offer. A shared domain, page or creative is insufficient. The total ad-detail ceiling is seven: six initial plus one conditional expansion detail. If expansion returns another product, exclude it without replacement or broadening.

Classify a family as Verified only when current-run evidence establishes a concrete eligible product/offer, US in returned delivery countries, active returned status, archive-window overlap under the route semantics, an identifiable advertiser/page or explicitly disclosed missing name, destination when returned and at least one representative evidence ad.

Exclude vague brand awareness, category-only language, editorial content, jobs, investments, marketplaces/general retailers without a concrete eligible product, excluded products/entities, unrelated taxonomy matches and unresolved product identity.

Count `active ads in inspected sample` only from distinct verified returned ad rows belonging to that family. Count advertisers/pages only from distinct verified identities in the inspected sample. Label both as sample counts. Show a larger attached-ad/reuse count only when it is explicitly returned for the exact verified family and keep its scope separate.

Normalize actual delivered assets only as `Image`, `Video`, `Image and video` or `Not returned`. Multiple assets do not prove Carousel, slideshow or placement. Do not list platform placements unless the customer explicitly requested them.

Before using any exact-creative or reuse field in ranking, compare every returned count for that creative. If counts conflict or their scopes cannot be reconciled, exclude all conflicting reuse figures from ranking. In the customer answer either say `Additional creative-reuse counts were returned with unreconciled scopes` without numbers, or omit them. Never resolve the conflict by choosing the larger, newer or route-level value.

Repeated launch requires at least two distinct verified ads for the same family with distinct explicit start dates. Recent expansion requires explicit comparable time-series counts. Do not infer either from unverified rows, archive totals or a recent representative ad.

Rank up to five families by: distinct active ads in the inspected sample; distinct returned advertisers/pages, with identity confidence kept separate; explicit exact-family reuse count; returned active duration/start date; then directness of category fit. Use only comparable evidence, preserve ties and never invent a score.

When all comparable activity signals tie, preserve discovery and verification order. Keep the tied status explicit, but use unique consecutive display positions and section numbers so the customer can navigate the result. Replace the standard ranking sentence with: `Ordered by discovery and verification sequence because the comparable inspected activity signals were tied.` Do not imply that earlier rows performed better.

Do not call search_creatives, get_creative, get_trends, search_shops, get_shop, search_webmasters, analytics or external web tools. Retry exactly once only when retryable=true with retry_after_seconds, after a fresh identical estimate. A failed core discovery route or failed selected initial verification call makes the run Partial; continue remaining required sequential work. A completed detail whose candidate is nonqualifying is valid exclusion evidence and does not make the run Partial. Returning fewer than three families is never by itself Partial; say why fewer were verified. A completed optional expansion that returns zero, a duplicate or another product is valid evidence and keeps an otherwise Complete run Complete. A failed conditional expansion does not invalidate already verified families or make an otherwise Complete run Partial; disclose it as an optional aggregation evidence gap.

Show an explicitly returned stable first-party link only as `Evidence`. Otherwise show a stable source evidence ID only when explicitly returned as such. Never name the service in the customer answer, construct URLs or expose internal UUIDs, raw JSON, signed media URLs, credentials, quotas, schema details or rejected rows. Keep taxonomy slugs, ISO codes, route names, tool names, raw parameter names and raw field names out of the customer answer. Translate returned evidence into plain customer language: for example, say `returned active duration` rather than `days_active`, and `domain-associated entity` rather than `webmaster`. If neither a link nor stable source evidence ID is returned, say `Evidence reference not returned`.

Use advertiser claims attribution for product benefits, prices, discounts, ratings and customer counts. Never call a product profitable, bestselling, high-converting, winning, scaling, popular or a market leader. Never infer spend, reach, engagement, conversions, sales, revenue, ROAS or profitability.

Use a compact table-free dashboard of no more than 600 words. Start exactly:
`# Products Advertised on Meta: [category name] in [full country name]`
Use only the human category name from Ecommerce and Retail | ai_category=ecommerce_and_retail (the part before `|`) and the full name of US; never show `ai_category`, slugs or ISO codes.

Then show:
`**[N] verified product families** · Active now · 30-day archive window · **[Complete/Partial]**`

Add one sentence: `Ranked by observable activity within the inspected sample, not by sales or advertising performance.`

With at least two families, add `## Shortlist`, one paragraph per family:
`**[rank]. [Product or offer]** — [N] active ad/ads in inspected sample · [M] returned page/pages · [primary format]`

Apply correct singular/plural grammar: `1 active ad`, `2 active ads`, `1 returned page`, `2 returned pages`.

Do not reduce the Shortlist to names only. Every displayed family must retain these inspected-sample metrics and primary format in the Shortlist.

For each family create a numbered section with short labeled paragraphs:
- `Observed activity` — exact sample counts and any separately scoped explicit reuse/duration signal.
- `Product / offer` — concrete buying proposition and material variant/bundle details.
- `Advertiser` — returned name/page and domain identity confidence.
- `Representative message` — concise copy/angle with advertiser claims attributed.
- `Timing and status` — active status, explicit start date and duration when returned.
- `Format and CTA`.
- `Landing page` — safe destination link/route when returned.
- `Evidence` — returned stable first-party link or stable source evidence ID; otherwise the exact unavailable sentence.
- `Why review it` — exactly one concrete comparison or inspection action.

With at least two families, add `## Patterns` with two or three sample-specific comparisons. Do not call them market trends.

Under `## Research coverage`, use at most three bullets for research date/window/status, discovery/inspection/family counts, and bounded-sample/evidence limitations. Do not expose tool names, raw calls, route labels or raw field names.

Never identify or describe rejected candidates in the customer report. Coverage may state only the excluded count and a generic reason class such as `off-scope or insufficient product evidence`.

For exactly one family omit Shortlist and Patterns. For zero show `## Result` and Research coverage without empty sections or padded candidates.

Do not use Markdown/HTML tables or trailing backslashes. Before sending, verify exact family identity, active/country/window evidence, sample-count labels, advertiser/domain wording, ranking, link/ID handling and Complete/Partial status.

End exactly:
`Meta archive activity is an observed advertising signal, not proof of spend, reach, engagement, conversions, sales, revenue, ROAS, profitability, bestseller status or complete market coverage.`

Only after a separate request exactly saying `Show audit details`, provide a non-sensitive audit using retained responses only: live schema interpretation, exact calls, parameter application, route order, delivered rows, deduplication, detail/advertiser decisions, family grouping, ranking, failures, timing and usage. Do not rerun Spytrend calls for the audit.
Example output

Five electronics and gadgets offers in one bounded US sample.

An Ecommerce and Retail · Electronics and Gadgets run for the United States on 13 Oct 2026, covering the last 30 completed days, verified five concrete product families. The newest-launch view and the most-reused-creative view were combined; one optional same-domain check added a second iPhone 16e ad.

Evidence boundaryThe unit is a verified product or offer family. Search totals and creative reuse are not product-family counts.
01

iPhone 16e with a Boost Mobile switch

2 active Image ads on 2 returned pages, started 7 and 9 Oct: the phone “on us” with a $60 Unlimited plan, or $29.99 when switching. Shop now · boostmobile.com.

Verified family
02

BLUETTI Elite 300 power station

1 active Video ad, started 12 Oct: 3kWh home-backup and outdoor battery with 2,400W output and solar charging. See details · bluettipower.com.

Verified family
03

AI translation glasses

1 active Video ad, started 12 Oct: real-time translation in 80+ languages, camera translation and directional audio. Shop now · nookvely.com.

Verified family
04

Statik MagStack Pro cable

1 active Video ad, started 12 Oct: tangle-free charging cable with short car lengths, sold as a limited-time deal. Shop now · statik.com.

Verified family
05

JLab JBuds Mini earbuds

1 active Video ad, started 12 Oct: keychain-size true wireless earbuds at a low price point. Shop now · jlab.com.

Verified family
Example run · 13 Oct 2026 · 13 candidates · 6 ad checks · 5 verified families.
Methodology

How product families are discovered and verified.

Published by Spytrend from a dated, bounded example.

Controlled discovery

Two sequential views use the same category, country, active status and date window.

01

Detailed qualification

Every displayed family needs a concrete product, market evidence and an inspected representative ad.

02

Strict family identity

A shared category, advertiser or domain cannot merge materially different products.

03

Bounded ranking

Only comparable observations inside the inspected sample affect order.

04
FAQ

Before you run it.

What is a product family?

The same identifiable product, line, bundle or service offer supported by stable returned evidence.

Does a high reuse count mean a bestseller?

No. Creative reuse is archive evidence and does not prove product sales or performance.

Why might the result contain fewer than five families?

The workflow does not weaken product identity or market gates to fill the shortlist.

Does country evidence prove shipping?

No. It confirms returned ad-delivery geography only.

Spytrend MCP

Find concrete Meta offers without performance claims.

Connect Spytrend MCP, choose the controlled inputs and run the four prompts.