Hook test
Attention · CTR“Derm confession” beats “Leaky barrier” on CTR: 1.31× (90% 1.09–1.57×), P(better) 97%.
Omnymous takes every Meta ad apart into the decisions it’s made of — hook, angle, avatar, offer, page — and follows each Shopify order’s revenue into them, stage by stage, with an interval on every number.
One plan · $149/moShopify + MetaUnlimited seats
Which angle earned the money — with a confidence, and when two cannot be told apart
| 6 atoms · angle | Ads | Spend | Revenue | Effect vs family | P>family | Verdict |
|---|---|---|---|---|---|---|
| Barrier repair | 184 | $98,400 | $303,100 | 1.31× | 99% | Identified |
| Derm-backed | 96 | $61,200 | $153,000 | 1.06× | 81% | Weak |
| Glass skin | 71 | $52,800 | $117,200 | bundle | — | Confoundedwith hook “Mirror check” |
| Overnight results | 58 | $38,900 | $91,400 | 0.94× | 22% | Weak |
| Clean formula | 44 | $31,300 | $61,300 | 0.79× | 1% | Identified |
| Sensitive-safe | — | — | — | — | — | Untestedin Library · never run |
Revenue of the ads carrying each angle — every ad has one. Effect and interval from the Fitted model at the intent stage. Morvell is fictional; figures are illustrative.
Stop copying winners. Reuse what made them win.
An animated picture. A Meta ad for Morvell, a fictional skincare brand, earned $41,280 at a 3.1× ROAS — and Ads Manager can say nothing about which part of it did. The ad is taken apart into eleven decisions — hook, format, headline, call to action, angle, avatar, desire, fear, offer, landing page and product — each filed as a Library item and sorted onto the four stages that grade them: attention, intent, conversion and basket. One $84 order is split 35, 30, 30 and 5 percent across those stages and then across the parts in each, adding back to exactly $84. Across all 492 orders, the Fitted model gives every part its share of the $41,280 and a 90% interval; the hook and the headline are shown as one confounded group because they always changed together. The answer: the landing page (1.46×), the angle Barrier repair (1.31×), the static format (1.24×) and the offer (1.18×) carried it. Finally, every one of the store’s 1,284 ads is taken apart the same way, and the Attribution Lab ranks the angles: Barrier repair is the one worth scaling.
Ads Manager ranks ads, but nobody briefs an ad — you brief a hook, an angle, an offer. So the reason a winner won gets rebuilt by hand, and it breaks in the same four places.
Hand tags and naming conventions: three buyers, three spellings of one angle, and a sheet nobody trusts by month two.
New hook and new angle in the same batch. CTR went up — for which one? Nothing can say, and most reports pick one anyway.
Meta, Google and TikTok each count the buyer they touched. Add their reports together and you sold more than you did.
The winner fatigues, you kill it, and whatever made it work goes with it — unless the parts were measured while it ran.
You measure ads. You decide parts.
Every one of the four is the same defect: the unit of measurement is the ad, and the unit of decision is the thing inside it.
Illustrative figures · Morvell is a fictional store
A hook’s job is the click. An offer’s job is the order. So credit moves through four stages, each judged on the outcome it controls, and inside each stage it’s split across the parts acting there — with an interval on every effect.
Highlighted rows are AD 047’s parts from the ad above, each with the icon of its Library type.
Did it stop the thumb?
† Video dimensions are declared for your team to fill in; they are not read from the video.
Did the argument land?
Did the page and offer close?
How much went in the cart?
The words your team already uses.
Choice, number or yes/no properties, up to 20 per item type, marked as atoms.
A fixed recipe: stage weights 35 / 30 / 30 / 5 (yours to edit), then equal shares inside each stage.
Angle · Intent
Graded on planted answers. The models are tested on simulated stores where every part’s true effect is set before a single order is generated.
Illustrative figures · Morvell is a fictional store
Connect the ad account and every ad it has ever run is read, taken apart and filed against your Library — hooks, angles, avatars, offers, pages, products. Sure matches link themselves. Doubtful ones wait in the Inbox for one decision: merge or keep.
every ad it has run · no names required
Reading 3,906 ads…
Sure matches link themselves. These two need a person.
Found: “You don’t have dry skin — your barrier leaks.”
ObservedAD 066 · hook
Possible match: “You don’t have dry skin. You have a leaky barrier.”
Found: Skin barrier first
ObservedAD 071 · marketing angle
Possible match: Barrier repair
Every stage of the intake is counted, so you can see exactly how many of your ads made it all the way to attribution — and where the rest stopped.
Bars start at 3,800, not zero, so a loss of a few dozen ads stays visible.
Ads you launch through Omnymous carry their full lineage from the first impression — nothing to read back, nothing to guess.
Also on the shelves: Products, your whole Shopify catalogue, kept current, and Knowledge — research reports, brand notes, reviews and surveys — for Studio to build from.
Illustrative figures · Morvell is a fictional store
Two ads in the same campaign that differ in exactly one part are a test, whether you planned one or not. Omnymous spots them after the fact and gives each a status: collecting, decided at 95%, no difference, or stopped early.
“Derm confession” beats “Leaky barrier” on CTR: 1.31× (90% 1.09–1.57×), P(better) 97%.
Every angle crossed with every hook. Measured cells carry their effect, the gaps are ranked by expected value, and the best one goes to Studio as the next batch — with the Launcher’s isolate-one-variable preset keeping the test clean.
Measured on click-through, × the average · gaps ranked by expected value
| Angle ↓Hook → | Leaky barrier | Derm confession | Mirror check | Acid detox | 3 a.m. sting | Before / after |
|---|---|---|---|---|---|---|
| Barrier repair | ||||||
| Derm-backed | ||||||
| Glass skin | ||||||
| Overnight results | ||||||
| Clean formula |
Barrier repair × Derm confession — never tested. Expected 1.22×, rank 1 of the open gaps.
Illustrative figures · Morvell is a fictional store
Omni sits on every page of the app. Ask in plain English; every figure comes back from the attribution engine through typed tools — the language model never does the maths — with the campaigns, creatives and pages behind it one click away.
Conversational analytics — governed numbers, cited entities
| Angle | Ads | ROAS | Effect vs family | Verdict |
|---|---|---|---|---|
| Barrier repair184 ads · 3.08× ROAS | 184 | 3.08× | 1.31× | Identified |
| Derm-backed96 ads · 2.50× ROAS | 96 | 2.50× | 1.06× | Weak |
| Glass skin71 ads · 2.22× ROAS | 71 | 2.22× | — | Confoundedwith Mirror check |
Coverage 94% of ad spend carries an angle atom·Source: Attribution credits · Last Click · last 90 days
Barrier repair, and it isn’t close. Over the last 90 days it’s 1.31× the average angle at the intent stage (90%: 1.17–1.47×), with a 99% chance it’s genuinely better. The 184 ads carrying it returned 3.08× on $98.4k.
New hooks written on Barrier repair, the angle the numbers can defend.
AD 047’s creative and its page, paired and ready for Meta.
Every figure comes back from the attribution engine through typed tools — 23 of them. The language model writes the sentence, never the number.
Every name in an answer opens the real campaign, creative or page it came from.
It hands you the move as a button — Studio pre-loaded, or a creative and page sent to the Launcher. It never changes a budget, an ad or a setting itself.
Omni runs on your own Anthropic key, on every page of the app.
Illustrative figures · Morvell is a fictional store
Studio builds the next test from what you just learned: research, avatars, angles, hooks, copy, images, video and landing pages, generated from your Library and filed back into it. It runs on your own AI keys — no credits, no ceiling.
From gap #1 in Combinations —AngleBarrier repair×HookDerm confession“isolate the hook”
each tied to the hook, angle, avatar and product it came from
B-0412 · as it renders
Derm confession 01
Derm confession 02
Derm confession 03
Derm confession 04
Derm confession · cut 1
Advertorial · Barrier repair
Pages ship to Shopify the careful way: as a draft first, then a preview, then live — landing pages, product pages, advertorials and listicles, designed from the same Library.
Everything it makes is a Library item, so the next time an ad built from it spends a dollar, attribution already knows what’s inside.
Illustrative figures · Morvell is a fictional store
Pick the creatives, pick the pages, set the structure, launch. No duplicating ad sets, no hand-typed names: the test design is built into the account, and every ad goes live already knowing what it’s made of.
180 creatives, paired with pages, in 6 ad sets under 1 campaign
Hours. Every launch.
One pass.
Meta only for launching. Google and TikTok report into the same numbers.
Deploying campaigns to Meta
Each pair is scored for message match — the angle counts most, then product, hook and avatar — and for funnel fit. Pairs that contradict each other are left out.
| Creative | Advertorial: Why your skin stings | Product page: Night Serum | Listicle: 5 signs |
|---|---|---|---|
| IMG 01My derm told me to stop… | 94 | 81 | 72 |
| IMG 02The one step my derm added | 92 | 79 | 70 |
| IMG 03She asked what I use at night | 88 | 76 | 74 |
| VID 01Derm confession · 0:15 | 91 | 83 | 69 |
| IMG 11Glow in 7 days | excluded, contradicts on angle | 64 | excluded, contradicts on angle |
Put each variable at campaign, ad set or ad level and the entity count follows. The isolate-one-variable preset keeps a test clean by construction.
Sales · lowest cost · $900/day
Purchase · 7-day click · US broad
per ad set · paired page
1 × 6 × 30= 180 ads
Tokens resolve for every ad, so the account stays readable to a person and parseable by a machine.
Every ad keeps its lineage — the hook, angle, avatar, offer, page and product it was built from — which is what lets attribution reach its parts from the first order.
Illustrative figures · Morvell is a fictional store
Every path from ad to order — page, product, cart, checkout — drawn with the count at each step. Colour it by congruency and the leak shows itself: the ad argued barrier repair, the page argued hydration, and buyers left.
Ad argues barrier repair; page argues hydration.
Congruency is measured, not eyeballed. Each ad and page are compared on what they argue — the angle weighs most, then avatar, offer and product.
And it’s a dimension like any other, with its own fitted effect on orders per click — so “match the page to the ad” stops being advice and becomes a number.
The fix is a pairing. In the Launcher every creative × page pair is scored for message match before it ships, and the ones that contradict each other never go out.
Illustrative figures · Morvell is a fictional store
A first-party pixel inside Shopify, attribution anchored to real orders, five touch models side by side, and Meta’s own claim next to what your orders say. Then the P&L your finance lead recognises.
Each channel’s revenue here is what the pixel could tie to a real Shopify order. Meta also reports its own number, and the ratio between the two is the claim gap.
Reported = platform-claimed (Meta only) · Claim gap = reported ROAS ÷ attributed ROAS
| Name | Spend | Revenue | ROAS | Reported | Claim gap |
|---|---|---|---|---|---|
| Meta Ads | $405K | $1.01M | 2.49× | $1.54M | 1.53×· +$534K |
| Google Ads | $54K | $194.4K | 3.60× | reports spend & delivery | |
| TikTok Ads | $27K | $40.5K | 1.50× | reports spend & delivery | |
| All channels | $486K | $1.24M | 2.56× | — | — |
$1.24M tied to ads of $1.63M net revenue — the rest came from email, organic and direct.
One buyer, four touches, one $84 order — and where each model puts the money, to the cent.
Trace any order's touchpoints and how each model splits credit
| Model | TikTok adday −9 | Meta adday −5 | Google searchday −2 | Meta adday 0 · order |
|---|---|---|---|---|
| Last Clickall to the final touch | — | — | — | $84.00 |
| First Clickall to the first | $84.00 | — | — | — |
| Linearequal shares | $21.00 | $21.00 | $21.00 | $21.00 |
| Position40 / 20 / 40 | $33.60 | $8.40 | $8.40 | $33.60 |
| Time Decay7-day half-life | $12.13 | $18.03 | $24.26 | $29.58 |
Net revenue down to net profit, with CM1 to CM3 on the way — on a cost model you edit (COGS overrides, variable costs, shipping, fixed costs).
Net revenue to net profit · last 90 days · whole units
Your store, your ad platforms and your AI keys
What other brands in your category are running, from the Meta Ad Library, destructured into the vocabulary your Library already uses — so a gap in your coverage is visible, not guessed.
What brands in your niche run, from the Meta Ad Library
Meta Ad Library
Meta Ad Library
Illustrative figures · Morvell is a fictional store
The whole system for $149 a month — every seat, every ad account, every generation on your own keys, and a terabyte of storage. Each extra store is $19.
Creative strategy system for Shopify brands
Billing cycle
Shopify stores
Additional Shopify stores
beyond the one included — add them now or later
Omnymous plan
1 Shopify store included
Additional stores × 0
$19/mo each
Seats, ad accounts, generations
not metered — your AI providers bill you directly
Billed when you start setup. Already a customer? Sign in.
Prices read from the live plan
Omnymous is a creative-strategy system for Shopify brands that run Meta ads. Its core, Creative Variables Attribution, takes every ad apart into the decisions it is made of — hook, angle, avatar, offer, landing page and more — and credits each Shopify order’s revenue to those decisions, with a 90% interval on each estimate.
What it is, who it is for, what it costs
Which decisions inside your ads earned the revenue. The credit from every order is followed past the ad into its parts and judged at the funnel stage each part works on: attention (click-through rate), intent (add-to-cart), conversion (orders per click) and basket (order value). Forty-three dimensions are built in — hook, angle, avatar, desire, offer, format and landing page among them — and your own custom properties can become dimensions too.
Ads Manager ranks ads, and an ad bundles a dozen decisions into one number. Omnymous ranks the decisions themselves, so the angle or hook that made a winner win can be reused after that ad fatigues. It also shows what Meta reports next to what Omnymous attributes from your own Shopify orders; the difference is called the claim gap.
Omnymous tells you it cannot separate them. If every variant rewrote the hook and the headline together, the pair is marked “confounded” and gets one shared estimate instead of an invented winner. Every part it can separate gets an effect against its family, a 90% interval, the probability it beats that family, the ads and spend behind it, and a verdict: identified or weak.
No. Omnymous reads every ad your connected ad accounts have run, takes each one apart and files the parts in your Library. Confident matches link on their own; doubtful ones wait in an Inbox, where one click merges them into an existing item or keeps them as new. Ads launched from Omnymous carry their full lineage from the first day.
Shopify brands that run Meta ads, and the strategists, media buyers and creative teams who decide what gets made and launched next. Shopify is required; Meta is supported for both reporting and launching.
Shopify (products, orders and the Omnymous web pixel), Meta (reporting and launching), Google Ads and TikTok (reporting on spend and delivery), and your own OpenAI, Anthropic, Google Gemini and Higgsfield keys, encrypted at rest, for generation and for Omni. Launching is Meta-only.
One plan: $149 a month, or $1,490 a year (two months free). It includes one Shopify store — each additional store is $19 a month or $190 a year — with unlimited team members, unlimited ad accounts, unlimited generations on your own AI keys and 1 TB of storage. Billing starts when you begin setup; there is no trial period.
No. Omni is read-only. It answers questions about attribution, store economics, creatives, experiments and journeys with numbers computed by the analytics engine through 23 typed tools, cites the campaigns, creatives and pages behind them, and offers the next step as a button. It runs on your own Anthropic key.
Yes, on Meta. The Campaign Launcher scores every creative and landing-page pair for message match, builds the test into the campaign structure, names every ad from a template and launches hundreds of ads in one pass — saving hours every day. Google Ads and TikTok connect for reporting only.
The models are graded on simulated stores whose true effect for every part is planted in advance, so the engine is tested against answers that are already known. On your own data, where two parts cannot be separated, it tells you so instead of guessing.
Prices read from the live plan · the full manual is in the user guide
Connect Shopify and Meta. Omnymous takes your ads apart, prices every part, and hands you the next test — built from the parts that paid.
One plan · $149/moShopify + MetaUnlimited seats