Primary text is the main copy block of a Facebook or Instagram ad — the text that appears above the image or video. Meta truncates it after roughly 125 characters in most feed placements behind a "See more" link, which makes the first 125 characters the part that actually determines performance.
Meta technically allows thousands of characters of primary text, but placement rendering sets the real limit: most feed placements show ~125 characters (fewer on some surfaces, as low as ~40–80 with certain ad types) before folding the rest behind "…See more". Stories and Reels overlay even less. So primary text is two texts in one: a hook that must work standing alone, and an optional continuation for the minority who expand.
The hook carries the ad. Strong openings name the audience or problem immediately ("Running a Shopify store solo?"), lead with a specific outcome or number ("We cut our ad costs 43% in one month"), or open a curiosity gap honest enough to survive the click. Weak openings spend the visible characters on brand throat-clearing ("At Acme, we believe…") — the reader scrolls before the point arrives. Writing rule: put the entire reason-to-care before character 125, never let the truncation cut mid-claim, and treat "See more" as a bonus channel for proof, detail, and objection handling rather than as guaranteed reading.
On length overall, tests cut both ways: short, punchy primary text (one or two lines) keeps feeds clean and suits impulse offers; long-form "advertorial" text builds the case for considered purchases and often wins for higher-priced products — but only when the hook earns the expansion. What never wins is medium-length copy that buries its hook.
Mechanics worth knowing: Meta lets you provide multiple primary-text variants per ad (the system rotates and learns), emoji and line breaks render and can lift scannability when they match brand voice, and primary text pairs with the separate headline (≈40 visible characters, below the creative) and description fields — three slots, three jobs: hook, reinforce, qualify.
First 125 characters of a working hook: "Your product page already contains your best ad copy. Jupitron extracts it — 15 Google headlines + Meta ads in 30 seconds." (124 chars, claim complete before truncation). The "See more" continuation adds the free-to-use detail and social proof.
Hook in the first 125 characters always; total length depends on the purchase. Impulse/low-price offers favor 1–2 punchy lines; considered purchases often support long-form that earns its 'See more'. Test both with the same hook to isolate the variable.
Primary text sits above the creative and carries the message; the headline is the short bold line under the creative (~40 visible characters) that reinforces the offer or CTA. They're separate fields — write them as a sequence: hook (primary) → punch (headline).