A foundation month. We spent it getting the account clean, the tracking trustworthy and the picture clear, so the months that scale are built on something we can rely on.
Our first month together has been a foundation month. A lot of it went into checking tracking, fixing conversion actions, reviewing Merchant Center, tightening Meta retargeting and getting a real view of what's actually bringing in revenue. The account is in a much better position than where we started.
Customers who buy are still spending well, AOV is actually up. The gap is that there aren't enough customers moving through to purchase yet. That's the number we're building the next few months around.
Compared with the same period last year, revenue was down 58.4% and orders down 59.1%, while average order value held up (+6.5%). The year-on-year gap is real and it's the thing we're here to close. Month one was about making sure we're scaling on clean foundations rather than pushing budget into a setup we couldn't trust.
Shopify recorded $23,108.34 from 173 orders. The month leaned on standout days and offer moments rather than a consistent daily lift, which tells us exactly where the next bit of work sits.
A great week, helped by the long weekend and the VIP 25% promotion. We're calling it out as proof of what's possible, not as the new baseline. When we put budget behind campaigns that already had a signal rather than launching something new into learning, it worked.
Existing customers are still valuable and still buying. The job now is rebuilding new customer volume, in a measured way and with the right creative and product mix.
Returning customers spend more per order ($127.73 vs $89.52), so the loyal base is healthy. Retargeting can recover warmer demand, but it can't create new demand on its own. Prospecting needs to come back, carefully, to rebuild that top of funnel.
Shopify last-click revenue by referring channel, the actual Shopify numbers from the referring channel report. Google led the month, and Klaviyo punched well above its order count on value. We've shown the top six channels here.
The email list is still really valuable. It's worth supporting properly during key moments, sale periods, range drops, VIP offers and mystery bundles. Small order count, big basket.
Google contributed 39.9% of total Shopify sales for the month, making it the clearest sales-attributed channel.
Shopify last-click reporting does not show the full Meta picture. Meta Ads Manager recorded 52 purchases during the same period, while Shopify last-click only attributed 7 orders to Facebook and Instagram combined. This is why Shopify is used as the source of truth for total sales, while Meta and Google Ads are used to assess platform performance and optimisation direction.
A separate view. These are the numbers Meta and Google report in-platform, on their own attribution models. We keep them apart from the Shopify chart above on purpose, so we're not blending two different ways of counting a sale.
| Platform | Spend | Purchases / Conv. | Value | ROAS |
|---|---|---|---|---|
| Meta Ads Manager | $1,897.59 | 52 purchases | $6,775.18 | 3.57x |
| Google Ads | $3,858.11 | 79.76 conv. | $8,641.51 | 2.24x |
| Combined paid | $5,755.70 | – | $15,416.69 | 2.68x |
Read alongside the blended MER of 4.01x (total Shopify sales against total paid spend). Platform ROAS and Shopify last-click credit sales differently, so we treat Shopify as the final source of truth and use Meta and Google to read efficiency and decide where to push.
Meta retargeting performed well overall. The strongest buying signals are coming from warmer audiences, especially add-to-cart and engaged customers. Catalogue and DPA-style creative is doing the heavy lifting.
| Audience | Purchases | ROAS | CPP | Read |
|---|---|---|---|---|
| FB engaged customers | 5 | 14.97x | $12.04 | Standout |
| IG engaged customers | 3 | 8.58x | $19.19 | Strong |
| ATC retargeting | 11 | 5.16x | $27.01 | Strong |
| High Intent 30–60 day | 33 | 2.59x | – | Watch fatigue |
High Intent 30–60 day drove the most purchases (33) but at a lower 2.59x ROAS, with frequency already close to 6. That's the creative fatigue signal we'll keep a close eye on. It's why the catalogue and DPA refresh matters.
We shifted away from broad brand explainer creative toward product-specific retargeting messages. Warm audiences already know the brand, so we give them a reason tied to what they viewed or added. The "Almost yours" DPA direction is doing exactly the job we need.
We also tightened the budget from $88 to $50 per day, kept the stronger ads live and switched off catalogue ads that had spent without purchases. UGC has started contributing as a trust layer, but DPA stays the main warm conversion format for now.
Google continued to do the heavy lifting on paid traffic and sales, but performance isn't even across campaigns. Brand Search is the cleanest, PMax Non-Brand is the workhorse, and a couple of campaigns still need to prove themselves.
| Campaign | Spend | Value | ROAS | Status |
|---|---|---|---|---|
| Brand Search | $430 | $2,119 | 4.93x | Cleanest |
| PMax Non-Brand | $2,499 | $6,063 | 2.43x | Workhorse |
| Shopping High Priority BOB | $188 | $300 | 1.60x | Some signal |
| Generic Search | $325 | $0 | – | Hold flat |
| Demand Gen | $319 | $0 | – | Under review |
Top terms were "band of boys", "band of boys nz" and "band of boys socks". It's protecting branded traffic exactly as it should, at 4.93x.
Spend went to competitor and broad category terms with no conversions. We're keeping it tightly capped, then rebuilding around higher-intent exact and phrase match only.
A closer look at the Search Generic NZ drop, to understand whether performance had fallen away or whether traffic had simply shifted after earlier account changes.
We reviewed the Generic campaign by month and week, the keyword report, change history and brand search terms. The main finding: Generic had been picking up a large amount of brand traffic, particularly around "Band of Boys" searches. Once those brand terms were removed from Generic, its results dropped sharply, but that traffic was then picked up by the dedicated Brand Search NZ campaign. That's a cleaner setup. Brand Search should protect high-intent branded searches, while Generic is judged separately as a true non-brand campaign.
To keep the account cleaner, we have:
The next step is to keep Brand Search protected, while treating Generic Search as a smaller controlled test rather than a main revenue driver.
Shopify shows enough Australian demand to test, not enough to open broadly. Western Australia led on revenue and AOV ($1,754 from 4 orders, $415.72 AOV), Victoria had the most orders (5). The next AU test focuses on WA and Victoria only, kept contained so we can actually read the results.
The sales mix is heavily Band of Boys, especially pyjamas, track pants, shorts and winter pieces. The Girl Club has real demand, it's just underweighted in the current mix and needs more dedicated support.
Dip Dye did $901.24 from 16 orders, with $423.24 in returns recorded against it. The Dip Dye style (crew, hoodie and track pant) had a sizing issue, so the product descriptions have been updated and orders are now being checked with customers before shipping to confirm sizing. While that beds in, we'd keep Dip Dye in catalogue retargeting rather than leading with it as a main hero product, then bring it forward once the return signal settles.
At 11.2% of revenue, TGC is underweighted, not undemanded. We've already added it as its own asset group in PMax Non-Brand with dedicated products, audience signals, assets and URL. Next is its own creative and retargeting angles rather than being folded into Band of Boys messaging.
A lot of month one wasn't campaign management, it was making sure the account was set up properly before any bigger budget or scaling decisions. Here's what got sorted.
Full event check across PageView, ViewContent, AddToCart, InitiateCheckout and Purchase. Purchase match quality came in at 8.6 and AddPaymentInfo at 8.7, which is a strong base for audience building and attribution. CAPI is sending through Shopify's native setup, keeping the structure clean.
Purchase (Gtag) is now the only Primary purchase action. Add to basket and Begin checkout were moved back to Secondary after a brief mis-set on 20 May, so Google isn't optimising toward cart events as if they were completed sales.
Conversions, revenue and orders were showing as zero in the main report view. Sales were still recording in the background, the wrong Google Shopping App purchase action was just sitting in the wrong place. Corrected, with the working action set Primary.
Surfaced a drop in active items across some secondary international markets (a batch of ~120 products) and some AW25 SKU disapprovals. Core NZ, AU, US and UK markets were not affected. AU shipping was switched from NZD to AUD pricing.
Shopify stays the source of truth for sales and orders. Meta and Google are how we read platform efficiency and decide where to push. That keeps everyone looking at the same real number while we optimise toward it.
Still being monitored: Google Revenue / Orders column mapping, Add to Basket tag activity, legacy conversion clean-up, Search Generic NZ goal warnings, product ID matching between Shopify and Merchant Center, the currency reporting flag (AUD showing in places despite the .co.nz store), and a forced Shopify tag migration that's currently blocked on admin access. These are open items we're working through, not finished fixes.
The account is in a better spot, but we want to be clear about the things that still need attention. Nothing here is a surprise, they're the items shaping the next month's plan.
The main focus for July is simple: protect the warm demand we already have, support EOSS properly, and only scale where the data gives us a reason to.
July is the key winter sales window, so we're treating it as a major sales month, not standard BAU. The priority is capturing existing demand through Winter EOSS, with budget focused on the areas already showing the strongest signal. This isn't the month to overcomplicate the account with new tests.
Stay on warm audiences through EOSS, ATC, checkout starters, product viewers, site visitors, IG/FB engagers and VIPs. Sales objective, catalogue / DPA doing the conversion work, product-specific messages over brand awareness. We'd avoid cold prospecting on discounted product to protect positioning and margin.
Protect Brand Search (intent lifts during sales). Keep PMax Non-Brand running and monitored, not rebuilt mid-peak. Weight Shopping toward hero winter SKUs with strong recent sales. Keep Generic Search capped and Demand Gen under review before more spend.
Lean into what's already converting, BOB pyjamas, track pants, shorts and winter pieces, via catalogue and Shopping. Build TGC visibility carefully with its own angles. Get behind the new Boys and Girls Mystery Bundles ($99 each), they suit the EOSS surprise format and give both brands a clear hero offer. Keep Dip Dye out of main hero creative until the return signal clears.
Contained test across Western Australia and Victoria only. WA for the AOV signal, Victoria for order volume. NSW and QLD stay under review, they're not the first priority on this month's data.
Budget only goes up where the data supports it. If the EOSS warm-audience and VIP activity performs at or above target ROAS, we can hold or lift budget into the strongest campaigns. If performance dips, we don't add spend, we focus on creative refresh, product prioritisation, offer clarity, feed fixes and the Generic Search clean-up.
Not one ROAS number. The signs we want to see:
We haven't closed the year-on-year gap yet, but the account is cleaner than when we started. Tracking's been reviewed, conversion actions corrected, Merchant Center issues surfaced, Meta retargeting is converting, Brand Search is working and PMax is driving volume. Shopify confirms the core issue is order volume, not basket size, which means we know exactly what to aim at next.
A view of the projects and tasks across the next two months, grouped by workstream. July is the Winter EOSS push and the busiest stretch, August is about reading the results and deciding what scales. Australia sits in its own lane so the test stays easy to track.
Daily and weekly checks keep running through the whole period, with the Tuesday recap and fortnightly review as the regular touchpoints. The scaling gate stays in place: budget only lifts where the data supports it. If performance dips, we focus on creative, product, offer clarity and feed fixes rather than adding spend.