Every week, this AI turns 2500 lines of marketing data into a single action item for me

I built an AI marketing service that tells clients the most important marketing action to take every week to move the needle. For each client, it processes reports from SEO, Google Ads, Meta Ads, Merchant Centre and WordPress blog content. All into a single lever to pull. I call it Halfborg Levers.


I work with a small ecommerce store in Singapore selling skincare products. It has the typical setup; Google Analytics for site tracking, Google Search Console for SEO, Meta Ads and Google Ads for paid. And Google Merchant Centre synced with WooCommerce.

This “basic” setup already results in six channels with a dozen dashboards and reporting.

So every Monday, the solo founder runs into a familiar problem. Not a lack of data. But a lack of a decision. There is so much data to look at, but only time to do exactly one marketing thing that week. This is in between packing orders and answering customer messages. So, what marketing action should she take that week that will have an impact?

That gap is the whole reason I built Halfborg Levers.

Lots of reports, not enough decision

Most “AI marketing tools” give you more of the thing you already have too much of. Another dashboard. A weekly digest with fourteen charts and a paragraph of “insights” that all sound like “consider optimising your funnel”.

A solo founder cannot action fourteen charts. But she can action one thing.

So Halfborg Levers is built around a single rule: one action per cycle. Every week, the founder gets exactly one recommended move. Not a report. Not a top-ten list. One lever, with the reason it was picked, what it should do, and roughly how long it takes.

The way it chooses is effort versus lift. Effort is measured in minutes of the founder’s time. Lift is relative: percentage of ad spend recovered, cost per purchase improved, ranking gained. At this size, I never frame things in absolute revenue, because a “+SGD 4,000/month” headline is meaningless noise on a store this scale. The honest unit is “10 minutes of your Monday, to stop a leak”.

And it leans, roughly 70/30, toward cutting waste rather than launching new things. Fixing a leak is faster, safer, and more certain than chasing growth when you’re small. For creating new ads or blog posts, I have other workflows 🙂

How it works underneath is a set of specialist agents (one reads search and your site, one reads your paid ads and your Shopping feed), and a synthesis step that argues across them and picks the single best move. But honestly, the founder never sees any of that. The whole thing arrives as three plain lines on Telegram, plus a web page she can open if she wants the detail. The infrastructure stays invisible. That’s the point.

Here is what that actually looked like for Skinshare.sg, a skincare store doing around SGD 15K a month, after running Halfborg Levers over a few weeks.

The 10-minute win

The first lever was the smallest possible thing: pause one Meta ad.

It was a creator video the store had been running, called “UGC 2”. It used to perform. By the time the system flagged it, the cost per purchase on that one ad had drifted to SGD 18, against the ad set’s healthy baseline of SGD 13. Click-through was falling cleanly week on week. Meta’s own algorithm had already started starving it of budget. The ad was dying. It just hadn’t been switched off.

The Telegram message that week read like this:

Lever this cycle: pause Meta ad UGC 2. 10 minutes in Ads Manager.

Fatigue confirmed: cost per purchase SGD 18 vs SGD 13, click-through falling cleanly. UGC 3 – Copy is already absorbing the budget at return on ad spend 12.

Bench: refresh the Darren TSW post for the new “what is tsw” query. 2-3h, queued for next cycle.

Three lines. One job. Ten minutes.

She did it. The founder’s note the following week: website purchases increased 22% over the next 7 days.

Now, 22% off one paused ad is not magic. The budget didn’t vanish, it flowed to a healthier ad that was already converting better. That’s exactly the “cut the leak” bet. The skill isn’t spotting that an ad is tired. Any dashboard shows you that if you stare long enough. The skill is being the thing that actually says “this week, this one, go”, so it gets done on a Monday instead of sitting on a someday list.

Cutting is fast. Growing is slower, and it compounds

Pausing ads is the quick win. The other half of the job is growth, and that one took longer to show up.

A few cycles in, the lever was an edit to one product page: the Pure Emu Oil listing. Before the edit, that page was getting 21 visits in a week and making 0 sales. Healthy enough traffic, nothing to show for it.

The fix was content, not spend. Retitle around what people were actually searching, add the sections they were looking for, point internal links at it.

Two cycles later: 44 visits, and 2 sales. The search ranking for “emu oil for eczema” climbed from position 13.4 to 9.8, so it moved from the bottom of page two onto page one. Impressions for “eczema scars” more than doubled, from 87 to 195 a week.

Two sales is a small number. But it went from zero, on a page that now ranks higher every week without spending another cent. That’s the trade-off between the two halves: pausing a bad ad pays back this week, a content fix pays back slowly and then keeps paying. A small store needs both, but it can only do one at a time, which is the whole reason the system picks.

It also helps to check your work

Twice, the system caught something a dashboard would have happily hidden.

The first was a Google Shopping exclusion it had recommended, to stop a few products quietly burning spend on clicks that never converted. It kept showing as “done”. But the wasted spend kept appearing in the data. The reason turned out to be a very human one: the founder had been pausing those products inside WooCommerce, which feels like the right place, but the spend lives at the Google Ads level, where they were still active. The system noticed the money hadn’t actually stopped, and re-issued the fix pointed at the level where it counts.

The second was sharper. One week the lever was to pause a Meta ad (“eczema clothing”) that had ballooned to eat most of an ad set’s budget. The founder’s note said it was handled. The next week’s data said otherwise: the ad was still live, and had grown to 96% of the ad set’s spend, starving the best-performing ad down to nothing. So the system argued with the founder, politely, from the numbers, and re-issued the same lever. It trusts the data over the note. That’s the right call.

And then there’s the lever that surprises people: the week it told her to do nothing.

Two earlier changes were still mid-measurement. Touching anything would have smeared both reads, so the “lever” that week was literally to hold, run two five-minute confirmations, and protect the data. As the write-up put it: no direct lift this cycle, the value is preserving two clean measurement reads. A tool that’s paid to give you an action every week, choosing to tell you to sit still, is the opposite of how most of these things are built. The discipline to not act is part of the product.

What it can’t do

It does not yet detect on its own whether you actually did the lever. It reads the downstream data and gets suspicious when the numbers don’t move, which is how it caught both misfires above, but a human still confirms what shipped. Fully automatic “did you do it” detection is on the roadmap, not in the box.

Who this is for

If you run a small direct-to-consumer store, do your own marketing, and your real bottleneck isn’t information but deciding which one thing to do this week, this is built for exactly that. One lever, every week, on Telegram. Effort versus lift. Cut the leaks first.

Skinshare.sg is the pilot, and I am also running it on Recommend.my to see how it behaves. If you want to join a beta to add your store, let me know!


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *