The exact objectives, learning-phase thresholds, budget floors, creative specs and policy rules the agent works from — rendered from the same versioned knowledge module, nothing added.
Meta best practice · knowledge v2026-07-13.1, verified 2026-07-13
Connected platform: OAuth connect + sync live; publishing goes through the approval gate and META_TRAFFICKING_ENABLED.
Every campaign starts from a goal. Each goal maps to one Meta objective with its own optimization events, required setup and learning phase.
Allowed CTAs: learn more, see more.
Allowed CTAs: learn more, see more, get offer.
Allowed CTAs: learn more, see more, sign up, subscribe.
Allowed CTAs: sign up, learn more, get offer, subscribe, download, apply now, get quote.
Allowed CTAs: shop now, buy now, order now, get offer, subscribe.
Allowed CTAs: download, use app, sign up, learn more.
| Field | Hard max | Recommended |
|---|---|---|
| Headline | 255 chars | ≤ 40 chars |
| Primary text· check docs | 3000 chars | ≤ 125 chars |
| Description· check docs | 255 chars | ≤ 30 chars |
Headline: 255 is the API hard cap the repo already enforces; ~27 chars is safest before feed truncation.
Primary text: ~125 chars show before the fold ('see more'); hard cap re-verify against current docs.
Description: Shown only in some placements; keep to ~30 chars.
Ship the full ratio set per placement — serving one stretched asset everywhere is penalized by delivery ranking.
Ads may not assert or imply knowledge of personal attributes (health condition, financial status, race, religion, sexual orientation). Address the topic, never the person ('diabetes care' ok; 'your diabetes' not).
Housing, employment, credit and social-issue ads must declare special_ad_categories (targeting restrictions apply); health/pharma, alcohol, gambling and financial services have per-country restrictions or authorization requirements.
No claims of guaranteed health outcomes, cures or diagnosis; no before/after imagery implying results. (The tenant compliance gate enforces the hard cases.)
No clickbait, engagement bait or sensationalized language; quality ranking penalizes it even when approved.
Splitting budget across many narrow prospecting ad sets fragments the signal and keeps every set in learning. Consolidate: 1-2 broad sets, creative does the targeting. (The rules engine warns via interest_fanout.)
Building lookalikes from raw leads or thin seeds scales the wrong profile. Qualify the seed first (buyers, engaged users). (Rules engine: lookalike_on_unqualified.)
Significant edits (budget, targeting, creative) reset the learning phase. Batch changes; avoid daily budget nudges. (Rules engine: daily_edit_churn_risk.)
Serving one ratio everywhere is penalized by delivery ranking; ship the full ratio set per placement. (Rules engine: missing_required_format.)
Direct and human. The first sentence of the primary text must work as a standalone hook; concrete benefit over cleverness; no hype-words.
Lead with the strongest concrete claim in the first ~125 characters of primary text and the first 2 seconds of video; hooks phrased as a question or a specific number outperform generic openers.
Source: Meta creative best-practice docs; aligns with COMPONENT_LIMITS in the prompt builder.
Watch frequency and declining CTR rather than a fixed calendar; at sustained frequency above ~2-3 per week with falling CTR, rotate in new creative. Typical refresh window is every 2-4 weeks at steady spend.
Source: Meta delivery/auction guidance; the fatigue proposer uses the same CTR-decay signal.
Awareness: Awareness buys recognition, not action — judge it on reach and recall proxies, and retarget engagers with a Traffic/Leads campaign rather than expecting conversions directly.
Source: Meta ODAX objective guidance.
Sales: Run Sales only with pixel purchase events flowing; below ~50 purchases/week per ad set, consider optimizing on a higher-funnel event (add-to-cart, lead) until signal matures.
Source: Meta learning-phase guidance; same 50-events/week threshold as the rules engine.
Start on lowest-cost (no cap) to buy signal; introduce cost caps only after CPA stabilizes, and expect volume loss when the cap is near the observed CPA.
Source: Meta bidding strategies documentation.
Engagement: Engagement optimizes for interactions — conversational, opinionated copy earns comments; pure product copy underperforms here.
Source: Meta creative guidance per objective.
Last verified against official Meta documentation: 2026-07-13 (module v2026-07-13.1). Values marked “check docs” are guidance not yet confirmed against the platform's current published specs.
Questions? hello@dotstack.io