Pay Per ClickGiving every product group the campaign it needs
ServicesGoogle Ads · Microsoft Ads · Feed Management
We spent the first weeks on the foundations. We checked shipping and returns in Merchant Center, added an eco shipping option, and appealed disapprovals that had flagged everyday products by mistake. Feed labels kept each product in one campaign per country, and we restructured Dynamic Search Ads and simplified location targeting.
A placement script showed us where Performance Max was spending, so we switched off the automatic asset enhancements and built out audience signals from GA4 and the client’s customer lists.
Titles that say the size
A shopper comparing 2 bottles of castor oil wants to know which one is bigger. Early on we merged the size attribute into every product title in Channable, so listings showed the milliliters or grams next to the product name. Afterwards we checked that every product still sat in the right campaign, since the new titles had moved a few of them out.
A campaign of their own for the DIY kits
In the shared Shopping structure, a bundle competed for the same clicks as a single lip balm, and the lip balm usually won. In June we pulled the DIY kits out of every Shopping campaign and gave them a dedicated Performance Max campaign.
- Feed exclusions kept the kits out of Shopping, so the 2 never bid against each other
- Their own assets: headlines, images and how-to videos about making your own skincare, the natural ingredients, and why a kit makes good value or a good gift
- Value-based bidding, so Google chased revenue per order rather than the number of orders
Within a few weeks the DIY campaign had the highest order value in the account. We added a bath bomb asset group to the ready-made products campaign with the same aim, and used our DIY analysis to suggest which products customers might want bundled next.
Single products, single campaigns
Some products earned a campaign of their own. A jojoba oil Shopping campaign went live in early summer and, after its first month, had the highest ROAS of any non-brand campaign. Later we gave the top-selling oils their own campaign too, and tested Demand Gen on a small budget to reach new customers ahead of the busy season.
Along the way we merged the ready-made single products into one Performance Max campaign, launched branded Shopping, and refreshed the weakest images and copy. We also started merging the Dutch and Belgian feeds, testing on one campaign first.
Microsoft Ads, and support on tracking
We brought branded search across to Microsoft Ads early on and then added Dynamic Search Ads. Tracking itself was run by the client’s own tracking partner, and we supported their team: together we fixed the Microsoft purchase conversion and retired a duplicate purchase conversion in Google Ads. Later we added a script to tag every Google Ads click consistently, so Shopify could credit each sale to the right campaign.
Budget by margin, not only by revenue
In the autumn we sorted products into high, mid and low margin tiers with a custom label in the feed. High-margin products got more budget and visibility, while low-margin ones ran on stricter targets. We also moved spend toward the stronger weekdays, after our analysis showed Friday and Saturday converted least, and tracked profit per new customer in Lifetimely alongside platform ROAS.