What You Will Learn
- How DPA personalises each ad with the specific products a user viewed
- Catalogue structure and feed requirements for DPA
- The three pixel events required for DPA to work (ViewContent, AddToCart, Purchase)
- Setting up retargeting DPA — cart abandoners, product viewers, purchasers
- Broad audience (prospecting) DPA — finding new customers via catalogue signals
- Optimising DPA creative overlays, templates, and product sets
What Are Dynamic Product Ads
Dynamic Product Ads are a Meta ad format where the creative is automatically generated from your product catalogue — showing the exact products each individual user has interacted with on your website. When user A views a red running shoe on your site, they later see an ad featuring that specific red running shoe. User B, who viewed a blue hiking boot, sees an ad featuring that boot — same campaign, different creative, personalised per user.
DPA is enabled by the combination of: a Meta product catalogue containing your inventory; pixel events (ViewContent, AddToCart, Purchase) that tell Meta which products each user viewed; and a Catalogue Sales campaign that links the two.
ROAS performance
Consistently the top-ROAS Meta format for e-commerce
Personalisation
Each impression shows products specific to that user
Catalogue required
Active product catalogue with images, prices, and URLs
Catalogue Setup
A Meta product catalogue is a database of your products stored within Meta Business Manager. It can be populated via data feed (CSV/XML URL), manual upload, or e-commerce platform integration (Shopify, WooCommerce, BigCommerce).
Minimum required catalogue fields for DPA
- id. Unique product identifier — must match the content_ids passed in your pixel events
- title. Product name displayed in the ad
- description. Product description (used in some ad formats)
- link. Product page URL where users land after clicking
- image_link. Product image URL — square images (1:1) recommended for feed placements
- price. Current price with currency (e.g. 49.99 GBP)
- availability. in stock / out of stock
- brand. Brand name
- google_product_category. Helps Meta categorise and match products to relevant audiences
Catalogue feed update frequency
Set your catalogue feed to update daily (or more frequently for large catalogues with fast-changing inventory). Out-of-stock products that appear in DPA ads produce poor user experience — a user clicking an ad for a product that is then shown as out of stock on the landing page generates ad waste and negative brand signals.
Required Pixel Events
DPA requires three pixel events to fire with product content_ids that match your catalogue:
// ViewContent — fires on product page load
fbq('track', 'ViewContent', {
content_ids: ['SKU-123'], // must match catalogue id exactly
content_type: 'product',
value: 49.99,
currency: 'GBP'
});
// AddToCart — fires when user adds to cart
fbq('track', 'AddToCart', {
content_ids: ['SKU-123', 'SKU-456'], // all items in cart
content_type: 'product',
value: 99.98,
currency: 'GBP'
});
// Purchase — fires on order confirmation
fbq('track', 'Purchase', {
content_ids: ['SKU-123', 'SKU-456'], // all purchased items
content_type: 'product',
value: 99.98,
currency: 'GBP',
order_id: 'ORD-789'
});
The content_ids array must contain the exact product IDs from your catalogue — the matching between pixel events and catalogue products is how Meta knows which specific products to show in retargeting ads. A mismatch between pixel content_ids and catalogue IDs breaks DPA retargeting completely.
Retargeting DPA
Retargeting DPA shows users the specific products they viewed or added to cart — the highest-intent DPA audience configuration. Campaign setup: Sales objective → Catalogue Sales → Ad Set audience → Product Set (All Products or specific product set) → Retargeting.
Retargeting audience options in DPA
| Audience | Product Shown | Time Window |
|---|---|---|
| Viewed or added to cart but not purchased | Specific viewed/carted products | 1–180 days (7–30 days recommended) |
| Added to cart but not purchased | Specific carted products | 1–30 days (highest intent) |
| Viewed specific products | Viewed products | 1–30 days |
| Upsell (purchased) | Related/complementary products | 1–180 days post-purchase |
| Cross-sell | Products from categories not yet purchased | Based on purchase history |
Cart abandoners are the highest-converting DPA audience — users who added a specific product to cart and did not purchase represent strong buying intent with a specific known product preference. DPA showing exactly those carted products to cart abandoners consistently produces higher ROAS than any other Meta remarketing format.
Prospecting DPA (Broad Audience)
Prospecting DPA (Broad Audience DPA or Dynamic Ads for Broad Audiences — DABA) shows products from your catalogue to users who have never visited your website — Meta selects which products to show based on the user's predicted interests and past behaviour across Meta's network. The product selection is automated; you provide the catalogue and the campaign does the rest.
Prospecting DPA works because Meta can use signals from similar users — if many users with similar interests to a new prospect have shown interest in specific products in your catalogue, Meta shows those products to the new prospect. It is effectively a Lookalike-style audience combined with personalised product creative.
Setup: Sales objective → Catalogue Sales → Ad Set → Broad Audience (not Retargeting). Combine with a prospecting Core or Lookalike audience for additional targeting guidance, or leave fully open for maximum reach.
DPA Creative Optimisation
While DPA product images come directly from your catalogue, you can customise the creative template through Catalogue Ad Creative settings:
- Image overlays. Add price, percentage off, or custom text overlays on product images. Price overlay consistently improves CTR on DPA by showing price before the click — filtering for users in the correct price range.
- Frame and background. Add a branded frame or custom background behind product images — useful for maintaining brand consistency across the product grid format.
- Multiple images per product. Use the additional_image_link catalogue attribute to provide lifestyle images alongside product-only shots — Meta can select the most relevant image type per placement.
- Primary text. Write 5 primary text variants — Meta tests them across the audience. Include urgency ("Limited stock"), social proof ("Trusted by 50,000+ customers"), and value proposition variants.
DPA Reporting
DPA campaigns report standard campaign metrics (impressions, clicks, ROAS, CPA) plus catalogue-specific metrics available in the Ads Manager Columns selector:
- Catalogue reach. How many products from your catalogue were shown to users
- Product set performance. ROAS and conversion data broken down by product set — identifies which categories or price ranges perform best
- Purchases from catalogue. Conversions specifically attributed to catalogue ad interactions
Monitor catalogue health alongside campaign performance — products being dropped from the catalogue (out of stock, disapproved) reduce DPA coverage and may cause previously-converting products to stop appearing in ads.
Authentic Sources
Complete DPA documentation including setup, catalogue, and pixel requirements.
Product catalogue data requirements for Dynamic Ads.
Prospecting DPA configuration and setup.
Technical implementation documentation for DPA pixel events.