The Playbook

17 plays · 5 levers

The Playbook

Every play, in full. Start with the diagnostic table if you don’t already know which lever is the constraint.

5 levers17 playsLast reviewed Sep 2026
How to use this

Diagnose first. Then pick the play.

Most wasted effort in ecommerce comes from running a play against a lever that wasn’t the constraint. Work the sequence.

01

Decompose revenue

Split the last 12 months into the five terms. Whichever is furthest below its own trend or a credible benchmark is the constraint.

02

Size the prize

Model the play at a directional uplift before building anything. If a realistic result doesn’t clear the effort, it goes back in the backlog.

03

Ship one change

One variable, one measurement window, one pre-agreed success metric. Bundled releases produce unattributable outcomes.

Diagnostics

Symptom → constraint

A fast triage table. Read the symptom, jump to the lever.

Symptom
Likely constraint
Lever
Sessions growing, revenue flat
Traffic quality or on-site friction, not demand
Conversion
Conversion healthy, revenue capped
Demand ceiling — you’re converting a pool that’s too small
Traffic
High add-to-cart, low order completion
Checkout, payment methods or delivery promise
Conversion
Orders up, basket size shrinking
Promotion mix pulling single-item, low-value baskets
Order value
Growth entirely dependent on paid spend
Weak repeat rate — you’re renting customers, not keeping them
Repeat
Revenue rising, contribution margin falling
Cancellations, returns, delivery cost or media waste
Leakage
01

Traffic

Are enough qualified people arriving, and at what cost?

Qualified sessions · Blended CAC · Non-brand share
T1

Prune the index

SymptomHundreds of thousands of thin listing, filter or pagination URLs indexed; crawl budget spread across pages that can never rank.

PlayClassify URLs by demand and content depth. Keep and enrich the ones with search demand; noindex the rest; 301 true duplicates. Re-check crawl stats and impressions monthly, not weekly — the lag is real.

Organic sessions +5–15%Effort: high · Lag: 2–4 months
T2

Fix the brand/non-brand split

SymptomA majority of paid search spend sits on brand terms with 80%+ impression share and near-100% top-of-page rate.

PlayRun a geo or time-based brand holdout to measure true incrementality. Reallocate the recovered budget to non-brand and shopping. Most retailers find a meaningful share of brand clicks are cannibalising free organic clicks.

Paid efficiency +10–25%Effort: low · Lag: 2–4 weeks
T3

Feed quality before bid strategy

SymptomShopping impression share is low and no bidding change fixes it.

PlayAudit GTIN, brand and category coverage; restructure titles to lead with the terms people actually search; fix disapprovals and price mismatches. Feed completeness is an eligibility problem, not a bidding problem — bidding cannot buy impressions you’re not eligible for.

Shopping impressions +20–50%Effort: medium · Lag: 1–3 weeks
T4

Build category pages for demand, not for the catalogue

SymptomThe site’s navigation mirrors internal merchandising hierarchy rather than how customers search.

PlayMap real query volume to landing pages. Where demand exists for an attribute combination and no page does, create one with unique content and internal links. Where a page exists with no demand, don’t index it.

Non-brand organic +8–20%Effort: medium · Lag: 2–4 months
02

Conversion

Of the people who arrive, how many finish?

CVR by device · Funnel step drop-off · Add-to-cart rate
C1

Mine on-site search

SymptomZero-result and low-CTR internal queries are never reviewed.

PlayPull the top zero-result queries weekly. Split into three buckets: synonym gaps (fix the search index), catalogue gaps (buying decision), and spelling. Searchers typically convert at several times the site average, so this is the highest-leverage small fix on most sites.

Site CVR +2–8%Effort: low · Lag: immediate
C2

Answer the three PDP questions above the fold

SymptomHigh PDP traffic, weak add-to-cart rate.

PlayEvery product page must answer, without scrolling: is it in stock, when will it arrive, and what does delivery cost. Everything else — imagery, specs, reviews — is secondary to those three. A concrete delivery date outperforms a range.

Add-to-cart +5–12%Effort: medium · Lag: immediate
C3

Strip the checkout

SymptomSteep drop between cart and payment.

PlayCount required fields and remove every one not needed to fulfil or bill. Offer guest checkout. Match payment methods to the market — in South Africa that means instant EFT and pay-later options alongside cards, not cards alone.

Checkout completion +5–15%Effort: medium · Lag: immediate
C4

Fix mobile weight before mobile design

SymptomMobile is the majority of sessions and a minority of revenue, with a CVR gap far wider than the category norm.

PlayMeasure field data, not lab scores. Attack the largest contentful paint element first — usually an unoptimised hero or product image — then third-party tags. Aesthetic redesign before performance work is a common and expensive inversion.

Mobile CVR +3–10%Effort: medium · Lag: 2–6 weeks
03

Order value

How much is in the basket when they finish?

AOV · Units per order · Margin per order
A1

Engineer the free-delivery threshold

SymptomThe threshold was set once, years ago, and never revisited against actual AOV distribution.

PlayPlot the basket-value histogram. Set the threshold above the current median but inside the fat part of the distribution — roughly 15–25% above AOV is the usual landing zone. Then show progress to threshold in the cart. Model the delivery cost absorbed against the incremental margin before committing.

AOV +5–12%Effort: low · Lag: immediate
A2

Bundle on genuine co-purchase data

SymptomCross-sell modules are populated by category rules and get ignored.

PlayBuild recommendations from actual basket affinity, not category adjacency. Place them at the moment of commitment — cart and post-add — rather than on the PDP where they compete with the primary decision.

Units per order +3–8%Effort: medium · Lag: 2–4 weeks
A3

Change the default sort

SymptomListing pages default to price ascending, training every customer into the cheapest SKU.

PlayDefault to a relevance score blending conversion rate, availability and margin. Keep price sort available, just not first. This is one of the few single-line changes with a measurable margin effect.

Margin per order +2–6%Effort: low · Lag: immediate
04

Repeat rate

Do they come back without being bought again?

Repeat purchase rate · Days to second order · Owned-channel share
R1

Target the second order, not loyalty

SymptomRetention programmes aimed at the whole base while most customers never place a second order.

PlayFind the median days-to-second-order among customers who do repeat. Trigger lifecycle contact at roughly half that window. The first-to-second conversion is where the retention curve is steepest and cheapest to bend.

Repeat rate +3–8ppEffort: medium · Lag: 1–2 cycles
R2

Replenishment triggers on consumables

SymptomPredictable-cycle categories treated with the same generic campaign calendar as one-off purchases.

PlayDerive per-category repurchase intervals from order history and trigger on elapsed time since purchase, not on campaign date. Low build cost, and it converts on intent rather than discount.

CRM revenue +10–30%Effort: medium · Lag: 1–3 months
R3

Track owned-channel share as a risk metric

SymptomRevenue growth looks healthy but paid share of revenue is climbing every quarter.

PlayReport owned (direct, organic, email, app) versus rented (paid) revenue share monthly alongside growth. A business growing while owned share falls is buying its growth and will find the cost curve eventually.

Structural — no direct upliftEffort: low · Lag: ongoing
05

Leakage

What did you book but not keep?

Cancellation rate · Return rate · Wasted spend · Delivery cost
L1

Kill post-order cancellations

SymptomOrders confirmed then cancelled because stock wasn’t really there.

PlayTrace the availability signal end to end — buffer settings, sync frequency, reservation at add-to-cart versus at payment. Every cancellation costs the acquisition spend, the margin and a share of that customer’s future orders. It is almost always cheaper to fix than to acquire the replacement.

Recovers 1–4% of net revenueEffort: high · Lag: 1–3 months
L2

Read returns as a content defect log

SymptomReturns tracked as a logistics cost line, never routed back to merchandising.

PlayBreak return reasons down by category and SKU. “Not as described” and “wrong size” are content and sizing problems with a PDP fix. Treating returns purely as reverse logistics guarantees they recur.

Return rate −1–3pp on worst SKUsEffort: medium · Lag: 1–2 months
L3

Sweep media waste quarterly

SymptomAutomated campaign types running unattended for months.

PlayReview search terms, placements and audience overlap. Negative out the queries that structurally cannot convert, and check whether prospecting and retargeting are bidding against each other for the same user.

Spend efficiency +5–15%Effort: low · Lag: 2–4 weeks
L4

Cost the delivery promise honestly

SymptomDelivery treated as a marketing lever without a per-order cost model.

PlayModel cost per order by basket size, weight and region against the revenue the promise generates. Free next-day on a low-value rural order can be margin-negative even when the conversion lift is real.

Contribution margin +1–3ppEffort: medium · Lag: 1–2 months
On the numbers: every uplift range on this page is directional — drawn from patterns across large-catalogue retail, not from a controlled study of your site. Ranges vary enormously by category, baseline maturity and traffic mix. Use them to rank plays against each other and to sanity-check a business case, never as a forecast.
Ground rules

Rules that stop the playbook lying to you

01
Write down the baseline and the expected effect before shipping. Retrofitted success criteria always find success.
02
If you can’t measure it within one purchase cycle, you’re not measuring it — you’re narrating it.
03
Seasonality beats most optimisation effects. Compare like periods or use a holdout.
04
A conversion win that raises returns or cancellations is not a win. Always check the leakage lever afterwards.
05
Revenue is the vanity metric of the five. Contribution margin is the one that survives a budget review.
06
Kill plays that didn’t work, in writing. An unpruned playbook becomes folklore.
Digital Objective · Working notes

A personal reference kept in the open. Plays are added when they’ve been run, and removed when they stop holding up. Nothing here is a service offer or a guarantee of outcome.