Install
openclaw skills install @leooooooow/retargeting-funnelDesigns multi-stage retargeting ad funnels that re-engage ecommerce visitors based on browsing depth — from homepage bouncers to cart abandoners — with platform-specific strategies for Meta, Google, and TikTok.
openclaw skills install @leooooooow/retargeting-funnelDesign and deploy multi-stage retargeting ad funnels that bring ecommerce visitors back at every level of buying intent, matching creative format, bid strategy, and frequency cap to each audience segment's proximity to purchase.
| Decision | Strong | Acceptable | Weak |
|---|---|---|---|
| Audience window for cart abandoners | 1-3 days with urgency creative | 3-7 days with reminder creative | 14+ days with generic ads |
| Product page viewer retargeting | Dynamic product ads showing viewed items | Category-level carousel ads | Static brand awareness ads |
| Homepage bouncer strategy | Broad value-prop video ads (15s) | Lifestyle image carousel | Same ads as cart abandoners |
| Frequency capping | 3-5 impressions per day per segment | 6-8 impressions per day | Uncapped or 15+ per day |
| Cross-platform sequencing | Platform-specific creative per stage | Same creative resized per platform | Single platform only |
| Exclusion logic | Exclude purchasers + higher-funnel segments from lower-funnel campaigns | Exclude purchasers only | No exclusions between segments |
| Budget allocation by funnel stage | 50-60% bottom funnel, 25-30% mid, 15-20% top | Even split across stages | Majority spend on top funnel |
| Lookback window overlap handling | Strict non-overlapping windows with priority rules | Partial overlap with bid adjustments | Fully overlapping audiences |
Before building any audiences, verify that your tracking infrastructure captures the events needed for segmentation.
Required events by platform:
Validation checklist:
Output: A pixel health report listing each event, its fire rate over the past 7 days, and any parameter gaps.
Create mutually exclusive audience segments based on the deepest action each visitor took. Exclusion logic is critical — a cart abandoner should not also appear in your homepage bouncer audience.
| Segment | Definition | Lookback Window | Typical Size (% of traffic) |
|---|---|---|---|
| S1: Homepage Bouncers | Visited site, viewed no product pages | 30 days | 25-40% |
| S2: Category Browsers | Viewed collection/category pages but no product detail pages | 21 days | 15-25% |
| S3: Product Viewers | Viewed 1+ product detail pages, did not add to cart | 14 days | 15-25% |
| S4: Cart Abandoners | Added 1+ items to cart, did not begin checkout | 7 days | 5-10% |
| S5: Checkout Abandoners | Began checkout, did not purchase | 3 days | 2-5% |
| S6: Recent Purchasers (suppress/upsell) | Completed purchase | 14-30 days | 2-5% |
Exclusion hierarchy: Each segment excludes all segments below it. S1 excludes S2-S6. S4 excludes S5-S6. This prevents audience overlap and ensures budget is not wasted showing low-intent creative to high-intent users.
Match ad format, messaging angle, and call-to-action intensity to the visitor's demonstrated intent level.
S1 — Homepage Bouncers:
S2 — Category Browsers:
S3 — Product Viewers:
S4 — Cart Abandoners:
S5 — Checkout Abandoners:
Set up campaigns on each platform with the right objective, bid strategy, and placement.
Meta Ads:
Google Ads:
TikTok Ads:
Frequency caps by segment:
| Segment | Daily Cap | Weekly Cap | Rationale |
|---|---|---|---|
| S1 | 2-3 | 10-12 | Low intent — avoid annoyance |
| S2 | 3-4 | 14-16 | Building familiarity |
| S3 | 4-5 | 18-20 | High intent — stay visible |
| S4 | 5-6 | 20-25 | Urgency window is short |
| S5 | 5-7 | 25-30 | Highest conversion probability |
Budget allocation framework:
Allocate budget proportional to expected return, not audience size. Bottom-funnel segments are smaller but convert at 5-15x the rate of top-funnel.
Key metrics by funnel stage:
| Segment | Primary Metric | Target Benchmark | Secondary Metric |
|---|---|---|---|
| S1 | Click-through rate | 0.8-1.5% | Cost per site visit |
| S2 | Product page view rate | 15-25% of clickers | Cost per product view |
| S3 | Add-to-cart rate | 8-15% of clickers | Cost per add-to-cart |
| S4 | Purchase conversion rate | 10-20% | Cost per acquisition |
| S5 | Purchase conversion rate | 15-30% | Return on ad spend |
Incrementality testing:
Run weekly cohort reviews to identify shifts in funnel behavior:
Context: A direct-to-consumer skincare brand selling $40-$120 products wants to improve retargeting efficiency. Current retargeting runs a single campaign targeting all site visitors from the past 30 days with the same carousel ad. Current ROAS on retargeting: 2.8x.
Step 1 — Pixel Audit: Meta Pixel and Google tag are both active. TikTok pixel is installed but AddToCart event is not firing on the AJAX cart — requires developer fix. Meta CAPI is configured. Google enhanced conversions are not set up (flagged for implementation).
Step 2 — Segments Built:
| Segment | 30-Day Size | Lookback | Exclusions |
|---|---|---|---|
| S1: Homepage Bouncers | 85,000 | 30 days | Excludes S2-S6 |
| S2: Category Browsers | 42,000 | 21 days | Excludes S3-S6 |
| S3: Product Viewers | 38,000 | 14 days | Excludes S4-S6 |
| S4: Cart Abandoners | 12,000 | 7 days | Excludes S5-S6 |
| S5: Checkout Abandoners | 4,500 | 3 days | Excludes S6 |
| S6: Purchasers (suppress) | 6,200 | 30 days | — |
Step 3 — Creative Plan:
Step 4 — Platform Setup:
Step 5 — Budget Allocation (of $45K retargeting budget, 30% of total):
Step 6 — Results after 8 weeks:
| Segment | ROAS | CPA | Incremental Lift |
|---|---|---|---|
| S5 | 9.2x | $8.40 | 22% over holdout |
| S4 | 6.8x | $12.10 | 18% over holdout |
| S3 | 4.1x | $22.50 | 14% over holdout |
| S2 | 2.3x | $38.00 | 7% over holdout |
| S1 | 1.4x | $52.00 | 3% over holdout |
Optimization decisions:
Context: An online fashion retailer selling 200+ brands at $50-$400 price points. High traffic volume (2M monthly visitors) but retargeting campaigns are poorly segmented — one campaign for "all visitors" and one for "cart abandoners." Retargeting represents 35% of total spend ($175K/month). Current blended retargeting ROAS: 3.2x.
Step 1 — Pixel Audit: All platforms (Meta, Google, TikTok) have pixels with complete event coverage. However, product feed has 1,200 items with missing GTIN numbers and 340 items with outdated prices. Feed issues are causing DPA disapprovals. Immediate fix: sync product feed from Shopify every 4 hours instead of daily.
Step 2 — Segments Built (with sub-segments for this volume):
| Segment | 30-Day Size | Lookback | Special Rules |
|---|---|---|---|
| S1: Homepage Bouncers | 480,000 | 21 days | Split by traffic source (paid vs. organic) |
| S2: Category Browsers | 320,000 | 14 days | Split by gender category browsed |
| S3a: Single Product Viewers | 280,000 | 14 days | Viewed 1 product |
| S3b: Multi-Product Viewers | 145,000 | 14 days | Viewed 3+ products (higher intent) |
| S4: Cart Abandoners | 68,000 | 7 days | Split by cart value (<$100 vs. $100+) |
| S5: Checkout Abandoners | 22,000 | 3 days | All treated as highest priority |
| S6: Purchasers | 45,000 | 60 days | 0-14 days: suppress; 14-60 days: cross-sell |
Step 3 — Creative Plan:
Step 4 — Platform Distribution:
Step 5 — Budget Allocation ($175K retargeting):
Step 6 — Results after 12 weeks:
| Segment | ROAS | Conv. Rate | Cost Per Purchase |
|---|---|---|---|
| S5 | 11.4x | 24% | $11.20 |
| S4 ($100+) | 8.9x | 18% | $14.80 |
| S4 (<$100) | 5.6x | 15% | $9.60 |
| S3b | 5.2x | 9% | $18.40 |
| S3a | 3.4x | 5% | $28.90 |
| S2 | 2.1x | 2.2% | $42.00 |
| S1 (paid) | 1.6x | 0.9% | $58.00 |
| S1 (organic) | 1.1x | 0.5% | $71.00 |
Optimization decisions:
Treating all site visitors as one retargeting audience. A homepage bouncer has fundamentally different intent than a checkout abandoner. Showing them the same ad wastes budget on low-intent visitors and under-serves high-intent ones. Always segment by browsing depth.
Not excluding higher-intent segments from lower-intent campaigns. Without exclusion logic, a cart abandoner receives both the cart-specific ad and the generic "come visit us" ad. This dilutes messaging and inflates frequency. Build strict exclusion hierarchies.
Setting identical lookback windows for all segments. A 30-day window for checkout abandoners is wasteful — most who will convert do so within 72 hours. Shorter windows for higher-intent segments improve ROAS and reduce ad fatigue.
Ignoring frequency caps entirely. Retargeting without frequency limits causes ad fatigue, brand damage, and wasted impressions. Users who see the same ad 20+ times per week develop negative brand associations. Set caps and monitor them weekly.
Allocating budget proportional to audience size instead of conversion probability. Homepage bouncers are your largest audience but lowest-converting. Cart and checkout abandoners are tiny but convert at 10-20x the rate. Weight budget toward the bottom of the funnel.
Using static creative for dynamic-eligible segments. If a visitor looked at specific products, show them those exact products with dynamic product ads. Generic brand images for product viewers and cart abandoners leave conversion rate on the table.
Running retargeting without incrementality measurement. Without holdout tests, you cannot distinguish between conversions retargeting caused and conversions that would have happened organically. Many retargeting campaigns show high ROAS but near-zero incrementality on top-funnel segments.
Neglecting product feed quality. Dynamic product ads are only as good as your product feed. Outdated prices, missing images, out-of-stock items, and broken URLs in the feed erode user trust and trigger ad disapprovals. Sync feeds at minimum every 6 hours.
Forgetting to suppress recent purchasers. Showing "buy this product" ads to someone who bought it yesterday is a poor customer experience and wasted spend. Suppress purchasers for at least 14 days (longer for high-AOV or infrequent-purchase categories).
Running the same creative for more than 3-4 weeks without rotation. Even strong creative fatigues. Monitor frequency vs. CTR curves and rotate creative when CTR drops 20% below its initial benchmark.