Writing Facebook ad copy that converts for a Shopify store

Four angles that work for physical products, the structure of a primary text that gets read, and the phrasings that get an ad rejected.

Copy matters less than the image and more than the targeting. That ordering surprises people, and it is worth holding onto: nobody reads the primary text of an ad they scrolled past, and no phrasing rescues a product nobody wants. But among ads that stop the scroll, the words decide who clicks.

Here is what actually works for a store selling physical products.

Write four angles, not four variations

The single highest-return decision is to write genuinely different ads rather than four rewrites of the same sentence.

The use-case angle. Show the product doing its job in a specific situation. “Fits a 13-inch laptop, a water bottle and a change of clothes” beats “spacious and versatile” because it is checkable.

The problem angle. Name the frustration the product removes — carefully, because this is where rejections come from. Write about the problem in the third person, never as an assertion about the reader.

The proof angle. A specific review, a number, a fact about how it is made. “1,900 reviews, 4.7 average” works. “Loved by customers” does not.

The objection angle. Address the reason people do not buy. Free returns, a real warranty, how long shipping takes. This one converts better than it deserves to, because it is the question in the reader’s head.

Run all four against the same audience before you touch the targeting. The spread between your best and worst angle will usually be larger than the spread between any two audiences you could have tested instead.

The structure of a primary text that gets read

Meta truncates after roughly 125 characters on most placements. That is your real estate; everything after “See more” is read by a small minority.

Line 1  — the hook. Specific, concrete, no throat-clearing
Line 2  — what it is and who it is for
Line 3  — one proof point or one objection removed
Line 4  — the call to action

Practical rules:

  • Put the product in the first line. Curiosity-gap openings get scrolled past by everyone who is not already curious.
  • Use numbers. “Ships in 48 hours” outperforms “fast shipping” consistently, because it is falsifiable and therefore credible.
  • Cut the first sentence you wrote. It is almost always warm-up.
  • One idea per ad. An ad that makes three claims makes none of them memorable.

The headline — the bold line under the image — does a different job: it should carry the offer or the single strongest fact, not repeat the primary text.

Phrasings that get the ad rejected

Meta prohibits copy that asserts or implies knowledge of a personal attribute of the reader. The trap is second-person phrasing, and it catches ordinary stores constantly.

Gets flaggedPasses
“Struggling with back pain?”“Back pain relief that works”
“Are you over 50?”“Designed for comfort after 50”
“Tired of being in debt?”“A simpler way out of debt”
“Meet other single parents”“A community for single parents”

The rule is not about the topic. It is about whether the copy implies you know something about the specific person reading it. Rewriting from “you are X” to “this is for X” keeps the message and removes the violation.

Absolute claims are the other frequent cause — “cures”, “guaranteed”, “100% effective”. Softening usually costs nothing: “clinically tested” rather than “clinically proven to cure”. The full list of rejection causes is worth reading once before you write a batch.

Match the copy to the landing page

An ad that promises something the product page does not immediately confirm produces clicks and no purchases, and the metrics will look like a targeting problem when it is a copy problem.

The test: click your own ad on a phone. Within three seconds of the page loading, is the thing the ad promised visible — the same product, the same price framing, the same photograph? If the ad said “from $29” and the page opens on a $79 variant, you are paying for traffic that bounces.

This mismatch has a distinctive signature in the numbers: healthy CTR, poor add-to-cart rate. If you see that pattern, rewrite the copy or fix the page before you touch anything else — which metric to read first covers how to tell the two apart.

Refresh on a schedule, not in a panic

Copy fatigues along with the image. When frequency climbs past about 3 and CTR drifts down, the ad has said what it has to say to that audience.

Keep a queue: two ads in reserve at any time, written when you are not under pressure. The alternative is writing new copy on the day performance collapses, which is when you are least able to judge it.


AdPilot’s campaign generator writes all four angles from your actual product data — title, description, price and images pulled from your Shopify catalogue — and applies Meta’s copy rules while writing, so the personal-attribute trap never reaches the review queue.

Plan your next Meta campaign in a minute

Install AdPilot from the Shopify App Store and generate your first campaign today. The free plan needs no credit card.