Audit. Build. Publish. Measure. Again.

The audit, build, publish, measure loop

Almost every Shopify store we look at has the same shape of problem. It isn't a shortage of ideas. It's that marketing gets treated as a series of projects — build the flows, launch the blog, run the ads — and a project ends. Nobody goes back and asks whether the thing that shipped six months ago is still doing anything.

The alternative is a loop, and it has four steps:

Audit → Build → Publish → Measure → again.

That is the loop Tilly runs, and it's the loop we run by hand for clients. This post is the loop explained, plus one complete turn of it on our own site — including the parts that were embarrassing.

Table of Contents

Why "build" is the wrong place to start

Ask a store owner what they need and the answer is almost always a build request: we need a welcome flow, we need more content, we need better creative. It's a reasonable instinct, and it's how agencies scope work, because a build has a start, an end and an invoice.

The trouble is that a build assumes you already know what's broken. Most of the time you don't. You have a hunch, shaped by whichever number you looked at most recently.

Starting with an audit costs you a few days and routinely changes what you build. On our own site, the thing we thought we needed was more posts. What we actually needed was for the 100 posts we already had to be readable by the machines that were meant to be reading them.

Step 1 — Audit: find out what is actually there

An audit is an inventory plus a diff between what you believe is live and what is live. It is not a strategy document. It's closer to a stock count.

For a Shopify store the minimum honest audit covers:

That last one sounds trivial. It is where we found the worst of it.

What our own audit found

We ran this on withbranva.com in September 2026. At the time the site had 100 published posts and 179 URLs in the sitemap. Here is the unedited list of what the audit turned up:

  1. Every page shipped an empty body to crawlers. The site is a React single-page app. The HTML served to anything that doesn't execute JavaScript — which includes most AI answer engines — was a shell with an empty <div id="root">. Roughly 180 pages of content, invisible to the crawlers we most wanted reading it.
  2. 121 booking links pointed at the wrong calendar. Every "Book a demo" button on the site, across every page and post, sent people to a Calendly link that was no longer the right one. It had been wrong for months. Nobody clicked enough for it to surface as a complaint.
  3. 12 calls to action did nothing at all. Styled as buttons, positioned as buttons, wired to nothing. A <button> with no handler looks identical to a working one until someone presses it.
  4. Three pages had malformed <title> tags — the kind of thing that silently ruins a search listing.
  5. Several templates rendered two <h1>s.
  6. The same stale screenshot appeared in seven posts, including one showing a version of our own site that no longer existed.
  7. One "article" was a single sentence. It was in the sitemap, being offered to search engines as a page about launching a beauty brand.
  8. One English post contained two paragraphs of Spanish, left behind by a translation step nobody checked.

None of these are strategy problems. Every one of them was quietly cancelling out work that had already been paid for. And not one would have been found by a planning session — only by going and looking.

Step 2 — Build: the work, not the plan

Build means producing the actual asset: the email that will send, the post that will publish, the ad that will run. Not a brief for it, not an outline, not a calendar slot with a title in it.

This is the distinction that decides whether a marketing system survives a busy month. A content calendar is a promise. A drafted post is work that only needs approval. When the founder disappears into a supplier problem for three weeks, the calendar produces nothing and the drafts keep moving.

It's also the step AI genuinely changed. Drafting used to be the bottleneck and it isn't any more. Which pushes the bottleneck one step down the line, to publishing — and that turns out to be where the real risk moved.

Step 3 — Publish: approval before anything goes live

If the build step is cheap, volume goes up, and volume without review is how brands end up with Spanish paragraphs in English posts and screenshots of a site that no longer exists.

So the rule is: nothing publishes without a human seeing it first. Tilly is built this way — everything it writes is shown to you before it goes anywhere, and it publishes into the tools you already run (Klaviyo, Omnisend, Shopify Email, Meta) rather than a parallel system you'd have to check separately.

Review costs minutes per asset and it's the cheapest insurance in the loop. We wrote about what to actually look for in the approval gate post.

Step 4 — Measure: against the audit, not against zero

The measurement step is where most loops break, because the question gets asked in a way that can't be answered. "Did the blog work?" has no answer. "Did the 14 posts we published in August move impressions on the terms we targeted, and did any of that traffic reach a page that can convert?" does.

This is why measuring against the audit matters. The audit gave you a baseline for every asset. Three months later you re-run it and diff. You're not asking whether marketing worked in the abstract — you're asking what changed, on the specific things you touched.

The uncomfortable version of this is that it will sometimes tell you the work didn't matter. We've had that answer. It's still cheaper than not knowing. More on the mechanics in how to measure AI-written marketing.

Again

The "again" is not filler. A loop that runs once is just a project with extra steps.

What makes it compound is that each turn starts from a better inventory than the last. The first audit finds the broken buttons and the empty pages. The second one finds the flows that decayed. The third finds that two of your top pages have been ranking for a term you never targeted, which is worth more than anything on your content calendar.

We are running this on our own site now, in public, and we'll publish each turn as it happens — including the turns where the number goes the wrong way.


FAQ

How long does one turn of the loop take?

The audit is days, not weeks — it's counting, not thinking. Build and publish run continuously. The measure step needs enough time for the work to have had a chance to do something, which for email is weeks and for content is a quarter.

Do I need a tool for this?

No. The loop is a discipline, and a spreadsheet plus a recurring calendar block runs it perfectly well. Tilly exists because most founders don't run it — not because it can't be run by hand. Its free tier audits your store and shows you the work before anything publishes, which is enough to see whether the loop is worth adopting.

What if the audit finds too much to fix?

It will. Ours did. Fix the things that are cancelling out existing spend first — broken links, dead buttons, pages that can't be read — because those cost nothing to fix and are already paid for. New work comes after.