Answer-ready summary
What happened in this case study?
Data-driven attribution shifted 19% of monthly spend into 2.1x-ROI channels, lifting blended ROAS from 2.9x to 3.8x at a flat PKR 2.4M budget.
A Karachi-based direct-to-consumer brand selling educational toys, STEM kits, and family board games was spending PKR 2.4 million a month across Meta, Google, and Daraz while roughly 28% of its orders arrived through channels no report could see — WhatsApp messages, COD confirmation callbacks, and marketplace sessions with no tracking. Last-click attribution credited the bottom of the funnel, the team kept cutting discovery spend that was actually working, and blended ROAS slid for two straight quarters. The engagement rebuilt measurement across every ordering surface and moved budget against validated contribution rather than platform dashboards.
The rollout ran in 4 phases: Order-source audit and data foundation; Attribution model build and validation; Spend reallocation and creative absorption; Measurement cadence and compounding.
At a glance
Case summary
- Industry
- D2C Ecommerce (educational toys and STEM kits)
- Market
- Pakistan (Karachi)
- Duration
- 90 days
- Client type
- Ecommerce
- Services used
- Marketing attribution modeling, GA4 setup and custom configuration, Looker Studio dashboard services, Marketing measurement and reconciliation
- Starting problem
- Last-click reporting credited 63% of revenue to branded search and direct traffic while 28% of orders arrived through WhatsApp, COD callbacks, and marketplace sessions no report could see, so the team kept cutting the discovery channels that actually created customers.
- Work completed
- Unified every ordering surface into one source-tagged order table, built and holdout-validated a data-driven attribution model, and reallocated 19% of monthly spend toward channels returning 2.1x or better.
- Evidence type
- illustrative_composite
Results and proof
Measured impact at 90 days
Headline outcomes first — where a metric moved from a measured starting point, both ends of the change are shown before the full execution notes.
Blended ROAS (MER)
Improved from 2.9x to 3.8x (+31%) at flat PKR 2.4M monthly spend
Monthly revenue
Grew from PKR 7.0M to PKR 9.1M (+30%) with no budget increase
Unknown-source orders
Reduced from 28% to 9% of monthly order volume
Cost per delivered first order
Reduced from PKR 2,240 to PKR 1,750 (-22%) after RTO weighting
Measured metrics
Before and after
Challenge context
Challenge context
A Karachi-based direct-to-consumer brand selling educational toys, STEM kits, and family board games was spending PKR 2.4 million a month across Meta, Google, and Daraz while roughly 28% of its orders arrived through channels no report could see — WhatsApp messages, COD confirmation callbacks, and marketplace sessions with no tracking. Last-click attribution credited the bottom of the funnel, the team kept cutting discovery spend that was actually working, and blended ROAS slid for two straight quarters. The engagement rebuilt measurement across every ordering surface and moved budget against validated contribution rather than platform dashboards.
Blended ROAS had slipped from 3.4x to 2.9x over two quarters as spend grew 35%
Last-click credited 63% of revenue to branded search and direct traffic
28% of orders carried no usable source — WhatsApp, COD phone-backs, and Daraz sessions
Meta prospecting had been cut twice for '1.4x ROAS'; PMax reported 4.2x while riding branded queries
Platform pixel counts disagreed with GA4 by 18-31%, partly from purchase events firing twice
Klaviyo reported PKR 1.1M a month as 'free' revenue with no acquisition cost attached
Execution roadmap
Implementation phases
Delivered in 4 phases, in the order they ran, with each phase building on the outputs of the one before it.
Phase 1
Order-source audit and data foundation (Weeks 1-2)
Phase 2
Attribution model build and validation (Weeks 3-5)
Phase 3
Spend reallocation and creative absorption (Weeks 4-8)
Phase 4
Measurement cadence and compounding (Weeks 8-12)
The Client
A Karachi-based direct-to-consumer brand selling educational toys, STEM kits, and family board games for children aged three to thirteen, founded in 2022 by two former schoolteachers who turned a weekend market stall into a recognized name among Karachi and Lahore parents. By the time they engaged WeProms Digital, the business was shipping roughly 1,740 orders a month at an average order value near PKR 4,000 — about 1,150 through the Shopify storefront, 380 through a Daraz flagship store, and 210 arriving as WhatsApp and Instagram messages that staff keyed in manually between other work.
The channel mix had grown the way most Pakistani D2C mixes grow: Meta carried prospecting and a thick retargeting layer, Google ran Performance Max and Shopping over the catalogue, Daraz sponsored listings topped up marketplace visibility, and a Klaviyo account sent campaigns to whoever landed on the list. Total paid spend sat around PKR 2.4 million a month. Cash on delivery accounted for 84% of orders, and 22% of first-time COD orders eventually returned uncollected — a fact the revenue reports never mentioned.
Growth had flattened after two strong Eid seasons. The founder’s question was simple and unanswerable with the reports she had: of everything we spend, what actually creates a customer we did not already have? Every monthly review ended the same way, because the platforms each told a different story and GA4’s default view sided with whichever touchpoint sat closest to the sale.
This engagement is an illustrative composite — a representative profile assembled from patterns we see across Pakistani D2C brands, with figures kept inside realistic ranges so your team can sanity-check fit against its own baseline.
The Problem
Four measurement failures were quietly steering the budget the wrong way.
- Last-click worship. GA4’s default non-paid last-click model credited 63% of conversions to branded search and direct traffic — the end of the customer journey, not the beginning. The response this produced was rational and destructive: pour budget into the channels that “converted,” trim the ones that did not.
- A quarter of orders no report could see. WhatsApp orders, Instagram DMs, COD confirmation callbacks that closed the sale, and Daraz sessions carried no source. At 28% of volume, the dark segment was large enough to invert every conclusion the dashboards supported.
- Platform claims that disagreed. Meta’s pixel, Google’s conversion counts, and GA4 differed by 18–31% on the same campaigns — partly consent and ad-blocker loss on Pakistani mobile traffic, partly a purchase event firing twice because the web tag and the Shopify webhook both claimed the same order, inflating platform counts by roughly 16%.
- Email reported as free money. Klaviyo showed PKR 1.1 million a month in attributed revenue against near-zero cost, when most of it was re-selling to audiences the paid channels had paid to acquire. The same revenue was effectively being counted twice and the cheaper claim was winning the budget argument.
The net effect: Meta prospecting had been cut twice in six months for posting “1.4x ROAS,” while PMax — riding branded queries and the catalogue overlap — reported 4.2x and absorbed every increase. Blended ROAS slid from 3.4x to 2.9x across two quarters of rising spend, and nobody could prove why with the numbers they had.
Phase 1 — Order-source audit and data foundation (Weeks 1-2)
Book a free strategy call - we'll audit your current setup and identify the highest-impact fixes.
No reallocation survives contact with a model nobody trusts, so the first fortnight went into one deliverable: a single order table in which every order — web, marketplace, or chat — carried a source, a customer status, and a delivery outcome.
One canonical order table. Shopify’s order record became the spine. Daraz settlement exports joined it weekly, keyed on product SKU bundles rather than platform order IDs, which disagree more often than they match. WhatsApp and Instagram orders were already keyed into the admin manually; the change was a mandatory source field on the entry form. The unified table fed a Looker Studio dashboard that became the only reporting surface in the business — a deliberate single-source-of-truth play that ended the parallel-spreadsheet era in week one.
Deduplicating the purchase event. The double-firing purchase event was the first fix inside GA4: the webhook send was made authoritative and the browser tag demoted to a fallback, which instantly reconciled most of the 16% platform inflation. A written UTM governance sheet and a locked link-builder followed, so campaign, audience, and creator links stopped arriving with mangled parameters that GA4 silently scattered across a dozen fake sources.
Source capture where the customer actually is. Two capture points covered the dark channels. The confirmation-call script — staff already call every COD order — gained one question: “Where did you first hear about us?” with six prompted options, answered at a 68% rate. The web checkout gained an optional one-field equivalent. Neither is statistically clean; both are dramatically better than nothing, and within two weeks the unknown-source share of orders had fallen from 28% to 11%.
Revenue at delivery, not at order. Because 22% of first-time COD orders returned uncollected, the table recorded delivered, confirmed, and RTO status, and every downstream number was computed on delivered revenue. In a COD market, a submitted order is a promise; weighting for delivery is the difference between optimizing the business and optimizing a report.
| Channel | Platform / last-click claim | Validated picture after Phase 1 |
|---|---|---|
| Meta prospecting | 1.4x ROAS | Carrying 31% of first orders — the largest acquisition channel |
| Meta retargeting | 6.8x | Overwhelmingly repeat buyers and cart-recoveries |
| PMax | 4.2x | Brand queries and catalogue overlap inflating the claim |
| Google Shopping (non-brand) | 2.6x | Genuinely productive commercial demand |
| Daraz sponsored | 3.1x attributed | Incrementality untested, self-graded |
| Klaviyo | ”Free” revenue | Assists on audiences paid channels acquired |
The first-order column did what the dashboards never had: it stopped the argument about whether prospecting worked and started the conversation about how much budget it deserved.
Phase 2 — Attribution model build and validation (Weeks 3-5)
With clean order data underneath, the marketing attribution modeling work could begin — and the point of it was not a perfect number, but a defensible weighting that predicted what happens when money moves.
Model structure. GA4’s data-driven attribution served as the base model on a 30-day acquisition window, cross-checked against a custom position-based weighting run over the unified order table — necessary because GA4 sees none of the WhatsApp and Daraz journeys and under-credits view-assisted paths. Every conversion split new-versus-repeat, and PMax’s brand-query share was isolated through account-level brand-list controls so “PMax ROAS” stopped quietly including people who had already decided.
Validation by holdout, not by committee. A model earns budget authority by predicting reality. Two tests provided it. First, a 15% audience holdout on Meta prospecting ran for three weeks: new-customer orders in the holdout region ran 23% below the exposed group, meaning prospecting’s true contribution sat near twice its last-click credit. Second, Daraz sponsored listings ran a four-week alternating on/off cadence: incremental lift over organic baseline came in around 1.6x on sponsored spend — real, but far short of the 3.1x the marketplace dashboard claimed for itself.
The 2.1x threshold. The output every channel received was a validated marginal return estimate combining the model, the holdouts, and delivered-revenue weighting. Channels whose validated marginal return ran at least 2.1x the ones the budget would leave became the reallocation destinations. Meta prospecting and the non-brand Shopping layer cleared the bar comfortably; PMax ex-brand and the display layer did not.
By the end of week five the team had two numbers per channel it actually trusted — attributed first-order contribution and validated marginal return — and a rule for acting on them.
Phase 3 — Spend reallocation and creative absorption (Weeks 4-8)
The budget moved in three tranches of roughly 6–7% each, two weeks apart, so every shift could be read against delivered revenue before the next one went live. Moving the full 19% in one cut would have drowned the signal in delivery lag and made the lift indistinguishable from season.
Absorption before reallocation. The failure mode of every spend shift is starving or saturating the destination. Before the first tranche moved, Meta prospecting received three new creative concepts — unboxing films shot on phones, a “screen-free hour” angle for parents, and age-band targeting built from first-order data — and the Klaviyo account received the flows it had never had: welcome, post-purchase cross-sell keyed to the child’s age band, and a 60-day win-back. Budget followed capacity, not the reverse.
| Spend bucket | Before | After | Why |
|---|---|---|---|
| Meta prospecting | 19% | 31% | Validated at ~2x its last-click credit by holdout |
| Meta retargeting | 26% | 21% | Mostly repeat buyers; capped at its real job |
| Google PMax + Shopping | 38% | 27% | Brand-query share isolated; display expansion off |
| Daraz sponsored | 11% | 11% | Held flat — modest incrementality, capped |
| Lifecycle email + creator seeding | 0% | 7% | Retention layer funded for the first time |
| Display and other | 6% | 3% | Failed both the model and the holdout bar |
The reallocation totalled roughly PKR 460,000 a month — 19% of spend — out of retargeting, brand-inflated PMax, and display, into prospecting and a funded retention layer. Retargeting was not killed; it was capped at the job it demonstrably does, which is what made the politics of the move survivable inside the team.
Killing the free-money illusion. Klaviyo’s PKR 1.1 million was re-presented as assisted revenue tied back to the acquiring channel, not as a standalone free line. Nothing email earned changed; what changed was what the team credited — and once paid acquisition stopped being graded against a channel with no acquisition cost, the case for funding prospecting stopped needing an argument.
Phase 4 — Measurement cadence and compounding (Weeks 8-12)
How we helped a Pakistani business achieve measurable results.
Reallocation drifts back unless a routine holds it in place. The final phase installed the routine.
The Monday MER review. The dashboard’s first block became blended ROAS on delivered revenue, new-customer share, and cost per delivered first order — three numbers, one screen, reviewed weekly instead of monthly. Channel-level validated contribution refreshed monthly, when the holdout rotation turned over.
Biweekly reallocation triggers. Simple, pre-agreed rules: any channel whose validated marginal return stayed above 2.5x for two consecutive cycles became eligible for incremental budget; anything below 1.5x for two cycles took an automatic 25% cut pending review. The rules kept budget migrating toward the best channels without a re-modelling exercise every month, and they removed the personality from the decision.
A rotating holdout budget. One channel per month ran a small holdout or on/off test — a standing 3–5% of spend reserved for buying truth. Over the quarter this caught two drift events: prospecting efficiency decaying as audiences matured (refreshed with new creative) and the Daraz incrementality estimate sliding as organic marketplace rankings improved.
Peak planning. The engagement’s final weeks overlapped the run-up to the summer-holiday gifting peak, so the reallocation rules were stress-tested against a 2x spend scenario before the season hit: which buckets flex, which caps hold, and what evidence suspends a rule mid-peak. Deciding this in advance is what kept the peak from becoming an exercise in mid-season thrash — the pattern that had burned the previous year’s Eid budget.
Final Results
Measured at day 90 against the baseline month, on total spend held flat at PKR 2.4 million:
| Metric | Baseline | Day 90 |
|---|---|---|
| Blended ROAS (MER, delivered revenue) | 2.9x | 3.8x (+31%) |
| Monthly revenue | PKR 7.0M | PKR 9.1M (+30%) |
| Monthly order volume | ~1,740 | ~2,260 |
| Unknown-source orders | 28% | 9% |
| Cost per delivered first order | PKR 2,240 | PKR 1,750 (-22%) |
| Email and retention revenue share | 8% | 15% |
| Double-counted conversion events | ~16% | ~2% |
The trace: the revenue lift came from prospecting and retention receiving the 19% the bottom-funnel layers had been sitting on; the MER gain came from the same money producing more delivered first orders; and the unknown-source collapse came from two capture points — a confirmation-call question and a checkout field — that cost nothing but discipline. Every number in the table traces to a mechanism described in the phases, which is the standard any reporting should be held to.
What Made This Work
- The order table came before the model. Modeling on top of unreconciled data produces confident wrong answers. Unifying web, marketplace, and chat orders — with delivery outcomes — is what made every later number worth arguing about.
- Holdouts bought the budget’s trust. The team would have moved 5% of spend on a model’s say-so. It moved 19% because a three-week holdout showed new-customer orders falling 23% without prospecting. Evidence moves money that opinions cannot.
- Absorption was planned, not assumed. New creative, new flows, and a funded retention layer existed before the budget arrived. Shifting spend into channels without capacity just buys more impressions of the same tired assets.
- COD reality entered the math. Weighting for delivered revenue and RTO punished channels optimized for order placement rather than order completion — a correction that matters more in Pakistan than anywhere the checkout completes the payment.
- Rules outlived the engagement. The trigger thresholds and the rotating holdout budget are mechanical enough to run without us, which is the difference between a reallocation and a quarter that happened to go well.
What Teams Can Apply
- Count every ordering surface or you are reading a partial map. If WhatsApp, Instagram DMs, marketplace orders, or phone-back closures are part of your flow, a meaningful share of your revenue is invisible to GA4 by default. One mandatory source field — on manual entry, on the confirmation call, at checkout — recovers most of it for near-zero cost.
- Reconcile before you compare. If your pixel, ad accounts, and analytics disagree by double digits, no attribution model fixes that; the disagreement just gets distributed more convincingly. Deduplicate the purchase event and crown one canonical order count first.
- Split new customers from repeat before reading any ROAS. A channel can look efficient by reselling to people who were coming back anyway. First-order contribution is the number that tells you whether a channel builds the business or just services it.
- Buy one piece of truth per month. A standing holdout or on/off test budget of 3–5% of spend converts attribution from a debate into a measurement. Run it against your most surprising claim first — that is where the money is usually misallocated.
- Move money in tranches against delivered revenue. Three smaller shifts, each read against confirmed outcomes, beat one dramatic cut that cannot be separated from seasonality or delivery lag.
- Grade owned channels on acquisition cost, not revenue. Until email and retention carry the cost of the audiences they monetize, every paid-channel comparison is rigged. This framework is built for the Pakistani ecommerce context — COD flows, marketplace overlap, and conversational ordering included — and the sequence holds across categories: reconcile, capture sources, model, validate, then move money.
What teams can apply
Use the framework, not just the headline number.
For GEO, AEO, and classic SEO, the useful signal is the sequence: fix crawl access, build answerable category assets, improve conversion paths, and document proof in a format that humans and machines can cite.
Every ordering surface — website, Daraz, WhatsApp — fed one source-tagged order table before any modeling started, which turned 28% dark order volume into attributable data instead of a reporting footnote.
The budget moved on holdout evidence rather than model output: a 15% prospecting holdout showing a 23% drop in new-customer orders is what earned the reallocation, not a spreadsheet weighting.
Destination channels received new creative and flow capacity before money moved, so PKR 460,000 a month could shift without fatiguing audiences or shocking CPMs.
Limitations
Context and limitations
Illustrative composite built from common WeProms ecommerce engagements; lift varies with AOV, margin structure, RTO rates, and how much budget is already trapped in over-credited bottom-funnel layers.
Questions
Case study FAQs
Is this data-driven attribution framework applicable in Pakistan?
Yes, and the Pakistani context makes it more necessary, not less. Heavy COD ordering, WhatsApp-based purchasing, marketplace traffic that pixels cannot read, and confirmation calls that happen off-platform all break default attribution. The framework maps every ordering surface into one order table first, then models contribution — the mechanics adapt to any store selling through a mix of website, marketplace, and conversational channels.
How quickly can we expect results?
The order-source foundation is usable in two to three weeks. The model and its validation holdouts need three weeks beyond that, and the first reallocation tranche typically moves in week five or six. Revenue impact compounds over the following six to eight weeks as budget migrates and destination channels absorb it — a full quarter is the honest evaluation window.
Can you replicate this process for our ecommerce business?
Yes. The rollout maps to your stack, order volume, and team size. The same sequence has applied across apparel, beauty, electronics, and food D2C brands in Karachi, Lahore, and Islamabad; what changes is the channel mix, the margin profile, and how much revenue flows through conversational and marketplace channels that need manual source capture.
Do you provide reporting during implementation?
Yes. A shared dashboard goes live in week one and reports blended ROAS, validated channel contribution, new-versus-repeat revenue, and RTO-adjusted returns. Weekly working sessions walk through each reallocation decision and the evidence behind it, so the team never moves money on a claim it has not seen tested.
Next step
Want a similar rollout in Pakistan?
Share your current channel mix and we will map a phased attribution and spend-realignment plan to your margin and growth targets.