Foreplay With Causality Engine: Check the Winners Lens Picks
By Joris van Huët
Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs
Published
2026-11-11
The short answer: if Lens calls three new ads winners and the store's week does not feel like three winners, look first at the attribution window, not at the creative. Foreplay, best known as a swipe file and competitor tracker for ad creative, also sells Lens, a reporting layer over your own Meta ad account, and Lens asks you to set a Default Attribution Window and recommends ROAS as the Goal Metric (getting started with Lens). The ROAS it shows is Meta's purchase value in that window. Causality Engine, a causal attribution tool that reads a GA4 export, answers a different question: what Paid Social as a whole caused. Its first finding is free on the start page.
Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.
Three things to check in Lens before anyone briefs a sequel:
- Price the view-through. For example, an ad with $1,200 of spend and $3,120 of purchase value on 7-day click plus 1-day view shows 3,120 / 1,200 = 2.6. If 1-day click alone credits $1,920, the same ad shows 1,920 / 1,200 = 1.6. The difference, $1,200 of value, rests on the longer click window and on views.
- Reuse the toggle you already pay for. Lens reports switch between click windows of none, 1, 7 or 28 days and view windows of none, 1, 7 or 28 days (top performing reports).
- Look at the Paid Social row in GA4. If Meta's Lens total is several times that row, the gap is the first thing to explain.
Lens and the read, compared
| Foreplay Lens | Causality Engine | |
|---|---|---|
| What it is | Creative analytics inside Foreplay, beside Swipe File, Spyder and Briefs (entry) | A causal read of the GA4 Attribution paths export (entry) |
| Where its data comes from | Your Meta ad account, connected through Orcabase from Triple Whale, admin access required (getting started) | The CSV you export from GA4, no pixel and no SDK (how it works) |
| Its result | Spend, ROAS, CPA and custom conversions per ad or group, with net and spend-weighted totals (net results) | Each channel's caused share beside last-click, scored 0 to 100 for data health |
| Whose rule credits the sale | Meta's, in the window the report is set to | Its own model on GA4's recorded paths |
| GA4 channel for the clicks | Paid Social, when the source is a social site and the medium paid (Google's channel rules) | Whatever the export holds |
| Integration | None | None (integrations) |
| Cost | Lens starts on Workflow, $175 a month on monthly billing or $149 billed yearly, 1 brand (pricing, checked on 11 November 2026) | Free first finding, then €99 a read, excluding VAT (pricing, checked on 11 November 2026) |
What Lens counts, and on whose rule
Lens sorts Meta's purchase count and adds nothing to it. The custom conversions article says Lens imports the conversions defined in your Meta ad account, with up to 24 hours of delay, and builds three metrics from each: Total, Value and Cost. The net results article explains the bottom row: base metrics such as spend are summed, ratios are recomputed from those sums, and averages are weighted by spend so that a $20 ad with one lucky sale does not pose as a ROAS of 10.
The window is the setting that moves everything:
- Set once, per brand. The Default Attribution Window applies to every new report and dashboard view, and it stays editable in Lens account settings, unlike currency and reporting timezone.
- Changed per report. Any report can switch windows and compare them.
- Defined by Meta. Meta's attribution settings page, read on 11 November 2026, lists click-through over 1 or 7 days and view-through over 1 day. Lens also offers 28-day click and 7 and 28-day view; Foreplay's articles do not say what Meta returns for those, so ask before trusting them.
Creative Tests turns the ranking into verdicts: the Creative Tests article recommends a 14-day launch window, a scaling threshold of spend over $100, and a winning metric such as ROAS of 1.5 or more. Sound, on whichever window the report holds.
Getting Meta's clicks into the Paid Social row
Lens never touches the click; the ad does. Meta's URL parameters page says ads may carry Campaign source Facebook or Instagram and Campaign medium paid automatically since 1 January 2024, and that anything entered in the ad's URL parameters field overrides them. Google's default channel group puts a social source with a medium matching cpc, ppc, retargeting or paid-anything under Paid Social.
Three ways the row comes out short:
- No tags. A bare click from Facebook is a social referral, and Google's rules file it under Organic Social.
- A medium outside the pattern. utm_medium=facebook_ads matches nothing paid, so the click falls through the paid channels.
- A second visit. Meta notes a parameter covers the first page only; a buyer who returns later is filed under whatever that later visit was.
A worked example: three winners, one window
For example, with invented figures for the arithmetic and no account behind them: Creative Tests on its recommended targets, spend over $100 and ROAS of 1.5 or more, over the last 14 days.
| Ad | Spend | Value, 7-day click + 1-day view | ROAS | Value, 1-day click | ROAS |
|---|---|---|---|---|---|
| Before and after | $1,200 | $3,120 | 2.6 | $1,920 | 1.6 |
| Founder on camera | $800 | $1,360 | 1.7 | $760 | 0.95 |
| Unboxing | $2,000 | $3,400 | 1.7 | $2,600 | 1.3 |
On the wide window, 3,120 / 1,200 = 2.6, 1,360 / 800 = 1.7 and 3,400 / 2,000 = 1.7: three winners. On 1-day click, 1,920 / 1,200 = 1.6, 760 / 800 = 0.95 and 2,600 / 2,000 = 1.3: one.
Now the month. Lens's net row puts Meta's purchase value at $58,200; Google Ads claims $33,900; GA4's last click gives Paid Social $19,600; the store booked $71,450. The two platforms claim 58,200 + 33,900 = $92,100, which is 92,100 - 71,450 = $20,650 more than the store took. Meta's figure sits 58,200 - 19,600 = $38,600 above its GA4 row.
A causal read does not pick between the creatives. Per its how-it-works page, it puts Paid Social's caused share beside a last-click rebuild from the same export, grades it from 0 to 100, and names a next step, raise, cut or hold, to be tested in one region first. If Paid Social's caused share sits near the narrow-window figures, brief from the one ad that won on 1-day click.
The free check, inside Lens
Open Creative Tests, note the winners, switch to 1-day click with no view window, and note them again. Brief from the ads that survive both; the rest won only by window. It costs a minute and is enough on its own for the next brief.
For budget, pause the surviving winner in one country you sell to and keep it live elsewhere for three weeks, then compare store orders per country against the three weeks before. That part is by hand; Foreplay's articles document no holdout.
What the pairing cannot do
- No shared data. Lens reads Meta through its connector. Causality Engine reads only a GA4 export (integrations).
- No creative verdicts from the read. It reports Paid Social as one channel. Hooks, formats and which ad to brief stay with Lens, Spyder and Briefs.
- No read on thin data. Twelve months or more of GA4 history is the ask (how it works), and the one-off read page says a channel under 1% both causally and on last-click is called too small to act on.
Meta's 1-day view window credits purchases to ads people scrolled past, and the Lens page sells Goal Tracking to "Gamify and incentivize teams to outperform your goals", so a default window that includes views lets more ads beat the goal and makes the dashboard pleasanter to open each morning.
When the question becomes how much Meta deserves against search, email and organic, Causality Engine, which I founded, reads the store's GA4 export on the start page. The preview is free and computed in your browser; the full read costs €99 once, refundable within 30 days (pricing, checked on 11 November 2026).
See also
- Foreplay: Swipe File, Spyder, Lens and the plans
- How to use Foreplay: competitor ads turned into a creative brief
- Foreplay on the marketplace: Foreplay's affiliate program terms
- Causality Engine: the causal read, its price and limits
- How to use Causality Engine: GA4 export through to a test
- Causality Engine on the marketplace: affiliate terms, published as the owner's
- Atria vs Foreplay: an idea agent against a creative library
- Break-even ROAS calculator: the ROAS your margin needs
FAQ
Does Foreplay Lens connect to Causality Engine?
No. Lens pulls from Meta through Orcabase; Causality Engine works from a GA4 file you download, where your Meta ads appear as the Paid Social channel (integrations). Neither reads the other.
Which attribution window should Lens default to?
My recommendation: the window your Meta ad sets optimise on, so Lens and Ads Manager agree, with every winner rechecked on 1-day click before it is scaled. The setting lives in Lens account settings.
Why use the store AOV in Lens benchmarks?
Because Foreplay says so: the benchmark setup recommends the store's average order value rather than the ad channel's, to compare against similar brands (getting started). An ad channel's AOV covers only the orders Meta attributed.
ABOUT THE AUTHOR
I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.
I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.
The agents in this article, built into your workflows and handed over to your team: the first one within two weeks.
With Joris van Huët, interim and fractional CMO in Utrecht. From EUR 5,000 a month, monthly cycles, a 30-day exit.