Daily Snapshot
Orders by source
Spend → profit flow
Daily spend vs revenue
Data trust — reconciliation
Performance Overview
Spend split
Top campaigns
Trend
What's working & why
Campaigns
Breakdowns
Alerts & fatigue signals
Meta Billing
Ad spend
Account funding & alerts
Each account is read in its own currency. Prepaid shows credit on file; Credit line shows what's left of the owner-set spending limit; Postpaid shows amount due plus a spend report. Type is auto-detected — fix it from the dropdown on any card if it's wrong, and set a per-account alert level. Meta doesn't expose a live wallet figure for every account type, so a value may read "—".
Alerts & Notifications
Schedule
Alerts fire only while this app is running on your Mac. Keep it open (or run it as a background service) for round-the-clock alerts.
Business alerts
Measured over the last 7 days. RTO / True CPP / NDR use the 7-day window; ROAS-drop compares yesterday vs the 7-day average; spend-pace is today's spend. Hit "Run check now" above to test.
Telegram
- In Telegram, message @BotFather → send
/newbot→ copy the bot token. - Create your group, add the bot to it. To get the group chat ID, add @getidsbot to the group (it replies with a negative ID like
-100…), then remove it. - Paste both below & save. The bot must stay a member of the group.
WhatsApp group unofficial
Logs in as your number via WhatsApp Web. Use a number you're OK risking. One-time setup on your Mac: npm install whatsapp-web.js qrcode, then Connect.
Shopify Sales
Payment split
Order source
Daily orders & revenue
Orders by source
Top products
Products × price points
| Product | Price | Orders | Units | Revenue | Share of product |
|---|
Orders by price point
| Price point | Orders | Units | Revenue | Products at this price | Top product |
|---|
Orders by state
UTM tracking
Where untagged orders came from
Orders
Customers & Retention
New vs returning
Top customers
Repeat-RTO offenders — block COD
Connect Shiprocket Checkout (Fastrr) webhook
- Expose this app on a public URL — a tunnel (e.g.
cloudflared tunnel --url http://localhost:3000) or your hosted domain. Copy that base URL. - In Shiprocket Checkout → Settings → Webhooks → Add Webhook (or Custom Endpoints), set Webhook Type = Abandon Cart and paste this full URL:
… - Save. New abandoned carts appear below within a minute. (Localhost can't receive webhooks — use the tunnel or host first.)
- For recovery rate & revenue recovered: add a second webhook — type Real Time, Stage Order Placed — pointing to this same URL. We then match recovered orders to abandoned carts by phone, automatically.
Checkout — Abandoned carts
Abandoned carts per day
Abandoned carts — follow up
Field mapping auto-detects phone / value / items / stage from Fastrr's payload. If anything reads blank once real events arrive, send me a sample and I'll map it exactly. Recovery rate needs a "recovered/order" webhook or order-matching — coming once events flow.
Reconciliation
Placed but not shipped
Shipped but no Shopify order
Matched on normalized order number. "Placed but not shipped" is normal for recent orders still in processing; a persistent backlog means a fulfillment gap. "Shipped but no order" usually means manual Shiprocket entries or another sales channel.
True CPP & Blended ROAS
Where the gap comes from
All orders — by source
CPP by campaign — UTM-matched
CPP by ad set — UTM-matched
CPP by ad — UTM-matched
CPP by UTM source
Keep mapping 1-source-per-account for clean CPP. Tip: in every ad's URL parameters use utm_source=<buyer>&utm_campaign={{campaign.name}} so matching stays exact.
True CPP = total Meta spend ÷ actual Shopify orders. Blended ROAS (MER) = total Shopify revenue ÷ total Meta spend — the number that survives Facebook's attribution inflation.
Shipping Operations
Delivery % = delivered ÷ (delivered + RTO + NDR) — undelivered attempts count as not-delivered. In-transit / pending are excluded. So it answers: of the parcels that reached a doorstep outcome, how many actually delivered.
Orders fetched — verification
Status split
Detailed delivery status
RTO rate by state
Detailed delivery status — cards
By courier — delivery vs RTO
By zone
Date-wise delivery
High-RTO pincodes — COD-block candidates
NDR follow-up list
Best courier by zone
Orders by tag
Detailed delivery status — full table
Delivery % by payment type
Delivery % by product
By state
Shipments
Cost settings
Profit & Loss
P&L statement
Profit by product
Per-order P&L
FX converts the USD credit-line accounts to ₹ and is also used by Telegram/WhatsApp alerts & digests. Live rate still refreshes on every load; this is the fallback/default.
…Paste this URL in Shiprocket Checkout → Settings → Webhooks (Abandon Cart + Order Placed). If you're on a tunnel, the domain changes on every tunnel restart.
| Name | Role | Last login | Actions |
|---|
Stored data (.data folder)
| File | What it holds | Size | Last updated |
|---|