Apply for a Free Strategy Call

RESULTS / CASE STUDY / DTC Speedcube Retail

SpeedCubeShop

Two agencies spent more while revenue fell. Now the ad budget follows revenue, and a new customer costs 28% less.

SpeedCubeShop has sold speedcubes since 2009, on a low order value in a competitive category. Eight months into the rebuild, ad spend runs 27% below last year and revenue is down 4%. The founder now starts the morning on a profit sheet he trusts.

28% cheaper
Cost per new customer, August 2025 vs August 2026
51% to 57%
Orders from first-time buyers, August 2025 vs August 2026
-27% ad spend
Weeks 1-35 of 2026 vs 2025, with revenue down 4%
8 of 8
Months of 2026 so far cheaper per new customer than the same month of 2025, January included

Cameron Brown, founder of SpeedCubeShop, on camera and unscripted. Recorded 3 April 2026, three months into the engagement. Every timestamp on this page links into this recording.

Where they started

SpeedCubeShop has been selling speedcubes in the US since 2009 and calls itself the original puzzle retailer. Cameron puts it this way at 00:58: "we were the first ones in the US to start selling this product". Cameron Brown founded it and still runs it. For two years it ran flat. Then it slipped. The product is a low-value order with thin margins and marketplace sellers in the same category, so there is little room for an ad account to be wrong. When Cameron was referred to us in September 2025, October revenue was running well below the year before, mostly from fewer new customers.

The ad accounts were the part he could not see into. By his own count, in the first half of 2025 his agency spent materially more on ads while revenue fell by a strikingly similar amount. On camera he puts it this way: the extra spend "was almost identical to the dollar the amount that revenue had decreased." Two agencies in a row had done a version of this. He had not been given a threshold to hold anyone to. Asked in October what return he needed to be profitable, he did not have an answer. Setting that number became the first job.

He had started checking for himself. He was in Triple Whale daily, and he had already spotted some of what we found. Brand searches sat inside the main Performance Max campaign. The click window was 90 days on a low-priced product. Add-to-cart and checkout were not tracked. What he did not have was a way to turn those facts into a budget rule. As he says at 04:39: "I had the numbers. They were all there and ready to be used and just were not being used."

On the audit calls in October he asked for one rule: if revenue falls, does ad spend fall with it? That question became the operating rule for the whole engagement.

"My biggest problem is I never had any real understanding of what numbers they were using to decide if we were profitable or not ... even if ROAS looks good, if there's no money extra in my bank account at the end of the day, who really cares?"

Read the full quote (unedited)

"My biggest problem is I never had any real understanding of what numbers they were using to decide if we were profitable or not. It just sort of felt like they were only really chasing ROAS and a few other like new customer acquisition cost metrics, but my whole problem was even if ROAS looks good, if there's no money extra in my bank account at the end of the day, who really cares?"

- Cameron Brown, Founder, SpeedCubeShop client interview, 3 April 2026, 03:17

What the audit found

Access was granted on 13 October 2025. Over two recorded calls on 15 and 16 October (72 and 71 minutes), Andrej walked Cameron through Shopify, Google Ads, Meta and the website live. The written audit followed the same week. Its verdict, verbatim: "SpeedCubeShop's ceiling isn't product demand. It's data clarity and differentiation."

Five themes ran through it. Three reports disagreed on what an ad had earned, because each ran a different attribution model. The analytics tool used multi-touch, the agency's report used first-click, and each platform reported its own self-reported view. Nobody could say what a new customer really cost. The main Google campaign was spending about 20% of its budget on the brand's own name, on top of two campaigns built for that. Meta was spending about a quarter of its budget on people who had already bought. Nobody had set the break-even number that would decide when to spend more or less. And the creative sold speed, when the reason to buy is a store run by cubers.

Every fix was structural. Measurement came first. Structure and creative followed, with one number deciding budget. Cameron used the audit to make some changes himself while he waited out his old contract through Q4. On camera at 05:46 he says it "really allowed me to make some optimizations on my own."

  • Analytics tool vs. agency reports conflict (multi-touch attribution vs. first-click).
  • Overspending on branded search/PMax inflating ROAS.
  • No clear differentiation between new vs. returning customer campaigns.
  • No clearly defined breakeven ROAS or profitability threshold.
  • Click-through conversion window crazy long (90 days for a low-AOV product?!)
  • Customer Match List hasn't been updated in 100+ days
  • About 20% of the spend is going to branded search terms
  • Spending too much on existing customers (25%) → It should have more exclusions
Quoted as written from 'SpeedCubeShop // In-Depth Business & Ad Account Audit', HoloGrowth, 15 October 2025, sections 3 and 5, with tool names replaced by their category. The full list in those sections runs longer than the five themes above. The pages are shown below.

What we did, in order

  1. 9 Oct 2025He puts his own numbers on the table. On the discovery call he says the first half of 2025 cost a large amount of extra ad spend and returned a similar amount less revenue. His figures, his window. That is what the audit was built to explain, and it followed within a week: two recorded calls on 15 and 16 October, then the written document.
  2. 2 Jan 2026Signed, at a stated price. A one-time setup fee to build the measurement layer, then a monthly base plus a percentage of managed ad spend. Those were the January 2026 rates, agreed before the current rate card existed, and they are not what a brand pays today; current pricing is on the audit page. The October audit came before any of it, under the pre-2026 diagnostic that is now the $5,000 Profit Clarity Audit. On 15 January the first guardrail is set: cost per acquisition at or below 50% of gross profit per order.
  3. 20 Jan - 19 Jun 2026Measurement got honest, then the targets moved. Google's click-through conversion window came down from 90 days to 30 in January and to 7 in May. We knew that would delete about 15% of reported conversions, and accepted it so the ones left were real. On 20 February Cameron flagged January from his own books, and Meta budgets were cut the same day. On 19 June he reported ad spend rising against flat revenue, so prospecting budgets were cut that week and a break-even table replaced the single target. Its inputs were reset because actual cost of goods came in above the modelled rate.
  4. Jul - Sep 2026The next lever is the offer. When the first order will not carry the cost of buying the customer, the fix is the order, not the bid. At the current first-order value the math leaves about 15% of it to buy a customer on that first order. So a five-offer New Customer Offer Plan went out, to lift that first order by about half. The GAN 17 launch and a Halloween Blind Box drop follow, both built to bring a new customer in at a higher first order.

What happened

28% cheaper
Cost per new customer, August 2025 vs August 2026
+5%
New customers in August, 2025 against 2026, on 25% less ad spend
8 of 8
Months of 2026 so far cheaper per new customer than the same month of 2025, January included
51% to 57%
Orders from first-time buyers, August 2025 vs August 2026
-27% ad spend
Ad spend, fiscal weeks 1-35, 2025 to 2026
Revenue -4%
Over the same 35 weeks; the year before had lost 8%
6.87x to 9.41x
Total ROAS, August 2025 vs August 2026. It rises when spend falls.

Total ROAS rises mechanically when spend falls, so we publish it as a guardrail, not a result. January 2026 is on the board even though the rebuild only finished going live in February.

Other things were happening. Stock-outs held spend back in Q1, and tariffs and freight raised costs through the summer. His team and community also sell a lot themselves. We report acquisition cost, return, and the change in gross profit after ad spend. His profit and loss belongs to him to publish.

The shape of the year

Across fiscal weeks 1 to 35, ad spend fell 27% and revenue fell 4%. The year before, revenue had fallen 8% over the same weeks. From week 23 on, revenue turned positive: up 4.1% on 12.6% less spend. The first week of September came in 38% above the same week a year earlier, on 31% more spend. Spend went up that week and revenue went up faster.

See the week-by-week revenue line, and where 2026 crossed over 2025

Weekly revenue, fiscal weeks 1-36: 2025 vs 2026

Indexed: week 1 of 2025 = 100. Weeks 1-35 came in 4% below 2025, on 27% less ad spend. Source: Performance Reporting sheet, YoY weekly tab

0 50 100 150 200 W1 W5 W9 W13 W17 W21 W25 W29 W33 W36 From W23: revenue +4.1% on 12.6% less spend 98 100 136 81 2025 2026
0 50 100 150 200 W1 W13 W25 W36 98 100 136 81 From W23: revenue +4.1% on 12.6% less spend 2025 2026

Revenue lost against the year before, over the same 35 weeks

Shopify revenue, fiscal weeks 1-35, each year against the one before it. 2025 lost 8.1% against 2024. 2026 lost 4.0% against 2025, on 27% less ad spend. Source: Performance Reporting sheet, YoY weekly tab, 2024, 2025 and 2026 columns, read 8 September 2026

0% 2% 5% 8% 10% 8% 2025 vs 2024 4% 2026 vs 2025 Revenue lost
0% 2% 5% 8% 10% 8% 2025 vs 2024 4% 2026 vs 2025

What it did to the money

Here is the profit question, answered as far as our own numbers can answer it. Take Shopify revenue, take out cost of goods, take out ad spend, and compare the same weeks a year apart. That is gross profit after ad spend. It sits before fixed costs and payroll, so it is not profit.

Run it on the cost of goods the business actually saw in May and June, and gross profit after ad spend across weeks 1 to 35 came to about 1.3 times our fees for the same weeks, and about 2.8 times them from week 23 on. Run it on the twelve-month average instead and the two figures are about 1.05 and 3.0. The direction does not depend on which rate you pick. The first months paid for the rebuild. From week 23 the gain runs about 2.7 times the fee, and that is the rate that matters from here.

Gross profit after ad spend, as a multiple of what the agreement charged

The same fiscal weeks a year apart, gain divided by fees. Actual uses the cost of goods the business saw in May and June; modelled uses the twelve-month average. The dashed line is 1.0x, the point where the gain exactly equals the fee. Source: Performance Reporting sheet, YoY weekly tab

0x 1x 2x 3x 4x 1.3x 1.1x Weeks 1-35 2.8x 3.0x Weeks 23-35 Gain (actual COGS) Gain (modelled COGS)
0x 1x 2x 3x 4x 1.3x 1.1x Weeks 1-35 2.8x 3.0x Weeks 23-35 Gain (actual COGS) Gain (modelled COGS)

What a new customer cost

This is the number the budget rule runs on. Every month of 2026 so far sits below the same month of 2025.

Cost per new customer: each month against the same month a year earlier

Indexed: January 2025 = 100. Blended cost per new customer, all ad spend over first orders in Shopify. Every month of 2026 sits below the same month of 2025. Source: Performance Reporting sheet, Scorecard tab

0 50 100 150 Jan Feb Mar Apr May Jun Jul Aug 125 100 90 65 2025, before 2026, with HoloGrowth
0 50 100 150 Jan Mar May Jul Aug 125 100 90 65 2025, before 2026, with HoloGrowth
One more chart: Total ROAS by month

Total ROAS by month: all store revenue over all ad spend

January to August of each year. Source: same sheet, Scorecard tab

0x 5x 10x 15x Jan Feb Mar Apr May Jun Jul Aug 6.9x 7.5x 9.4x 11.3x 2025, before 2026, with HoloGrowth
0x 5x 10x 15x Jan Mar May Jul Aug 6.9x 7.5x 9.4x 11.3x 2025, before 2026, with HoloGrowth

Where the constraint moved

Honest measurement also moved the constraint. Once cost of goods and a share of fixed costs come out of a first order, what is left to buy that customer is a small slice of it. Count gross profit over the first 90 days instead and that slice roughly doubles. Those are the June 2026 inputs. In the months cost of goods ran above the modelled rate, the slice was smaller again.

A new customer currently costs more than that first order alone can carry. It only clears once the second order lands inside 90 days. Every new customer is still being bought with the second order's profit. That is why the next fix sits in the first order.

See how the return you need falls as monthly spend rises

Break-even ROAS is not one number. It falls as monthly spend rises.

Required Total ROAS at each monthly ad spend level, with fixed costs carried per order. Both axes are relative: spend is a multiple of the lowest level modelled, and the required return is indexed to that level = 100. At eight times the spend the bar to clear is under a quarter of what it is at the bottom. Inputs of 19 June 2026. Source: Break Even and Profit Simulation sheet

0 50 100 150 100 1x 70 1.5x 55 2x 46 2.5x 41 3x 36 3.5x 33 4x 29 5x 26 6x 22 8x Required return, indexed
0 50 100 150 100 1x 70 55 2x 46 41 3x 36 33 4x 29 26 6x 22
Meta static ad: Breaking News, study shows the biggest regret of speedcubers is not using a GANCUBE sooner
July 2026: the tabloid-style 'Breaking News' static for GAN, one of the formats the creative report named as working. Tap or click to enlarge
Meta static ad for the GAN 17 launch, August 2026
August 2026: GAN 17 launch static, run on Meta with matching Google asset groups and sitelinks. Tap or click to enlarge
Meta static ad for the Halloween Blind Box, August 2026
August 2026: Halloween Blind Box, a limited drop built to bring new customers in at a higher first order. Tap or click to enlarge
Vertical static ad for the America250 speed cube, May 2026
May 2026: America250 cube launch static (9:16), used on Meta and Google. Tap or click to enlarge

What the business became

The change is in how the business is run, and Cameron says so himself. He still checks the accounts daily. What changed is what he finds there. A profit tracking sheet, updated every Monday, records the reason behind each budget decision. The budget moves with revenue in the same week.

The information now flows both ways. In February he offered the team access to his QuickBooks so they could see real-time profit and loss. In April he asked who should get his weekly finance worksheet. When his books showed spend rising against flat revenue in June, he said so, and the answer came back the same day as numbers and a budget change.

On camera at 12:51: "The performance is better, but the biggest thing that I love is just the financial transparency as far as understanding that we are profitable, and understanding like this is how much we can push while being profitable." And at 00:11: "Just knowing that every ad dollar that we're spending is strategic and profitable. It sounds cliche to say but it helps me sleep at night and it's no longer this just sinking feeling of 'Yeah, we're spending all this money on ads, but it's not making anything.'"

The work is not finished, and one part of it we got wrong. The break-even model ran on a modelled cost of goods. The rate the business actually saw came in materially higher in May and June. In those months the targets we held him to were looser than they should have been. Since 19 June the model runs on actuals reconciled against his books, and the targets move when the actuals move.

At today's first-order value, acquisition costs more than that first order alone can carry. The next lever is the offer and the platform mix. Eight months in, the engagement is active and the ad budget still follows revenue.

Where this does not work

Three kinds of account we would turn down, drawn from this one. A brand whose first order is too small to carry acquisition, where the honest answer is to change the offer. A founder who will not open the books, because a break-even table built on guesses is worse than no table at all.

And a brand whose real constraint is supply. Stock-outs held SpeedCubeShop's own spend back through Q1, and no ad account fixes that.

Two of those pressures were present here. We took the work because the measurement problem was solvable first, and it was: the offer only became the constraint once the numbers were honest. What we would decline is a brand where the offer is broken and the founder wants a media plan instead.

The terms, so you can see the exit before the entrance. His January 2026 agreement runs on a four-week minimum and fourteen days' written notice. The ad accounts stay in his name throughout; we work on access he granted.

"It's not like I'm seeing those huge surprises or starting off my morning with just my gut sinking ... The fact you guys have detailed profit tracking sheets and can actually show me how, when, and why you're making these decisions is also very assuring to me."

Read the full quote (unedited)

"Like I just have been trying to look at them on a daily basis and just make sure that everything is sort of looking in line. And it's just always nice that even though I'm still checking them when I go in, it's not like I'm seeing those huge surprises or like starting off my morning with just my gut sinking and just feeling like, 'Wow, like again, ad spend is going up, our revenue is going down.' The fact you guys have detailed profit tracking sheets and can actually show me how, when, and why you're making these decisions is also very assuring to me."

- Cameron Brown, Founder, SpeedCubeShop client interview, 3 April 2026, 08:14

Want to know what this would look like on your numbers? Start with a free 30-minute Strategy Call. We look at your dashboards live and tell you honestly whether the $5,000 Profit Clarity Audit is the right next step. It is double-backed. You get 100% of your fee back within 30 days if it wasn't clearly worth it, or the full fee becomes a credit if we can't quantify $75K in annual profit upside.

Apply for a Free Strategy Call

What you can take from this

Ad spend follows revenueYou cannot outspend a decline. When the acquisition target is missed because revenue fell, the budget falls the same week. The size of that trade for this account is on the results board above.
Break-even ROAS moves with spendFixed costs are carried per order, so the return you need falls as spend rises. Build that table for your own account and stay a full turn above the line before scaling. The shape is in the break-even chart above.
Size the attribution window to the purchase cycleA 90-day click window on a low-priced product credits ads for sales they did not cause. It went to 30 days, then 7, and every decision now runs on blended numbers from Shopify.
Separate brand from non-brand before you trust a ROASAbout 20% of the main campaign's spend was on the brand's own name, on top of two brand campaigns. Split it out and report branded and non-branded returns as separate lines; the first week showed 10.39x against 2.43x.
When measurement gets honest, the constraint movesOnce the numbers were honest, the ad account stopped being the binding constraint. What a new customer costs now sits above what the first order alone can carry, so the next fix is first-order value. The arithmetic is in the constraint section above.

Verify this case study

  • Watch the full interview on this page, or on YouTube: recorded 3 April 2026, published 18 April 2026, unscripted, 17 minutes.
  • Cameron's Trustpilot review, 3 April 2026: "Extremely trustworthy and delivers on what they say they will do."
  • Every performance number is blended across both ad platforms. The source is the SpeedCube Shop Performance Reporting sheet, Scorecard and YoY weekly tabs, maintained weekly from Shopify and the ad accounts. The 2024 comparison comes from the 2024 column of that same YoY weekly tab.
  • The break-even table comes from the Break Even and Profit Simulation sheet dated 19 June 2026. Last updated 8 September 2026.
  • The audit is dated 15 October 2025, before any contract or account change. It was the shorter pre-2026 version we ran at no charge while the diagnostic was being built. The same diagnosis is now delivered as the paid $5,000 Profit Clarity Audit: 14 days, 20+ pages. It rebuilds CAC, contribution margin and blended MER outside the ad platforms. The pages above are from the client-facing document.
  • See the SpeedCubeShop page's ad history in the Meta Ad Library.

Run the same math on your own account

Every HoloGrowth engagement starts with the same five numbers. They are CM3, nCAC, 90-day LTGP:CAC, payback, and the new-versus-returning split. The free Scaling Scorecard gives you those five metrics with the exact scale/hold/fix/kill thresholds we use on managed accounts. You see the same picture before you ever talk to us. If you only want to run one number first, find the point where your next dollar of spend stops being profit with the ad spend ceiling calculator.

Get the Free Scaling Scorecard

If your ad budget does not follow your revenue, find out what it is following.

Start with a free 30-minute Strategy Call. We rebuild your cost per new customer and your break-even at each spend level, outside the platforms. Then we tell you honestly whether the $5,000 Profit Clarity Audit is the right next step.

Apply for a Free Strategy Call