Garrett Gray (@avantgray) header
Garrett Gray (@avantgray) profile picture

Your CMO & CFO can't agree on CAC. First-Party Intelligence Infrastructure settles that. Building AxiaOS & sharing the journey

Read the Manifesto ➡️
Joined September 2021
Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)Photo by Garrett Gray (@avantgray)
Know which number is real. AxiaOS is First-Party Intelligence Infrastructure, the first of its kind. It puts a first-party data warehouse in your own cloud and checks every platform’s claim against real revenue. One verified number, and you keep it.
1
1
296
An edtech company we work with did $2.6M in June. Only $627,000 of it (24%) came from students buying for the first time. Until that month, nobody on their team could have told you that second number. Meta, Google and the store each reported their own version. So marketing got judged on all $2.6M, when most of it came from people who were already customers. Then we matched every order to the company's own customer history. New-customer revenue finally had a number, and the budget questions finally had answers: which channels bring in first-time students, and what a real new student costs on each one. The ad platforms won't make that split for you. They get paid either way.
86
Okay X community do your thing. . . I’m looking to talk with people running growth at education, certification, high-ticket services or health businesses. Most attribution tools were built for Shopify brands. So if you’re spending real money on Meta or Google, the enrollment or signed deal that happens weeks later usually never shows up, and nobody can say which campaigns produced it. No sales call. I want to hear how you’re handling it. Intros hugely appreciated.
134
Know anyone running ads for a lead gen business where Meta celebrates the form fill and nobody can tell you if it turned into revenue? Education, certifications, high-ticket services, health. Some of our best results have come from these verticals, and they’re underserved. Most attribution tools were built around a Shopify checkout, so the enrollment or signed deal weeks later never shows up. No sales call. I want to hear how you’re handling it today, and if we can help, great. I appreciate any intros. And if this is you, my DMs are open.
4
1
177
In case you missed it, two of the best Meta buyers on X spent this week debating where Meta’s Incremental Attribution belongs. One says it beats the standard settings, warm audiences included. The other says it’s a top-of-funnel tool, and the bottom of the funnel runs on click attribution. Underneath it is a question every brand running retargeting should be asking: is it buying sales, or just buying credit for sales that were coming anyway? Meta’s answer to “would they have bought anyway?” is a model built on what it can see. You have something it doesn’t: every customer’s full purchase history. If the buyers your retargeting “converts” were already reordering every 40 days before the ads, there’s a good chance you paid for the credit.
116
Easy way to tank your Meta sales: pause the campaign that looks least valuable. A media buyer we work with did exactly that. He cut the one chasing site visits instead of purchases. The other campaigns kept reporting conversions like nothing happened. Then the client called. Sales were down. Account reach had fallen from 3.9 million to 2.4 million, mostly from campaigns nobody touched. The paused one was the only campaign finding people who'd never heard of the brand. The rest were closing sales it started. Your order history knows which buyers are new. The ad account doesn't. It's grading its own homework.
1
72
Two dashboards disagree on revenue. In most companies, step one is filing a support ticket and praying. One of our eCom clients skipped that step. We built them a data warehouse inside their own cloud account. We run it. They own it. Their data lead says AI now helps them "dig into discrepancies and better understand what's behind the numbers." So when two numbers fight, his team traces it themselves. No ticket, no shrug, no waiting on a vendor's roadmap. Owning the data made it checkable. AI just made checking fast.
2
96
Meta grading Meta's ads = a chef reviewing their own food Northbeam & Triple Whale = critics who run their own restaurants.
2
122
$199/mo so an AI can read their copy of your data. "Contact sales" if you want to export it to your own warehouse. One subscription brand we worked with was paying $25 per new customer. On paper. The "new customers" included every subscriber reorder. Only 339 were first-time buyers. Same spend across just those 339: about $125 each. Ask an AI for CAC off that data and you get $25, instantly, in a clean table. Faster answers. Same trust deficit. Everyone rents the model. The record is the only part you can own.
110
We checked every sale Meta claimed for an 8-figure DTC brand against the real orders in their own store. Meta said 1,996 sales. The store had 1,406. Most of the gap traced back to a second Meta pixel someone had set up months earlier and never turned off. Sales were getting counted twice, and the team was deciding which ads to scale off those numbers every morning. You might think an attribution tool would have caught it. Maybe. But that tool gives you its own estimate, from its own model, sitting in its own account. What caught it was simple: matching each sale Meta claimed to a real order, ad by ad, in the brand's own data. If you can't do that for your account today, you don't really know your CAC.
1
2
190
Triple Whale charges you extra to get your own data out of Triple Whale. Your numbers run through their warehouse. Want them pushed to your BigQuery? That's a separate paid tier. You're renting a window into data that started as yours. And the export fee is the boring part. Customer identity gets stitched together by "probabilistic matching." A black box guessing whether two visits are the same person. Guess wrong once and every new-vs-returning number downstream quietly inherits the mistake. No error message. Just a wrong answer you'll trust for a year. Don't take my word for it. Take theirs. Straight from their own help center: - "Why do my order-based sales metrics not match Shopify?" - "Why does my LTV metric keep changing over time?" Those aren't edge cases. The vendor documented them. None of this makes Triple Whale a bad product. The UI is fast and plenty of teams get real value from it. But a dashboard you rent vanishes the day you cancel. An asset you own keeps compounding whether you keep paying or not. Ask whoever runs your attribution stack one question: If you cancelled tomorrow, what would you actually own?
2
1
181
Northbeam just made the best case for owning your data. By accident. The pitch: flip a switch, feed Meta better data, watch ROAS climb. They're right about that. A model is only as good as what you feed it. Garbage in, garbage out. The oldest rule in data. But what Apex feeds Meta isn't your data. It's Northbeam's modeled data. Their model decides how much of each sale to credit your Meta ads, then sends that number over. A sophisticated guess is still a guess. Does Apex give Meta cleaner inputs? Yes. Is the number verified? No. You've laundered a guess through a second algorithm. The number feels better. It isn't any more real, or any more yours. The rule only breaks in your favor when what goes in is verified. Reconciled against your real orders, in a warehouse you own, before any model touches it. Own that, and the oldest rule in data finally works for you instead of against you. So before you flip the switch: is the number you're feeding Meta verified, or just modeled by the vendor you rent it from?
1
159
𝗘𝘃𝗲𝗿𝘆 𝗮𝘁𝘁𝗿𝗶𝗯𝘂𝘁𝗶𝗼𝗻 𝘁𝗼𝗼𝗹 𝘆𝗼𝘂'𝘃𝗲 𝗽𝗮𝗶𝗱 𝗳𝗼𝗿 𝘀𝗼𝗹𝗱 𝘆𝗼𝘂 𝘁𝗵𝗲 𝘀𝗮𝗺𝗲 𝗽𝗿𝗼𝗺𝗶𝘀𝗲. 𝗔 𝗺𝗼𝗿𝗲 𝗮𝗰𝗰𝘂𝗿𝗮𝘁𝗲 𝗻𝘂𝗺𝗯𝗲𝗿. That was the wrong promise the whole time. Your ad platform reports one CAC. Your attribution tool reports another. Your CFO looks at the bank and reports a third. So naturally the industry made it a contest over accuracy. • 95% versus 92%. • Better modeling. • Tighter windows. • A nicer dashboard bolted onto the same rented data. None of it mattered. A more accurate rented number is still rented. You can't audit it. You can't keep it. And the day the vendor retrains its model, gets acquired, or moves that view to a higher plan tier, the number you built a budget on changes underneath you. Nobody sends a changelog when the truth you were using quietly expires. So you stop trusting the numbers you run on. That is the trust deficit. No dashboard has ever fixed it, because none of them were built to. The teams that actually stop guessing didn't go find a more confident tool. They built one record they own. Every order, every ad dollar, every customer, sitting in a warehouse in their own cloud instead of a vendor's account. Then they made every tool on top reconcile against that record. Not the other way around. 𝘈𝘤𝘤𝘶𝘳𝘢𝘤𝘺 𝘪𝘴 𝘢 𝘧𝘦𝘢𝘵𝘶𝘳𝘦 𝘺𝘰𝘶 𝘳𝘦𝘯𝘵. 𝗢𝘄𝗻𝗲𝗱 𝗶𝘀 𝗮 𝗳𝗼𝘂𝗻𝗱𝗮𝘁𝗶𝗼𝗻 𝘆𝗼𝘂 𝗸𝗲𝗲𝗽
107
Last month, Meta told a client they got 1,996 conversions. 590 of them never happened. A forgotten duplicate pixel had been padding the winners for months, and their old setup never stood a chance of catching it. We caught it because every morning, automatically, our infrastructure lines Meta's claims up against the client's real orders, ad by ad. Meta pads its numbers. Duh. But you can't tell by how much, or which ads are lying to you, so "yeah, I don't really trust Meta" does nothing for you at 9am when you're deciding what to scale. And no, another dashboard isn't the fix. Northbeam and Triple Whale run their own pixels and their own models. It's a sharper guess, sitting on someone else's platform, not a verified record you own. A better guess still isn't proof, and it still isn't yours. Nothing ever looked wrong. Every metric pointing the right way, numbers that looked promising. The ad doing the lying wasn't a red flag. It was the winner. So you'd scale it. That's what you do with a winner, right? Real budget, poured into a sale counted twice. Nothing on your screen would stop you. An inflated ad looks exactly like your best one. You can't tell them apart on Meta's dashboard, by design. Own the record, and you can.
102
Me when a $100k/month ad account's entire ROI process is three attribution tools, a manual Shopify check, and a spreadsheet to see if any of it worked.
1
211
Meta published the GEM engineering documentation 7 months ago. Almost no one read it. GEM got all the press. Wukong, buried inside the same documentation as the architecture powering GEM's feature interactions, got none. Wukong is Meta's non-sequential ad recommendation engine, built into GEM (Generative Ads Recommendation Model). It doesn't think in linear funnels. It thinks in a lattice, evaluating how user attributes interact with ad characteristics to predict what each person needs to see next. One user might see a success story first, then a product ad. Another converts cold off an educational piece. The sequence is different for everyone, and Meta's algorithm figures it out, not you. If the algorithm is building the sequence, your only real lever is what you put into the lattice. What this means practically: → Creative is your targeting now. If your ad doesn't get engagement, Wukong stops showing it to quality users. Hook rate and hold rate are the signals that drive scale. → Stop fragmenting budgets. Wukong runs on data density. Consolidate ad sets and feed it more signal, not less. → Build content pillars. Educational, testimonial, product-focused. Give the algorithm breadth and depth to pattern-match from. → Drop the manual exclusions. Wukong learns who converts from creative performance signals, not audience rules you set. If the creative lands, it already knows who to show it to next. Recently, a client found that they were spending the least on their prevention and success story content pillars. When they pulled the data, those two pillars were the coldest entry points Meta was already using to sequence users into the funnel. Meta had built the sequence without being told to. They just hadn't funded it. You're not hacking targeting settings. You're crafting ads that earn engagement, then watching Wukong route each person through whichever sequence actually converts them. Are you still forcing the funnel, or have you started building for the lattice?
3
2
160
Instead of competing to be the best, companies can - and should - compete to be unique Competing to be the best feeds on imitation. Competing to be unique thrives on innovation.
1
1
141
Every sale involves a point A and a point B. The gap between A & B represents where your prospect is vs their desired outcome If they are satisfied with their A or they think they can get to B without you then they are not an ideal prospect
1
96
Even if they don't make a purchase, your aim should be for them to leave your interaction or website thinking, "I'm glad I spoke with them/visited their site." Strive to offer at least 3-5 positive takeaways.
1
63
Hyros, TripleWhale and Northbeam can be valuable additions to your tech stack but they do nothing to combat your behavior data retention problem What do I mean? Meta dumps your data after 28 days & the previously mentioned tools do nothing to help you retain & reactivate users past 30 days.
1
2
168