LIBERTYD2C DASHBOARD · libertyshoesonline.com

D2C Command Center — history grows with every report run

v9 · Seeded 7 Aug 2026 · Refreshed 1 Sep 2026 — full August closed · 28 Aug excluded from GA4 reads (still processing) · see the freshness panel below · Plan vs Achieved tab live — AOP targets loaded 29 Aug · ₹ INR

Data freshness as of 2 Sep 2026 · Plan-vs-Achieved re-checked against the live sheet

SourceCurrent throughTabs it feedsState
GA4 (289711881)31 Aug 2026Channels · Week over Week · FunnelFULL AUGUST — sessions, cart, checkout, purchase by channel, pulled 2 Sep
Shopify (libertyshoes-online)31 Aug 2026Monthly · Returns · sales columns · Revenue by sourceFULL AUGUST via the Admin API, 2 Sep — order set agrees with the sync feed to the paisa
Google Ads (530-752-6249)31 Aug 2026Ads · Funnel depthFULL AUGUST cost + clicks, pulled 2 Sep · campaign detail still 13 Aug
Meta Ads (act 1476088395883569)31 Aug 2026Ads · Audiences & CreativesFULL AUGUST at ad-set + ad level — 1,008 ad sets, 2,053 ads, pulled 2 Sep
⚠ All four sources re-pulled on 29 Aug. 28 Aug is deliberately excluded from every GA4 read — engagement was 8.74% against a settled ~98%, so the day was still processing and its Unassigned share was inflated to 88%. Day-on-day therefore runs 27 vs 26 Aug, both settled. All four sources now run to 31 August, so cross-source August figures are finally like-for-like. Shopify wk 3–9 Aug and wk 20–26 Jul are now exact — no derived (*) or pending cells remain in the build. Still outstanding: Google Ads campaign-level detail (budget caps, PMax exclusions), which still dates from 13 Aug and is labelled where it appears, and GA4 sessions for wk 3–9 Aug. Revenue-by-source remains blocked on order tags/UTM being added to the sync endpoint (field request written 2 Sep). Nothing has been estimated to fill a gap.

July 2026 vs June 2026 June now exact

June was carried as a comparison-derived estimate until this run. Exact pulls changed several MoM chips — see the correction note below the table.
Total Sales
₹1.40Cr
▲ 31.6% MoM
Orders
11,772
▲ 41.8%
AOV
₹1,258
▼ 9.4%
Sessions
11.48L
▲ 33.4%
Conversion
1.03%
▲ 6.2%
Ad Spend
₹26.62L
▲ 16.5%
MER
5.24
Jun 4.64

Total sales by month Shopify

₹1.06Cr
Jun'26
₹1.40Cr
Jul'26
GA4 ₹85.9L*
Aug 1–23*
*The August bar is GA4 revenue (₹85,86,194 for 1–23 Aug), not Shopify — the Shopify pull is still blocked on the API token, so the two bars beside it are not like-for-like. GA4 is running ₹3.73L/day against July's ₹4.05L/day, ▼7.8%, which projects to ≈₹1.16Cr for the full month on GA4's basis.

Monthly metric history Shopify · GA4 · Ads

MetricJun'26Jul'26MoMTarget (AOP)
Total sales₹1,05,99,189₹1,39,53,578▲31.6%—
Net sales₹1,04,76,584₹1,37,56,230▲31.3%—
Gross sales₹1,23,10,802₹1,59,15,860▲29.3%—
Orders8,30411,772▲41.8%—
AOV Shopify tile₹1,388₹1,258▼9.4%—
Sessions (Shopify)8,60,64811,48,476▲33.4%—
Conversion (orders/sessions)0.965%1.025%▲6.2%—
GA4 revenue₹96,83,846₹1,25,48,726▲29.6%—
GA4 purchases6,9929,986▲42.8%—
Blended ad spend₹22,85,306₹26,61,572▲16.5%—
MER4.645.24▲12.9%—
Target column activates when AOP / media-plan targets for D2C are shared.

Correction log — what the exact June pull changed 13 Aug 2026

MetricShown 7 Aug (derived)ActualCorrected Jul MoM
June total sales≈₹1.08Cr₹1,05,99,189▲29% → ▲31.6%
June orders≈8,5308,304▲38% → ▲41.8%
June sessions≈8.83L8,60,648▲30% → ▲33.4%
June discounts≈₹17.9L₹7,83,781▼38% → ▲41.2% (sign flip)
June reversals % of net≈9.7%10.03%Jul 7.66% is a bigger gain
June MER≈4.734.64Jul 5.24 gain larger
June CAC (new)≈₹364₹374Jul ₹300 gain larger
⚠ The discount line was the material error: July discounting rose 41%, it did not fall 38%. Volume in July was partly bought with deeper discounting, not only with media.

Week over Week — Mon–Sun completed weeks

GA4 is current to 23 Aug. Shopify sales columns are still at the 13 Aug pull. The GA4 series below is the reliable week-over-week read right now.
GA4 Revenue (17–23 Aug)
₹29.64L
▲ 15.0% WoW
GA4 Purchases
2,222
▲ 17.2%
Sessions (GA4)
2.41L
▲ 8.7%
Conversion (GA4)
0.92%
from 0.79% at the trough
Revenue / session
₹12.3
▲ 12% over 3 weeks
Aug MTD (1–23)
₹85.86L
₹3.73L/day

GA4 weekly series GA4 289711881 · current to 23 Aug

WeekSessionsPurchasesGA4 revenueConv.Rev / sessionATB rateRevenue WoW
27 Jul–2 Aug2,55,3552,119₹26,85,7730.83%₹10.5——
3–9 Aug2,15,6631,707₹23,76,4330.79%₹11.014.0%▼11.5%
10–16 Aug2,21,2701,896₹25,76,7880.86%₹11.615.3%▲8.4%
17–23 Aug2,40,5022,222₹29,63,6280.92%₹12.315.3%▲15.0%
⚠ The 13 Aug read of this dashboard — "traffic contracted across every channel, the week is cooling" — described the 3–9 Aug trough. It did not hold. From that trough to the latest week: revenue ▲24.7%, purchases ▲30.2%, conversion ▲16.7%. Two consecutive weeks of improvement on every measure.
17–23 Aug still contains 23 Aug, which GA4 had not finished processing at pull time (engagement 7.9% vs ~98%), so that week is understated if anything.

Shopify weekly history Shopify + ads re-pulled 29 Aug 2026

WeekSales (Shopify)OrdersAOVSessionsConv.Google costGoogle ROASMeta spendMeta purch.Meta CPPMER
20–26 Jul₹33,02,0672,632₹1,255≈2.41L*≈1.09%*₹2,09,563—₹3,46,6341,514₹2295.94
27 Jul–2 Aug₹29,76,8132,511₹1,2632,58,2010.97%₹1,92,8714.71₹3,53,5851,487₹2385.45
3–9 Aug₹29,63,1592,098₹1,412not pulled—₹1,71,7144.96₹3,76,7321,126₹3355.40
10–16 Aug₹28,53,4102,248₹1,3622,27,8540.99%₹1,70,485—₹4,66,5751,341₹3484.48
17–23 Aug₹32,12,7482,581₹1,3242,47,9641.04%₹1,79,3004.44*₹5,84,7031,678₹3484.20
The 20–26 Jul row is still comparison-derived (marked *) and the 3–9 Aug sales cells are still pending — both need the Shopify API token. Google cost for 10–16 Aug is recovered from the summary-card delta, not read directly. Google ROAS for 17–23 Aug (4.44) is provisional — Google was still projecting conversion value at pull time. MER = Shopify total sales ÷ (Google cost + Meta spend); both weeks are computed from exact figures.

GA4 channel mix — current to 27 Aug 2026

August MTD 1–28 by channel GA4 · pulled 29 Aug 2026

ChannelSessionsSharePurchasesRevenueRev sharePurchaser rate
Marketing Ads3,99,25946.12%3,605₹49,24,01748.29%1.23%
Unassigned3,01,94234.88%2,768₹36,62,91835.92%1.23%
Direct1,33,95415.47%847₹11,54,13811.32%0.64%
Organic44,4935.14%284₹4,04,9223.97%0.68%
Referral2,3370.27%29₹47,4920.47%2.16%
Retention81<0.01%2₹2,8680.03%2.82%
Total8,65,754100%7,535₹1,01,96,355100%1.20%
⚠ Unassigned converts at exactly the same rate as classified paid — 1.23% against 1.23%, across 3.02L and 3.99L sessions. That settles it: Unassigned is not junk traffic, it is paid social GA4 cannot name. Together the two are 84.2% of all GA4 revenue, so every channel-level budget decision is being made on a chart that splits your largest paid platform in half.
Cross-check against Shopify for the same 1–28 Aug window: GA4 revenue ₹1,01,96,355 vs Shopify total sales ₹1,13,04,669 (GA4 reads 9.80% lower); GA4 sessions 8,65,754 vs Shopify 8,97,358 (3.52% lower). Both gaps are in the expected direction — Shopify total sales includes shipping and fees GA4 does not count, and the two define a session differently. Shopify remains the sales source of truth; GA4 is the channel lens.

Day on day — Fri 27 Aug vs Thu 26 Aug GA4 · both days settled

Metric27 Aug26 AugChange
Sessions24,83725,134▼1.18%
Purchases213259▼17.76%
Revenue₹2,99,753₹3,29,504▼9.03%
Add to baskets3,4104,081▼16.44%
Conversion0.858%1.030%▼0.17pp
AOV₹1,407.29₹1,272.22▲10.62%
A conversion dip, not a traffic dip — sessions were almost flat while purchases and add-to-baskets both fell ~17%, and AOV rose. One day is noise; worth watching whether add-to-basket keeps falling on flat traffic. 28 Aug is excluded: engagement 8.74% vs a settled ~98% means GA4 had not finished processing it.
Two views: the channel-group view the dashboard has always used, and the source/medium view that explains what "Unassigned" actually is.

"Unassigned" is a classification failure, not a tracking failure diagnosed 18 Aug 2026

Viewed by Session source/medium instead of channel group, every session has a named source. Revenue reconciles to the paisa (₹26,85,772.52 vs ₹26,85,773 for 27 Jul–2 Aug) and Direct matches exactly at 40,745 — same data, different lens. The UTMs are firing. GA4 simply cannot map these mediums to any channel rule, so they fall out of every bucket.
Source / mediumWhy it lands in UnassignedSessions (wk 27 Jul–2 Aug)
adyogi / fbmedium fb matches no GA4 rule40,323
adyogi / igmedium ig matches no GA4 rule31,176
engage_360 / whatsapp_campaignmedium whatsapp_campaign unrecognised5,728
Programmatic / Videomedium Video unrecognised4,178
long tail (77 further rows)assorted non-standard mediums≈7,746
Total ≈ reported Unassigned≈89,151
⚠ Consequence: Meta is under-credited by 61%. Its real GA4 footprint that week was GH_Meta/Paid + adyogi/fb + adyogi/ig = 1,17,521 sessions, 994 purchases, ₹12.17L — of which 71,499 sessions and ₹7.07L sat in Unassigned. And the hidden traffic is the better traffic: adyogi/fb converts at 1.02%, the best of any large source, ahead of google/cpc at 0.93%.
Fix, in two moves. (1) Now, and retroactive: add rules to the custom channel group in GA4 Admin → Data display → Channel groups for adyogi/fb, adyogi/ig, whatsapp and programmatic — custom groups reprocess history. (2) Forward: change the UTMs at source to utm_source=facebook, utm_medium=paid_social, so even GA4's default grouping works.

August MTD 1–23 — revenue by channel GA4

Marketing Ads
₹42.18L · 3,087 pur
Unassigned
₹29.80L · 2,263
Direct
₹9.98L · 725
Organic
₹3.57L · 246
Referral
₹0.30L · 23
Total 7,42,497 sessions · 6,346 purchases · ₹85,86,194.

Channel efficiency — Aug MTD GA4

ChannelShare of sessionsConv.Rev / session
Marketing Ads44.8%0.93%₹12.7
Unassigned33.2%0.92%₹12.1
Referral0.3%1.20%₹15.9
Organic5.1%0.64%₹9.3
Direct16.0%0.61%₹8.4
Unassigned converts almost as well as Marketing Ads (0.92% vs 0.93%) — further evidence it is mostly misclassified paid traffic, not junk.

Channel trend — sessions GA4

ChannelJun'26Jul'26Wk 27 Jul–2 AugWk 3–9 AugWk 10–16 AugWk 17–23 AugLatest WoW
Marketing Ads5,57,6665,08,6411,12,70098,1091,03,9381,06,157▲2.1%
Unassigned1,05,8713,55,77489,15171,66070,81684,463▲19.3%
Direct1,20,0882,07,72340,74534,71734,23737,999▲11.0%
Organic51,57363,15612,18411,87811,70111,405▼2.5%
Referral2,6782,778575623541602▲11.3%
Total——2,55,3552,15,6632,21,2702,40,502▲8.7%
Revenue WoW by channel, 10–16 → 17–23 Aug: Direct ▲51.8% · Unassigned ▲28.4% · Referral ▲30.6% · Marketing Ads ▲0.2% · Organic ▼10.9%. Growth is coming from everything except classified paid, which is flat.

google / organic — daily revenue 1–23 Aug · GA4

WeekSessionsPurch.RevenueConv.
3–9 Aug10,89768₹1,10,2750.62%
10–16 Aug10,39182₹1,06,0210.79%
17–22 Aug (settled)8,55956₹83,4910.65%
1–22 Aug total32,956223₹3,23,8960.68%
Sessions vary only 1.4× across the month (1,319–1,865) while revenue varies 7.2× (₹3,955–₹28,562). Judge organic on revenue per session, not session count. Best day 6 Aug ₹28,562; worst 14 Aug ₹3,955 on normal traffic — an implied AOV of ₹791 against a ₹1,452 average, still unexplained.

(direct) / (none) — daily revenue 1–23 Aug · GA4

WeekSessionsPurch.RevenueConv.
3–9 Aug34,315180₹2,46,6630.52%
10–16 Aug33,821203₹2,73,8430.60%
17–22 Aug (settled)33,895247₹3,54,8110.73%
1–22 Aug total1,12,580681₹9,37,3470.60%
⚠ Direct is accelerating on all three measures at once — revenue ▲11.0% then ▲41.9%, conversion 0.52% → 0.60% → 0.68%, revenue per session ₹7.2 → ₹8.1 → ₹9.6. Best day 17 Aug at ₹78,261 (AOV ₹1,957). Weakest 3 Aug: 2,451 sessions, 42% below average, but conversion held — a collection problem, not a demand one.

Paid media — Google Ads + Meta Ads FULL AUGUST · re-pulled 2 Sep 2026

Both platforms now cover full August 1–31 (Google re-pulled 2 Sep using the "Last month" preset; Meta 2 Sep). Weekly rows below are retained for trend. Campaign-level Google detail was re-pulled in full on 5 Sep — every campaign, chip verified at "Aug 1 – 31, 2026", costs reconciled to the account total. Three different Google ROAS figures are now defensible and they answer different questions: 4.97 as Google reports it, 4.75 online-only once ₹1,66,555 of store-visit value is removed, and 2.24 order-attributed on last-click Shopify UTMs. Do not quote one without saying which. August paid split: Meta 71.1% / Google 28.9% of ₹26,75,907.99.

⭐ Revenue by source, with cancellations and returns Shopify Admin API · Aug 1–31 · all 9,638 orders, each counted once

Placed = charged at checkout, pre-refund. NET = Shopify's own figure after refunds, returns and order edits. Ret% = refunds ÷ placed. Judge a channel on NET and Ret%, never on Placed. Cancellations are largely a subset of refunds — do not add the two columns together.
ChannelOrdersPlacedCanc.Canc. valueRefundedNETRet%Canc%Share
Meta Ads4,936₹65,40,924116₹1,45,806₹1,97,380₹62,92,4243.0%2.4%50.5%
Google Shopping (free)1,368₹19,45,08368₹95,470₹1,44,311₹17,79,6607.4%5.0%14.3%
Google Ads1,288₹19,33,17667₹90,277₹1,79,068₹17,30,1149.3%5.2%13.9%
Direct766₹12,00,13837₹53,778₹1,18,025₹10,70,2249.8%4.8%8.6%
RM (Engage 360)835₹11,24,34833₹42,482₹48,964₹10,64,1314.4%4.0%8.5%
Exchanges (not new demand)359₹4,28,1734₹5,776₹1,299₹4,26,8750.3%1.1%3.4%
Affiliates62₹84,1373₹4,185₹6,442₹74,5397.7%4.8%0.6%
AI assistants (chatgpt.com)21₹28,2913₹4,316₹4,138₹25,09214.6%14.3%0.2%
Organic Search1₹1,1380——₹1,138——0.0%
Unattributed2₹2,1100——₹2,110——0.0%
TOTAL9,638₹1,32,87,517331₹4,42,090₹6,99,627₹1,24,66,3065.3%3.4%100%
Reconciled exactly. Placed sums to ₹1,32,87,517.15 — zero difference against the independent shopify_d2c_pull.py run, on an identical 9,638 orders. Only 2 orders of 9,638 are unattributed (99.98% coverage); 9,246 came from the order's own UTM in note_attributes, 359 from tags, 31 from Shopify's visit journey. 537 orders (5.57%) carry a refund.
⚠ Google Ads order quality needs review. Return rate 9.3% against Meta's 3.0%, cancellation rate 5.2% against 2.4%, cost per order ₹600.74 against a ₹277.64 blend, and an order-attributed ROAS of 2.24. The cost and the retention of those orders move in the same direction, so both belong in the same review.
⚠ Google Ads' reported results need reconciling against the orders. Figures below are from Google Ads (Goals → Conversions, "Aug 1 – 31, 2026"; campaign detail 5 Sep) alongside order-level attribution from Shopify.
OrdersRevenue (placed)
Google Ads panel claims2,630₹37,84,164
my attributed Google Ads (paid)1,288₹19,33,176
my attributed Google free listings1,368₹19,45,083
paid + free2,656₹38,78,259
gap to the panel's claim0.99%2.49%
The panel's purchase count is 2.04× my paid-only order count. Implied AOV lines up too: panel ₹1,439/purchase, my paid+free ₹1,460/order, site AOV ₹1,378.66 — all within 6%.

→ Order-attributed Google Ads ROAS is 2.24 and cost per order is ₹600.74, against a ₹291 blended figure.

The Conversions → Conversion source segment (5 Sep) shows the account's conversions are 2,657.40 Website and 148.71 Store visits, with Google-hosted and YouTube-hosted both zero. Google Ads credits a campaign whenever there was a qualifying ad interaction in the lookback window, so a conversion counted here need not have arrived by a paid click. Next step: reconcile the two measures before the next Google budget decision.

Claimed vs attributed panel spend ÷ NET revenue from the orders

ChannelSpendNET revenueTrue ROASPanel claimsOver-claimCost/orderRet%
Meta Ads₹19,02,151₹62,92,4243.314.131.25×₹385.363.0%
Google Ads₹7,73,757₹17,30,1142.244.892.19×₹600.749.3%
RM (Engage 360)₹1,25,100₹10,64,1318.5125.112.95×₹149.824.4%
⚠ Platform figures inflate paid ROAS by 45%. Paid spend ₹26,75,908 against NET attributed revenue ₹80,22,538 = ROAS 3.00. Summing what the panels claim would give 4.35. Anyone budgeting off the panels is working with a number nearly half again too generous.
The RM question, answered. Engage 360's 25.11 over-claims by 2.95× — the scepticism was right. But the conclusion survives intact: RM's true ROAS is 8.51, still 122% of its 7.0 plan, it produces the cheapest orders on the site at ₹149.82 against a ₹277.64 blend, and those orders stick — 4.4% returns, second only to Meta. It does all that on 41.7% of a ₹3L budget. Its ceiling is triggerable audience, not budget: spend the rest on more triggers, not higher bids.
Meta is half the business and the highest-quality half. ₹62,92,424 NET, 50.5% of revenue, on 71.1% of paid spend. Its 3.0% return rate and 2.4% cancellation rate are the best of any major channel, and it over-claims by only 1.25× — much the most honest of the three panels. True ROAS 3.31 against the 4.13 shown.
⚠ ₹17.8L a month arrives free and nobody owns it. Google Shopping free listings: 1,368 orders, ₹17,79,660 NET at zero media cost — more than Google's paid campaigns produced. No budget line and no reporting, because it has not been separated out before. It depends entirely on the product feed. → Action: give this an owner and a monthly number, and confirm who maintains the feed it rests on.
Exchanges are bigger than they look: 359 orders, ₹4,26,875 NET — 3.7% of all orders. They are replacements, not new demand, so they are bucketed separately and must not be credited to any channel. Site-wide, 331 orders were cancelled (3.4%) worth ₹4,42,090, and 537 orders (5.57%) carry a refund totalling ₹6,99,627 — 5.3% of everything placed.
Source: pulls/2026-09-02_revenue_aug.json and pulls/2026-09-02_revenue-by-source.md. Four classification defects, a date-quoting bug that had dropped 373 orders, and a falsy-zero bug that counted fully-refunded orders at full value were all found and fixed during this run.
Google ROAS (full Aug)
4.89*
provisional — still projecting
Meta CPP (full Aug)
₹339
13% over the ₹300 ceiling
Blended MER (full Aug)
4.97
₹26.76L paid vs ₹1.33Cr
Blended cost/order (full Aug)
₹278
vs ₹1,379 AOV
Meta CPP (wk 17–23)
₹348
3rd straight week ~₹348

Platform trend Google Ads 530-752-6249 · Meta act Liberty Shoes Online _1

PeriodGoogle costGoogle clicksGoogle conv. valueGoogle ROASMeta spendMeta clicksMeta purchasesMeta CPP
Jun'26₹7,18,6313,43,023₹43,63,2036.07₹15,66,6757,07,7294,675₹335
Jul'26₹7,06,4413,26,366₹40,64,3765.75₹19,55,13110,30,3097,017₹279
Wk 20–26 Jul₹2,09,56393,732——₹3,46,6342,06,3261,514₹229
Wk 27 Jul–2 Aug₹1,92,87183,990₹9,07,8124.71₹3,53,5852,39,1671,487₹238
Wk 3–9 Aug₹1,71,71475,987₹8,51,693 (prov.)4.96₹3,76,7322,02,1751,126₹335
Tue 11 Aug₹23,26511,338——₹69,75733,516194₹360
Wed 12 Aug₹25,36011,026₹91,820 (pending)≈3.62₹65,17630,637205₹318
Aug MTD 1–12₹2,98,4231,33,910₹15,81,7395.30₹6,42,7483,49,6462,039₹315
Wk 10–16 Aug₹1,70,48582,922——₹4,66,5752,10,5301,341₹348
Wk 17–23 Aug₹1,79,30079,105₹7,96,182 (prov.)4.44₹5,84,7032,53,8341,678₹348
FULL AUG 1–31₹7,73,7573,64,363₹37,84,164 (prov.)4.89₹19,02,151not pulled5,618₹339
Google last 7d 22–28 Aug₹1,83,67984,725₹7,90,182 (prov.)≈4.30————
Aug MTD 1–28not pulled———₹17,99,6488,47,6645,286₹340
Meta CPP trajectory: Jun ₹335 → Jul ₹279 → wk 27 Jul ₹238 → wk 3–9 Aug ₹335 → wk 10–16 ₹347.93 → wk 17–23 ₹348.45. Three straight weeks parked ~16% above the ₹300 ceiling, and the last WoW move was +0.15% — it is not correcting on its own. Meta absorbed 25% more spend at unchanged efficiency (spend ▲25.3%, purchases ▲25.1%), so the binding constraint is the CPP target, not audience headroom. Meta CTR fell 5.2% WoW while CPM also fell 1.5% — costs eased and engagement still dropped, which is creative wear, not auction pressure. Google went the other way: 5.2% more cost for 4.6% fewer clicks.
⚠ Google Ads' conversion goals are unevenly wired, and one is broken. Purchase is used by 130 of 133 campaigns — fine. But Add to cart by only 1 of 133 and Begin checkout by 0 of 133, so the panel's "Add to cart 20,589" and "Begin checkout 1,038" for August describe almost nothing (GA4 recorded 1,38,370 and 48,099). Never put the Google Ads funnel next to GA4's. Separately, the Store visit goal reads "Needs attention" and still logged 914 store visits in August — offline actions sitting in the same goal group as web ones. And 3 campaigns carry no Purchase goal at all; worth finding out which, since they are being optimised toward something else.
Same-day and same-week ad conversion values are provisional — Google labels them "pending" / "calculating projections" and Meta attribution lags roughly a day.

Meta campaign league — August MTD by spend

CampaignSpendPurch.ROAS
Engage_Dynamic₹1,26,1724044.36
Prospect_ASC_Volume_Remarketing₹67,3782895.45
ASC_Value_Catalogue_Lifetime₹64,1962215.03
Prospect_7days_Dynamic_All Instock₹62,1222555.18
Catalogue_Sale_Categorial_DABA₹58,7661493.77
Prospect_Advantage_plus_Video₹43,0381865.07
⚠ Engage_Dynamic takes 19.6% of August Meta spend at the worst ROAS in the top six (4.36). Catalogue_Sale_Categorial_DABA is worse still at 3.77 on ₹58.8K.

Google watch-items re-pulled 5 Sep · full August

ItemStatus
Budget utilisation, all nine campaigns38.2% — ₹12.5L of ₹20.27L authorised went unspent
PMax_All_Products (₹12,000/day)Best ROAS in account (7.05), spent 1.6% · tROAS 1,083%
Standard_Shopping_Slippers (₹10,000/day)ROAS 6.17, spent 3.7% · tROAS 590% · 97% products excluded
Standard_Shopping_All_Products (₹15,000/day)ROAS 5.51, spent 31%
PMax Discounted (₹3,400/day)94% of products excluded (was 93% on 13 Aug)
PMax Shoes_NCA (₹2,400/day)97% of products excluded
adyogi_PMax_women (₹1,200/day)Limited by budget — the only capped campaign now
Brand Search (₹10,000/day)Target ROAS now set · CTR 36.65% at 95.2% abs-top — holdout test overdue
Store visits in reported value₹1,66,555 of conv. value is offline footfall, not D2C
Bid-target behaviour changeEffective 17 Aug 2026 — review tROAS targets
Account adminPasskeys required from 19 Aug 2026 · 13 drafts unpublished
The 13 Aug version of this card listed four budget-capped campaigns and implied budgets needed raising. That was wrong — see the Google Ads depth card for the correction.

Returns, discounts & repeat behaviour Shopify re-pulled 29 Aug 2026

Reversals (Jul)
₹10.53L
7.66% of net · Jun 10.03%
Discounts (Jul)
₹11.07L
▲ 41.2% MoM
Returning cust. (Jul)
24.5%
Jun 26.4%
Shipping charged (Jul)
₹1.97L
▲ 61%

Reversals & discounts trend Shopify

PeriodGross salesDiscountsDisc. % of grossReversalsReversals % of net
Jun'26₹1,23,10,802₹7,83,7816.37%₹10,50,43710.03%
Jul'26₹1,59,15,860₹11,06,5076.95%₹10,53,1247.66%
Wk 27 Jul–2 Aug₹33,86,592₹2,16,4446.39%₹2,36,3668.1%
Wk 3–9 Aug₹31,25,786₹1,97,2896.31%₹2,24,4898.30%
Wk 10–16 Aug₹33,25,616₹2,63,4667.92%₹2,51,3858.94%
Wk 17–23 Aug₹35,62,990₹1,45,8484.09%₹2,59,9858.23%
Aug MTD 1–28₹1,28,55,654₹7,49,0305.83%₹9,72,4588.73%
⚠ Discount depth halved in the latest week — 7.92% → 4.09% of gross — and the week still grew 12.6%. August MTD depth (5.83%) is below both June (6.37%) and July (6.95%). Returns are the line still moving the wrong way: 8–9% of net for three straight weeks, roughly ₹2.5L a week. Action pending: SKU/size-level returns report (start with Leap7X running styles) + returns-reasons log.

Arrow-direction warning: Shopify draws its delta arrow on the signed value, so on Discounts and Reversals a green ▲ means the number got less negative. Every figure in this table is computed from two exact pulls, not read off an arrow. The June discount conclusion elsewhere on this page was derived from those arrows and needs an exact May pull before it is quoted again.

Discount code performance Shopify

CodeJun'26Jul'26MoM
LSO10₹35.65L₹47.23L▲32%
PREPAID-DISCOUNT₹28.30L₹28.27Lflat
PREPAID-DISCOUNT-FREEBIE—₹5.0Lnew scale
grab50—₹4.1L▲34%
LSO10 alone carried ₹47.23L of July sales — a third of the month. Social referrer sales (Jul): Instagram ₹45.1K (▲406%), Facebook ₹8.9K.
⚠ Return Prime fulfilments dropped 57% last week (79 → 34) per Shopify's own insight — check whether that is a genuine drop in returns or a processing backlog before reading it as good news.

Meta audiences (ad sets) & creatives FULL AUGUST 1–31 · re-pulled 2 Sep 2026

1,008 ad sets and 2,053 ads, pulled at full-month granularity. This replaces the 12 Aug week-level view entirely. Fatigue thresholds: frequency > 4 on a 7-day window, > 8 on a 30-day window — the window length matters, see the warning below.

⚠ Frequency window trap — read before comparing to the old numbers methodology

This tab used to show account frequency 2.58. It now shows 4.45. That is not deterioration. 2.58 was a 7-day window (3–9 Aug); 4.45 is a 31-day window. Frequency accumulates within whatever window you ask for, so a longer window mechanically returns a higher number — the two are not comparable. Against the correct 30-day threshold of 8, account frequency of 4.45 is comfortably safe. Never compare a frequency across two different window lengths. Same class of error as the arrow-direction trap on Shopify's discount deltas.

Account level — August Meta · 1–31 Aug 2026

MetricWk 27 Jul–2 AugWk 3–9 AugFull AugustRead
CTR4.04%3.72%3.27%still falling
CPM₹59.67₹69.28₹69.42stopped rising
Frequency2.73 (7d)2.58 (7d)4.45 (31d)safe vs 30d threshold of 8
Spend—₹3,76,732₹19,02,150.94
Impressions——2,74,01,436
Purchases1,4871,1265,618
Cost per purchase——₹338.58
⚠ The 12 Aug creative-fatigue call was triggered by CTR falling while CPM rises. Only half of that still holds. CTR has kept falling (4.04% → 3.72% → 3.27%), but CPM has gone flat (₹69.28 → ₹69.42) after its 16% jump. Media cost is no longer the problem; response rate is. That points at the creative itself — and the structural finding below explains why.
Meta spend ÷ all 9,638 Shopify orders = ₹197.36 per order account-wide. Meta MER against August order value (₹1,32,87,517) = 6.99.

⚠ Structural finding — one creative per ad set on every top spender ad-set spend = ad spend, row for row

The spend figures in the creative table are identical to the ad-set table — ₹3,07,594.68, ₹2,16,253.09, ₹2,01,250.52, ₹1,49,757.74, ₹1,19,921.01. That can only happen if each of those ad sets holds exactly one active ad. So there is no creative rotation inside the top ad sets: (1) Meta has nothing to test between, so its usual in-ad-set optimisation is switched off; (2) when one creative fatigues, the whole ad set fatigues with it, with nothing behind it to absorb the load. All Instock_Catalogue_AD_11thJune'26 is the live case — frequency 6.61, the most-repeated creative in the account, sole occupant of the #2 ad set by spend.
→ Action: add 2–3 variants to each of the top five ad sets before adding budget to any of them.

Top ad sets — full August Meta · 1,008 ad sets · implied rev. = spend × ROAS

Ad setSpendFreqCTRPurch.ROASCPPRead
ASC_Value_Catalogue₹3,07,594.682.552.86%9024.25₹341.01largest, on plan
Prospect_7 Days Dynamic₹2,16,253.096.614.23%7874.54₹274.78high freq, no decay yet
Social Media Engagers₹2,01,250.524.572.58%6164.17₹326.71PAUSED — why?
Prospect_ASC_V (PV-500, ATC 5% GRT)₹1,49,757.741.782.06%4093.28₹366.16THE CUT
Website VV 180 – 30D pur₹1,35,665.634.223.96%4243.99₹319.97mid
Asc | Existing and Lookalike₹1,19,921.012.364.02%4764.98₹251.93SCALE THIS
16843_Prospect_Advantage₹76,756.821.895.56%2333.58₹329.43best CTR
16843_Top_P₹74,227.991.751.70%1803.44₹412.38worst CPP
Top 8₹12,81,427.48——4,0274.13₹318.21
Account total₹19,02,150.944.453.27%5,618—₹338.58
⚠ Concentration: 8 ad sets out of 1,008 carry 67.4% of spend and 71.7% of purchases. The remaining ~1,000 ad sets spend ₹6.2L for 1,591 purchases — ₹390 each, 15% worse than the top eight. Worth asking whether that tail should exist at all.

Top creatives — full August Meta ads level · 2,053 ads

CreativeSpendFreqCPMCTRPurch.ROAS
All Instock_Catalogue Ads_1stJuly'26₹3,07,594.682.55₹76.442.86%9024.25
All Instock_Catalogue_AD_11thJune'26₹2,16,253.096.61₹87.534.23%7874.54
Catalog_Carousel_PLP_Men_Category (a)₹2,01,250.524.57₹50.992.58%6164.17
PV-500, ATC 5% GRT_Catalogue ad_13thJul₹1,49,757.741.78₹46.032.06%4093.28
Catalog_Carousel_PLP_Men_Category (b)₹1,27,289.144.04₹59.564.07%3983.95
Catalog_Carousel_PLP_Men_Category (c)₹1,19,921.012.36₹113.914.02%4764.98
Fortune | Formal Non Lacing Moccasin₹72,293.191.77₹71.451.71%1763.42
Top Brands_Catalogue ads_06 aug'26₹70,788.781.93₹68.242.76%1984.14
The EOSS video that led on CTR in the 12 Aug view has dropped out of the top eight entirely — that sale creative appears to have been retired, which was the right call.

The three decisions this pull changes re-checked against 12 Aug

1. CUT: Prospect_ASC_V, not Fortune. ₹1,49,757.74 — twice Fortune's spend — at the lowest ROAS in the top eight (3.28) and CPP ₹366.16 against an account average of ₹338.58. It was not in the 12 Aug top six, so it was never flagged; it is now the fourth-largest line in the account and the least efficient of them. Moving that budget to the ad set below it at the same spend would have bought roughly 190 more purchases.
2. SCALE: Asc | Existing and Lookalike — and the 12 Aug read on it was wrong. It was marked down on 12 Aug for an expensive CPM (₹109, now ₹113.91, 64% above account). But it has the best ROAS in the account (4.98) and the best cost per purchase (₹251.93), 26% below average. CPM was the wrong lens; CPP is the one that pays. It also has the smallest impression volume of the top eight (10.5L) at frequency 2.36 — nowhere near saturated, so unlike the RM case there is real headroom here.
3. Fortune Moccasin: weaker case than 12 Aug suggested — do not cut on this alone. 12 Aug called it the obvious kill (1.66% CTR, 3.23 ROAS on ₹20,482 in a week). Full month: 1.71% CTR, 3.42 ROAS, ₹72,293.19. Both metrics moved slightly in its favour, and it was throttled — at the 3–9 Aug rate it would have taken ₹90,706 over 31 days. Still the worst CTR in the top eight and 17% below the top-8 blended ROAS, so not good — but it is a ₹72K problem, not a ₹1.5L one.
⚠ Open question: Social Media Engagers is switched OFF. It spent ₹2,01,250.52 in August (third largest), returning ROAS 4.17 and CPP ₹326.71 — better than account average on both. Its only weak metric is CTR (2.58%). Turning off an ad set that beats the account on cost per purchase needs a reason. Ask whoever paused it whether that was deliberate.

⚠ Attribution overlap — do not add these numbers up Meta vs Shopify · August

Meta claims 5,618 purchases. Shopify recorded 9,638 orders. Meta is claiming 58.3% of every order on the site. Applying the top-8 blended ROAS of 4.13 to full account spend implies roughly ₹78.5L of Meta-attributed revenue — 59.1% of August's ₹1,32,87,517. Do not add this to Google Ads' and RM's claimed revenue: platform-attributed figures overlap heavily, because Meta's 7-day-click/1-day-view window will claim orders that RM's abandoned-cart flow also claims. This is precisely why the order-tag/UTM field request matters — reading source from Shopify order tags is the only non-overlapping version of this number, and scripts/shopify_revenue_by_source.py is written and tested and waiting on it.

Funnel by channel & acquisition cost FULL AUGUST · GA4 re-pulled 2 Sep 2026

Funnel from GA4 (sessions → add-to-cart → begin checkout → purchase). CAC from blended spend ÷ [orders × (1 − returning rate)] — the returning rate is still July's, see the caveat below.
Checkout → purchase (Aug)
16.8%
~4 in 5 checkouts abandoned
Site CVR (Aug)
1.029%
9,638 orders ÷ 9.37L sessions
Blended cost/order (Aug)
₹278
₹26.76L paid ÷ 9,638
GA4 ATB rate (Aug)
14.77%
1,38,370 of 9,36,835
New customer share (Aug)
66.9%
6,450 of 9,638 · sheet plan 65%

⚠ GA4 is missing 16% of orders — read this before using any rate on this tab GA4 vs Shopify · Aug 1–31

GA4 recorded 8,099 purchases in August. Shopify recorded 9,638 orders. GA4 is short by 1,539 — 16.0%. On revenue, GA4's ₹1,10,01,929 against Shopify's ₹1,32,87,517 means GA4 sees 82.8% of the money. GoKwik hosts the checkout, so the likely cause is the purchase event not firing reliably on the GoKwik-hosted confirmation step.

Rule: use GA4 for traffic and for ratios between channels. Use Shopify for the absolute order and revenue count. Never mix them in one calculation without saying so. Every percentage in the tables below is computed GA4-on-GA4, so it is internally consistent but understates completion by roughly a sixth.

FULL AUGUST 1–31 — funnel by channel GA4 p289711881 · engagement rate 97.38%, so 31 Aug has settled

ChannelSessionsadd_to_cartbegin_checkoutpurchaseATB %Purch %Checkout→Purch
Total9,36,8351,38,37048,0998,09914.77%0.865%16.84%
Marketing Ads4,36,46559,94916,3363,92113.74%0.898%24.00%
Unassigned3,07,35155,11715,6692,89917.93%0.943%18.50%
Direct1,40,76817,5157,30392012.44%0.654%12.60%
Organic48,8275,1198,55432510.48%0.666%not usable — see below
Referral2,5286212153224.56%1.266%14.88%
Retention8449222——channel not tracking
Affiliates1000——channel not tracking
Verified twice, not eyeballed: channel rows sum exactly to each total, and the three event counts sum to 194,568 — precisely the "Key events (All events)" figure GA4 reported independently.
⚠ Organic's checkout funnel is not usable. It shows 8,554 begin_checkout against only 5,119 add_to_cart — 167%, which is impossible as a funnel. Either Organic reaches checkout without an add_to_cart event (a buy-now path) or GA4 reassigns session channel between the two events. Its sessions, cart, purchase and revenue are fine; only the cart→checkout ratio breaks. Do not publish Organic's checkout conversion until someone establishes which.
⚠ The channel group does not classify retention marketing at all. "Retention" holds 84 sessions for the whole month and "Affiliates" holds 1. RM is a ₹3L/month channel. That traffic is inside Unassigned — 32.81% of all sessions. This is a separate problem from the Shopify order-tag work: fixing revenue attribution needs the order tags, fixing traffic attribution needs this custom channel group repaired.

The checkout is the largest number on this dashboard GA4 + GoKwik + Shopify · Aug

Only about one checkout in five completes. GA4 on both sides gives 16.84%; using Shopify's own order count against GA4's begin_checkout gives 20.04%. Either way, roughly 38,000–40,000 checkouts were started in August and did not finish.

This is the same wound GoKwik exposed at step level — Payment Step → Payment Method Selected sliding 58.83% (Jun) → 57.90% (Jul) → 56.13% (Aug to 18th) → 54.0% (22–28 Aug) → 51.5% (28 Aug). What is new is the scale. At the site's own AOV of ₹1,378.66, closing even a fifth of that gap is worth roughly ₹1.1 crore a month in order value.

→ This outranks every media optimisation on this board. The Meta and Google findings move lakhs; this moves crores.

Direct: not a landing problem, a payment problem — correcting an earlier read GA4 · Aug 1–31

Direct has the lowest purchase rate of any major channel (0.654%) — but the highest cart→checkout rate at 41.7%, and the lowest checkout→purchase at 12.60%. So Direct visitors are not browsing badly: they add to cart and start checkout more readily than paid traffic does. They fail at the payment step specifically.

That is a different diagnosis from this tab's earlier read ("Direct is the biggest absolute conversion opportunity", which implied landing or intent). → Action: segment the GoKwik checkout drop by traffic source before spending anything on Direct landing pages. If Direct's failure concentrates in one payment method or device, that is a fix, not a campaign.

Was the August plan ever reachable? derived · GA4 sessions + Shopify orders + AOP plan

August delivered 9,638 orders against a 15,846 plan (60.8%) at a site conversion rate of 1.029%. Hitting 15,846 would have needed roughly 15.4 lakh sessions against the 9.37 lakh actually delivered — or the same traffic converting at 1.69%, a 64% improvement.

→ The plan was not reachable on August's traffic at August's conversion rate. Whoever sets September's target should choose which of the two they intend to change, because the plan implicitly assumed both. Meanwhile every basket metric beat plan: AOV 106.1%, ABS 107.2%, ASP 98.9%.

Week 17–23 Aug — funnel by channel GA4 · current

ChannelSessionsATB %Purch %ATB→Purch
Marketing Ads1,06,15714.0%0.91%6.5%
Unassigned84,46318.6%1.05%5.6%
Direct37,99912.9%0.77%5.9%
Organic11,4059.7%0.59%6.1%
Direct's purchase rate has climbed from 0.52% three weeks ago to 0.77% — the largest funnel improvement on the site.

August MTD 1–23 — funnel by channel GA4 · current

ChannelSessionsATB %Purch %ATB→Purch
Marketing Ads3,32,33714.2%0.93%6.6%
Unassigned2,46,78417.7%0.92%5.2%
Direct1,18,48411.8%0.61%5.2%
Organic38,20510.0%0.64%6.4%
Superseded by the full-August view above, which shows Direct's weakness is at the payment step, not on landing. Kept for the 1–23 trend only.

Google Ads depth — every campaign, full August Aug 1–31 2026 · re-pulled 5 Sep, chip verified

These nine campaigns sum to ₹7,73,757.06 against an account total of ₹7,73,757.05 — one paisa apart. This is the whole of Google spend for August, not a top-N slice. Utilisation = August spend ÷ (daily budget × 31 days).
CampaignBudget/dayAug spendUtil.Conv.Conv. valueROASTarget ROASCost/conv.
adyogi_PerformanceMax_Leap7x_Healers₹6,000₹1,61,61087%640.21₹8,65,7575.36469%₹252.43
Conversions_PerformanceMax_Non_Discounted₹5,400₹1,45,40487%507.15₹6,73,1334.63486%₹286.71
Conversions_Standard_Shopping_All_Products₹15,000₹1,41,86531%576.46₹7,81,7235.51507%₹246.10
Conversions_BrandSearch_12Jun26₹10,000₹1,35,79444%429.54₹6,13,7404.52—₹316.14
Conversion_Performance_Max_Discounted₹3,400₹78,62975%272.94₹3,80,8544.84500%₹288.09
Conversion_Performance_Max_Shoes_NCA₹2,400₹59,61980%189.67₹2,73,6904.59500%₹314.34
adyogi_PerformanceMax_women₹1,200₹33,51790%114.70₹1,42,9674.27450%₹292.23
Conversions_Standard_Shopping_Slippers₹10,000₹11,4093.7%45.29₹70,4156.17590%₹251.89
Conversions_PerformanceMax_All_Products₹12,000₹5,9091.6%30.16₹41,6457.051,083%₹195.90
Total₹65,400₹7,73,75738.2%2,806.11₹38,43,9234.97—₹275.74
⚠ ₹12.5 lakh of authorised budget went unspent, and the campaigns leaving the most on the table are the ones returning the most. ₹20,27,400 was authorised across August; ₹7,73,757 was spent — 38.2%. PerformanceMax_All_Products has the highest ROAS in the account at 7.05 and spent 1.6% of its budget, held back by a target ROAS of 1,083% — a target that high stops the bidder buying almost any impression. Standard_Shopping_Slippers returns 6.17 on 3.7% of its budget, with a 590% target and 97% of products excluded. Meanwhile the campaigns running at their ceiling are the weakest ones: women 90% util at 4.27, Healers 87% at a web-only 4.33. → The account is spending in inverse proportion to its returns. No new budget is needed — the budget already exists and is not being used. The levers are the tROAS targets and the product exclusions.

Where Google's conversions actually happen Conversions → Conversion source segment · Aug 1–31 · pulled 5 Sep

Conversion sourceConversionsConv. valueShare of value
Website2,657.40₹36,77,36795.7%
Store visits — offline shop footfall148.71₹1,66,5554.3%
Google hosted0.00₹00%
YouTube hosted0.00₹00%
Total2,806.11₹38,43,923100%
⚠ ₹1,66,555 of Google's reported "conversion value" is people walking into a physical Liberty shop. All of it sits in one campaign — adyogi_PerformanceMax_Leap7x_Healers — at a flat modelled ₹1,120.00 per visit. That money never touched libertyshoesonline.com and is not in the D2C revenue line. → Google's online-only ROAS for August is 4.75, not 4.97. Anyone comparing Google against Meta on a D2C P&L is currently comparing online-plus-retail against online-only. The ₹1,120 basket assumption should also be checked against actual retail data before it is used to justify D2C budget. Healers' own online-only performance is 491.50 conversions on ₹6,99,202 — a web ROAS of 4.33, not the 5.36 its row shows.
This also corrects something on this page. The earlier reading of the Google gap said free organic Shopping listings were being counted inside campaign results. That literal statement cannot be right: a campaign row can only carry conversions attributed to an ad interaction with that campaign, and free listings belong to no campaign. What survives, with its financial consequence unchanged, is that Google credits itself 2,657.40 website conversions where order-level Shopify attribution finds only 1,288 August orders whose last click carried a Google Ads UTM — 2.06× the orders that arrive by a paid Google click. The mechanism is view-through, engaged-view and data-driven attribution: the buyer saw or clicked a Google ad somewhere in the lookback window, then arrived via a free listing, organic search or direct, and Google books the whole order. Paid+free order attribution (2,656) and Google's website conversions (2,657.40) land 0.05% apart, which is consistent with those extra ~1,369 claimed conversions being predominantly free-listing orders — but Google does not publish which conversions were last-click, so that remains coherent rather than proven. Two candidate explanations are now dead (Google-hosted and YouTube-hosted are both exactly zero) and one is newly proven (store visits). Order-attributed paid Google ROAS stands at 2.24 and none of this moves it.

Product exclusions and Brand Search current state, read 5 Sep

CampaignSignal
Conversion_Performance_Max_Discounted94% of products excluded · was 93% on 13 Aug
Conversion_Performance_Max_Shoes_NCA97% of products excluded
Conversions_Standard_Shopping_Slippers97% of products excluded · defensible if slippers-only by design
adyogi_PerformanceMax_womenLimited by budget — the only campaign currently capped
Conversions_BrandSearch_12Jun26CTR 36.65% · abs. top impr. share 95.24% · ₹1,35,794 for 429.54 conv.
⚠ Correction to the 13 August block this replaces. That block said four campaigns were budget-capped and implied the fix was to raise budgets. Today only one is capped, and the August utilisation figures show the problem points the other way — six of nine campaigns had budget to spare. The old framing was wrong. Caveat: the Status column reports today's state, not August's; the August evidence is the utilisation column, and on that only women (90%), Healers (87%) and Non_Discounted (87%) ran near their ceilings.

Brand Search: a 36.65% CTR at 95% absolute-top share is the signature of bidding on Liberty's own name against essentially no competition. Some share of those 429 conversions would have arrived through organic brand search at zero cost. That is a ₹1.36 lakh/month question, and the way to answer it is a holdout test, not an argument.

Plan vs Achieved — August 2026 targets from the AOP planning sheet

How to read this tab. The structure and metric list come from your planning sheet. Targets are the sheet's, unchanged. Actuals are re-pulled from the portals on 29 Aug — they are not the sheet's achieved column, so the %-achieved figures here will not match the sheet.

Two things that make the comparison honest rather than flattering: the sheet's plan is a 31-day month and the actuals cover 28 days, so every target is also shown pro-rated at 28/31 (0.903) and the % column runs against the pro-rated figure. And the sheet's own MTD column was cut at 18 Aug, so it is not comparable to these numbers at all — it is deliberately not reproduced.
Orders vs plan (full Aug)
60.8%
9,638 of 15,846 — no pro-rating
AOV vs plan
106.1%
₹1,378.66 vs ₹1,300
Paid spend vs plan
92.3%
₹25.02L of ₹27.10L
Overall ROI
5.14
plan 6.60
Blended CAC
₹280
plan ₹260 — 7.7% over

MTD scorecard — plan vs actual FULL AUGUST 1–31 vs the FULL-MONTH plan

Rebuilt 2 Sep. Every actual is now full-month, so this compares against the sheet's full-month plan — no pro-rating, no partial-month distortion. Channel revenue is attributed from Shopify order UTMs, not taken from the ad panels, so the channel rows add to the site total.
⚠ The planning sheet's "MTD till 28th Aug" column now holds FULL-MONTH data. Its Gross Revenue reads ₹1,32,87,517 — identical to the full-month order value pulled here. So the 72.64% it shows compares a full month against a 28-day plan. Against the full-month plan it is 64.5% — achievement is overstated by 8.1 points. Either relabel that column or compare it to the ₹2.06Cr line.
MetricSourceAug'26 month planActual 1–31 Aug% of plan
Gross RevenueShopify API₹2,06,00,000₹1,39,00,44167.5%
Net Revenue
gross − discounts − refunds
Shopify API₹1,50,38,000₹1,24,00,82982.5%
Order value (pre-refund)
sum of order totals — matches the sync feed to the paisa
Shopify API₹2,06,00,000₹1,32,87,51764.5%
OrdersShopify API15,8469,63860.8%
AOVShopify API₹1,300₹1,378.66106.1%
ASP
was outstanding — now filled
Sync feed₹1,182₹1,168.9198.9%
ABS
was outstanding — now filled
Sync feed1.101.179107.2%
Total Paid ExpensesMeta+Google₹30,00,000₹26,75,90889.2%
Spend (all media incl RM)
RM spend ₹1,28,819 taken from the sheet — more reliable than the Engage panel window
Meta+Google+RM₹31,00,000₹28,04,72790.5%
Overall ROI (gross ÷ all media)Calculated6.604.9675.1%
Net ROICalculated4.854.4291.2%
Blended CAC
all media ÷ all orders
Calculated₹260₹291.01111.9%
Spends MetaMeta Ads₹20,00,507₹19,02,15195.1%
Revenue Meta
ATTRIBUTED from order UTMs, not the Meta panel. The panel implies ₹78.5L; the sheet carries ₹75.8L.
Shopify orders₹1,35,58,483₹62,92,42446.4%
ROAS Meta
panel shows 4.13
Calculated6.803.3148.6%
Spends GoogleGoogle Ads₹7,99,493₹7,73,75796.8%
Revenue Google
PAID Google only. Add free listings (₹17,79,660) and the total is ₹35,09,774 — within 2.3% of the sheet's own ₹34,32,221.
Shopify orders₹48,01,093₹17,30,11436.0%
ROAS Google
panel shows 4.89
Calculated6.002.2437.3%
Spends RMPlanning sheet₹3,00,000₹1,28,81942.9%
Revenue RM
attributed. The sheet's own figure is ₹10,89,003 — 2.3% apart.
Shopify orders₹19,86,000₹10,64,13153.6%
ROAS RM
the sheet says 8.45 — my independent attribution agrees. The 25.11 is the Engage 360 panel only.
Calculated7.008.26118.0%
Google Shopping (free listings)
no plan line exists for this. Zero media cost.
Shopify orders—₹17,79,660—
Affiliate (Gyftr+Togethr)
was missing from this tab. Sheet carries ₹62,961.
Shopify orders—₹74,539—
Exchange
was missing. Sheet carries ₹2,49,019 — a 71% gap worth reconciling.
Shopify orders—₹4,26,875—
Total Sale excl. Affiliate & Exchange
was missing from this tab
Calculated₹2,06,00,000₹1,19,64,89258.1%
New customers
sheet says 65% / 5,754. Replaces the July 75.5% placeholder.
Shopify API65%6,450 (66.9%)102.9%
Repeat customers
sheet says 35% / 3,098
Shopify API35%3,188 (33.1%)94.6%
Sessions
GA4. The sheet sources sessions from GoKwik (7,17,337) — see the note below.
GA412,40,0009,36,83575.6%
Add to cart
GA4 counts 3.8× the sheet's GoKwik figure of 36,589 — NOT an overachievement, a definitional gap
GA467,5801,38,370204.7%
Initiate Checkout
same definitional gap; sheet's GoKwik figure is 18,643
GA413,94448,099344.9%
Purchases
GA4 records 8,099 — it undercounts orders by 16%
Shopify API15,8469,63860.8%
CPS (cost per session)Calculated2.502.99119.8%
⚠ The funnel rows will never reconcile to the sheet, and that is expected. The sheet's funnel comes from GoKwik; the rows above come from GA4. GA4 reports 1.31× the sessions, 3.78× the add-to-carts and 1.40× the purchases. Neither is wrong — they instrument different things — but do not read "Add to cart 204.7% of plan" as overachievement. For plan-vs-actual on the funnel, use the GoKwik card below, which is on the sheet's own basis.
Where the channel revenue disagrees with the panels. Meta: attributed ₹62.92L vs the sheet's ₹75.78L and the panel's implied ₹78.5L. Google: attributed paid ₹17.30L vs the sheet's ₹34.32L — but the sheet's figure is within 2.3% of paid + free listings combined (₹35.10L), which suggests the sheet is already carrying both blended together. RM: attributed ₹10.64L vs the sheet's ₹10.89L — 2.3% apart, the closest agreement of the three.
⚠ The shape of the miss is the story. Spend is at 92.3% of plan while gross revenue is at 69.1% and orders at 62.5%. August spent almost the full plan and bought roughly two-thirds of the planned volume. That is why Overall ROI lands at 5.14 against a 6.60 target — the plan assumed efficiency that has not materialised, and the money went out anyway.

Weekly targets from the planning sheet — actuals NOT reproduced, see note

MetricWeek 1Week 2Week 3Week 4Aug MTD target
Orders3,5783,5782,0455,1109,201
Revenue₹34,96,927₹55,65,128₹29,24,444₹45,63,226₹1,19,86,499
Net Revenue₹25,52,757₹40,62,543₹21,34,844—₹87,50,144
Net ROI4.804.824.73—4.79
Spends Meta₹3,08,882₹5,65,625₹2,95,000₹4,47,500₹11,69,507
Spends Google₹1,71,118₹2,04,375₹1,15,000₹1,62,500₹4,90,493
Spends RM₹52,175₹72,282₹41,304₹72,282₹1,65,761
ROAS Meta6.756.656.766.756.71
ROAS Google4.756.475.716.505.69
Blended CAC₹149₹235₹221₹305₹260
New customers1,9381,9388311,8564,708
Repeat customers7547543239991,831
Targets above are the sheet's. Actuals on these exact boundaries are in the table below — pulled 1 Sep from the in-house sync endpoint, one request per day.

Weekly ACTUALS on the sheet's own boundaries libertyecom.com sync endpoint · pulled 1 Sep 2026 · full month

WeekOrdersOrder valueAOVDiscountsABSASP
Week 1 (1–7)2,130₹29,27,484₹1,374.41₹2,01,9731.11₹1,238.36
Week 2 (8–14)2,200₹31,09,745₹1,413.52₹2,20,5771.27₹1,111.02
Week 3 (15–21)2,464₹33,13,117₹1,344.61₹2,01,1971.21₹1,113.65
Week 4 (22–28)2,145₹29,32,194₹1,366.99₹1,25,2831.13₹1,209.15
Week 5 (29–31)699₹10,04,977₹1,437.74₹53,0661.15₹1,245.32
August total9,638₹1,32,87,517₹1,378.66₹8,02,0961.18₹1,168.91
Weeks sum exactly to the month total — checked by the script, not by eye. ABS and ASP appear here for the first time; the Shopify Analytics UI never exposed unit counts. Order value is pre-refund — see the reconciliation note below.
⚠ This feed cross-checks Shopify almost perfectly, and the one difference is explained. For the same 1–28 Aug window: orders 8,939 vs 8,939 — exact; discounts ₹7,49,029.98 vs ₹7,49,029.98 — exact to the paisa; revenue differs by ₹9,77,871, of which ₹9,72,458 is precisely Shopify's sales reversals, leaving ₹5,413 (0.05%). The feed's order value does not deduct returns; Shopify's "Total sales" does. Never compare those two headline numbers directly.

My weekly actuals, on Mon–Sun boundaries Shopify + Meta + Google · 29 Aug pull

WeekTotal salesOrdersAOVSessionsConv.Meta spendGoogle costMER
10–16 Aug₹28,53,4102,248₹1,3622,27,8540.99%₹4,66,575₹1,70,4854.48
17–23 Aug₹32,12,7482,581₹1,3242,47,9641.04%₹5,84,703₹1,79,3004.20
These are exact portal pulls, not derived. They are shown separately rather than forced into the sheet's week columns.

Funnel — plan vs actual targets: sheet · actuals: Shopify (1–28 Aug)

StepAug month planPlan pro-rated 28dActual 1–28 Aug% of pro-rated plan
Sessions12,40,00011,20,0008,97,35880.1%
Add to cart67,58061,04048,98080.2%
Reached checkout13,94412,59410,97287.1%
Purchases15,84614,3138,93962.5%
Sessions → cart5.20%5.20%5.46%105.0%
Session → purchase1.28%1.28%0.996%77.8%

GoKwik checkout deep-dive — where the orders are actually lost GoKwik · pulled 29 Aug 2026

Step28 Aug (exact)Step conv.22–28 Aug (rounded)Step conv.
Checkout Initiated785—~6,900—
Address Step Reached60677.2%~5,50079.7%
Payment Step Reached56993.9%~5,00090.9%
Payment Method Selected29351.5%~2,70054.0%
Converted Session23479.9%~2,10077.8%
Checkout CR29.81% ▼4.13%30.69% ▲4.43%
Prepaid share53.51% ▲17.62%46.02% ▼4.58%
⚠ Half of everyone who reaches the payment step never picks a payment method. Every other step is healthy — checkout→address 77–80%, address→payment 91–94%, payment-method→converted 78–80%. This one step loses more customers than the entire rest of the checkout combined, and it has slid steadily: 58.8% (Jun) → 57.9% (Jul) → 56.1% (Aug to 18th) → 54.0% (22–28 Aug) → 51.5% (28 Aug). The step after it is deteriorating too — payment-mode→purchase was 91.1% in July and is 77.8% now.
→ Action: this is the arithmetic behind purchases landing at 62.5% of plan while reached-checkout sits at 87%. Take these two series to GoKwik and ask what changed at the payment step since June. Worth asking about directly: a payment-method list slow to load or rendering empty, a failing or newly added gateway, COD being gated (prepaid share swung 53.5% → 46.0% in a week, so payment-mix rules are moving), or an EMI/offer widget erroring. No amount of Meta or Google spend fixes this.
Pull limits, stated plainly: GoKwik's custom date picker would not open after four attempts, so MTD 1–28 Aug is not available — these are the 7D and Yesterday presets. The 7D counts are rounded to the nearest 100 by GoKwik; 28 Aug counts are exact. Also worth doing: "Session Performance" inside GoKwik needs a Google Analytics connection that is not set up.
⚠ Conversion, not traffic quality, is where the funnel breaks. Sessions-to-cart is running ahead of plan (5.46% vs 5.20%) and reached-checkout is at 87% — but purchases land at 62.5%. People are arriving, adding and reaching checkout at close to plan, then not completing. The GoKwik steps that locate the drop-off are now pulled — see the card above.

Retention marketing (RM) — Engage 360 Shiprocket Engage 360 · pulled 29 Aug 2026 · last-30-days window

RM ROAS
25.11
plan 7.00 — 3.6× target
RM spend vs plan
41.7%
₹1.25L of a ₹3.00L plan
RM revenue vs plan
158%
₹31.40L of ₹19.86L
Cost per order
₹55
blended CAC is ₹280
JourneySentDeliveredClickedOrdersRevenue
Cart Abandonment — Known User37,74416,7735,300603₹8,42,667
Welcome Omnichannel Journey3,87,5312,79,4215,377266₹3,48,445
Cart Abandonment — Engage user27,32810,1262,412202₹2,71,486
Checkout Abandonment — Known Users3,6951,77778895₹1,71,236
Checkout Abandonment — Engage Users1,16538815514₹21,105
All journeys (22)10,02,3866,45,06143,2412,271₹31,39,714
Campaigns (one-off sends)0000₹0
⚠ The most efficient channel in the business is running at 42% of its budget. RM returns 25.11 against a 7.0 target while Meta sits at 4.06 and Google at 5.17 — and it does it at ₹55 per order against a blended CAC of ₹280. Journey attribution is last-touch and generous, so discount it heavily; the gap is still too large to be an artefact. Meanwhile every paid channel is being asked to hit a ROAS it cannot reach. Zero campaigns ran in 30 days — all of this is automation, and the two cart-abandonment journeys alone produced ₹11.14L of it.
→ Action: the abandonment journeys attack precisely the checkout leak GoKwik just exposed — they recover people who reach payment and stall. Expanding those flows is the one lever that hits both problems at once. Deliverability is the constraint: only 64.4% of sends arrive, and the Welcome journey burns 3.88L sends for 266 orders (0.07%) while Cart Abandonment Known User gets 603 orders from a tenth of the volume.
Window caveat: Engage's blocks each carry their own date control and the Journey block could not be switched off "Last 30 Days" (≈30 Jul – 29 Aug). These are therefore not a clean Aug 1–28 read, and the % columns above compare a ~30-day actual against a 28-day pro-rated plan.

Outstanding on this tab reviewed 2 Sep 2026 against the live sheet

BlockBlocked byClears when
ASP · ABS · Qty · New vs RepeatCLEARED 2 SepShopify token — done
Affiliate · Exchange · Total excl. bothCLEARED 2 Seporder-level attribution — done
Revenue Meta · ROAS MetaCLEARED 2 Sepattributed from order UTMs instead of the panel — done
Weekly actuals on the sheet's boundariesCLEARED 1 Sepsync endpoint — done
GoKwik funnel for the full month 1–31 AugGoKwik's custom date picker will not open — presets onlyGoKwik fix the picker, or a CSV export
Daily tracker (1–31 Aug by day: orders, qty, sales, new/repeat, spend)nothing — the token supports itready to build on request
Jan–Jul monthly historynothing — read_all_orders is grantedready to build on request
Reconcile Orders 9,638 (Shopify) vs 9,827 (sheet)189-order gap, cause unknownsomeone confirms what the sheet counts
Reconcile Exchange ₹4.27L (Shopify) vs ₹2.49L (sheet)71% gap, definitions differsomeone confirms the sheet's exchange rule
Organic Revenue definitionsheet says ₹4.38L; Shopify shows ₹17.80L of free Google listings + ₹1,138 organic searchagree what "Organic" means here
Four blocks cleared on 1–2 Sep once the Shopify token and the sync endpoint were working. Two more are now buildable on request. The remaining three are reconciliation questions, not data gaps — the numbers exist on both sides and disagree, which needs a human decision about definitions rather than another pull.

Key Insights & Actions refreshed 29 Aug 2026

Insights A–G are new on 29 Aug and rest on live pulls from all four sources. Insights 1–4 below them date from the 24 Aug GA4 run and are unchanged.
G · Unassigned converts at exactly the same rate as classified paid — 1.23% vs 1.23%. Across 3,01,942 and 3,99,259 August sessions respectively. That is not noise and it is not junk traffic: Unassigned is paid social GA4 cannot name. The two together are 84.2% of all GA4 revenue.
→ Action: this is now measured, not inferred. Add the rules to the custom channel group in GA4 Admin → Data display → Channel groups — it applies retroactively and repairs history — then fix the UTMs at source to utm_source=facebook / utm_medium=paid_social. Until then, every channel-level budget decision is made on a chart that splits your largest paid platform in half.
A · The latest week grew 12.6% while cutting discounting nearly in half — this growth was not bought. Wk 17–23 Aug vs 10–16: total sales ₹28,53,410 → ₹32,12,748, orders 2,248 → 2,581 (▲14.8%), sessions ▲8.8%, conversion 0.987% → 1.041%. Discounts fell 44.6% and discount depth halved, 7.92% → 4.09% of gross.
→ Action: this is the cleanest growth week in the series — more traffic, better conversion, less discount. Establish what drove it before the next promo cycle buries the signal, and re-baseline September targets off this week rather than the August average.
H · Full August is in, and it settles the argument: 61% of the order plan, with every basket metric ABOVE plan. 9,638 orders against a plan of 15,846. Meanwhile AOV 106% of plan (₹1,378.66 vs ₹1,300), ABS 107% (1.179 vs 1.10), ASP 99% (₹1,168.91 vs ₹1,182). Customers who bought behaved slightly better than the plan assumed — there were simply 6,208 fewer of them.
→ Action: nothing about discounting, product mix or price realisation explains August. Three sources now reach the same conclusion from different directions: GA4 (sessions ▼14%), Shopify (orders ▼18%) and this feed (61% of the order plan while baskets beat plan). Before September targets are set, establish whether 15,846 orders was ever reachable at the traffic the site actually gets — or whether the plan was built on a conversion rate the checkout cannot currently deliver. The GoKwik payment step is losing half of everyone who reaches it.
B · August is a traffic problem, not a conversion or pricing problem. Aug MTD 1–28 vs a 28-day July: sessions ▼14%, orders ▼18%, total sales ▼12% — while AOV actually rose 8% to ₹1,354 and discounting fell ~25%. Conversion held at 0.996%. The shortfall is 14% fewer people arriving.
→ Action: the month was lost at the top of the funnel, which puts it squarely on media. Meta spend is up but CTR is falling; Google is buying fewer clicks for more money. Fix reach before touching price or promo.
C · Blended MER fell from 4.48 to 4.20 — the extra spend bought revenue at a worse rate than the base. Combined ad spend rose 19.9% WoW (₹6,37,061 → ₹7,64,002) while revenue rose 12.6%. Meta CPP has now sat at ~₹348 for three straight weeks against a ₹300 ceiling, and the last WoW move was +0.15%.
→ Action: Meta proved it absorbs 25% more budget at unchanged efficiency, so the binding constraint is the CPP target, not audience headroom. The cheapest fix in the account: Prospect_ASC_Volume_Remarke runs 5.03 ROAS on ₹1.74L MTD while PPM_Log takes ₹2.11L at 3.57. Moving a fifth of PPM_Log's budget to the remarketing line is a CPP improvement available this week.
D · Meta's CTR is falling while its CPM falls too — that is creative wear, not auction pressure. CTR 3.254% → 3.084% (▼5.2%) with CPM ▼1.5% and CPC ▲4.0%. Costs eased and engagement still dropped. This is the same signal flagged on 13 Aug, still firing two weeks later.
→ Action: the creative refresh flagged mid-August has not landed. Also worth noting the account carries 9 unpublished edits, one on Engage_Dyna — the largest MTD spender at ₹3.26L. Ask Adyogi what is queued before it goes live mid-flight.
E · Cart-to-checkout is the weakest link and it moved the wrong way. Add-to-cart rate improved 5.58% → 5.67%, but reached-checkout fell 1.41% → 1.28% even as orders rose. GoKwik owns this step.
→ Action: ask GoKwik for a drop-off reason breakdown on 17–23 Aug. Also flagged: fulfilment jumped 68.6% (1,708 → 2,879) against a 14.8% rise in orders — that is a backlog being cleared, so any fulfilment SLA read across these two weeks is distorted.
F · The passkey deadline has arrived on Google Ads. The account now shows a persistent banner requiring a passkey to add users, link accounts or perform sensitive actions.
→ Action: this will block account linking, which is exactly what the API automation plan needs. Create the passkey before starting the Shopify/Google API work.
1 · The August cooling call was wrong — the site has recovered for two straight weeks. GA4 revenue by week: ₹26.86L → ₹23.76L → ₹25.77L → ₹29.64L. From the 3–9 Aug trough to the latest week, revenue is ▲24.7%, purchases ▲30.2% and conversion ▲16.7% (0.79% → 0.92%). Every measure improved, twice.
→ Action: retire the "post-EOSS cooling" framing from planning conversations. The trough was one week, not a trend. Re-baseline August targets off the 17–23 Aug run-rate, not the 3–9 Aug one.
2 · The growth is coming from everything except classified paid. Revenue WoW into 17–23 Aug: Direct ▲51.8%, Unassigned ▲28.4%, Referral ▲30.6% — and Marketing Ads ▲0.2%. Paid traffic is flat while the rest of the site accelerates.
→ Action: work out what changed around 17 Aug — a CRM or WhatsApp push, brand demand, an app release, PR. Whatever it is, it is outperforming paid media and is currently unattributed and therefore unfunded.
3 · "Unassigned" is a naming problem, and it is hiding 61% of Meta. Viewed by source/medium, every session has a source and the revenue reconciles to the paisa. GA4 simply cannot classify mediums like fb, ig, whatsapp_campaign and Video. Meta's true GA4 footprint in the reference week was 1,17,521 sessions and ₹12.17L, of which 71,499 sessions and ₹7.07L sat in Unassigned — and adyogi/fb converts at 1.02%, better than google/cpc at 0.93%.
→ Action: two moves. Add rules to the custom channel group in GA4 Admin → Data display → Channel groups (retroactive — it repairs history). Then fix the UTMs at source to utm_source=facebook / utm_medium=paid_social. Until then every channel-level budget decision is being made on a view that under-credits your largest paid platform.
4 · Direct is your biggest conversion opportunity, and it is already improving. 16% of sessions at 0.61% purchase rate — the lowest of any major channel — but climbing hard: 0.52% → 0.60% → 0.73% across the three weeks, with revenue per session ₹7.2 → ₹9.6. Best day 17 Aug at ₹78,261.
→ Action: closing Direct's gap to organic's 0.64% is worth roughly ₹1.2L a month at current volume. Find what drove 17 Aug and whether it is repeatable. Note that part of "Direct" is misclassified paid and social, so some of this gain belongs elsewhere once the UTM fix lands.
5 · Google is spending in inverse proportion to its returns. Re-pulled in full on 5 Sep. ₹12.5 lakh of the ₹20.27 lakh authorised for August went unspent — 38.2% utilisation — and the two highest-ROAS campaigns in the account (7.05 and 6.17) spent 1.6% and 3.7% of their budgets respectively, throttled by target ROAS settings of 1,083% and 590% plus a 97% product exclusion. The campaigns running at their ceiling are the weakest ones. Meta CPP was ₹315 MTD against a ₹300 ceiling.
→ Action: this needs no budget approval — the budget exists and is not being used. Drop the tROAS on PerformanceMax_All_Products, review the 97% exclusion on Slippers, and confirm the 94% / 97% exclusions on the two PMax campaigns are deliberate rather than feed-disapproval fallout. Separately: ₹1,66,555 of Google's reported conversion value is offline store visits and should come out of every D2C ROAS comparison.
6 · The freshest-day lag is now measured three times. 12 Aug read 548 organic sessions and ₹0 when pulled on 13 Aug; it settled at 1,396 and ₹18,819. 18 Aug read 455 / ₹5,976 on the day; it settled at 1,497 / ₹7,945. 23 Aug currently reads 1,131 / ₹599 at 16% engagement. Direct behaves in the opposite direction — unresolved traffic pools into it, so its same-day sessions are inflated.
→ Action: before reporting any same-day or previous-day GA4 figure, compare its engagement rate with the prior day. Single digits or teens against ~97% means the day is not ready. This is now written into the reporting SOP.

Recurring SOP locked accounts

CadenceWindowCompare vsWhat updates here
Daily · 9:00 ISTYesterdayDay beforeDaily pulse row (WoW tab) + tiles
Weekly · MondayMon–Sun weekPrior weekWeekly history row + channels + ads trend + audiences/creatives
Monthly · 1stCompleted monthPrior monthMonthly history + campaign league + returns/discounts + refreshed insights
Locked sources: Shopify libertyshoes-online · GA4 “Liberty New - GA4” (289711881) · Google Ads 530-752-6249 · Meta “Liberty Shoes Online _ 1” (1476088395883569). Definitions: Conversion = Shopify orders ÷ sessions · MER = Shopify total sales ÷ (Google + Meta spend) · Meta CPP = spend ÷ omni purchases · Google ROAS = conv. value ÷ cost · AOV = Shopify's own tile (do not mix with total ÷ orders). Same-day ad values are provisional. This is the single D2C artifact — every run updates it in place; no new dashboards.
⚠ Tooling status (24 Aug 2026): the Shopify picker does accept automation — the earlier failure was a ~22px coordinate offset that appears when the popover opens, not a block. Calibrate with one known click before driving it. The durable fix is the Admin GraphQL API script now bundled with the reporting SOP, which skips the UI entirely; it needs a token plus read_all_orders access for months older than 60 days. GA4 and Meta drive by URL; Google Ads' own picker works.