Enter your API keys once. They save locally to your Mac.
Clic Command Centre
⊞
Loading
Lead ReportingCohort model · GHL pipeline · in-month vs cohort
→
—
—
—
—
—
Lead funnel · cohort this period's leads, followed anywhere in time
Conversion rates cohort
Lead sources this period
Recent leads live · newest first
Name
Source
Stage
When
Pipeline stages all open opportunities
Cohort model: A lead = a contact that entered the New Leads stage (captured permanently in a snapshot, so it survives being moved to another pipeline). Booked / Invoiced = the lead's contact reached the configured stage (by id) in any pipeline, or has an invoice sent. Paid = the lead's contact has a paid invoice (invoice-based, stage never consulted). Close % = paid ÷ leads and matures over weeks.
New Schools & Collections
→
AI Growth Assistant
Meta · Shopify · GHL · DB
Connected to your GHL pipeline and Shopify store. Ask me anything — lead performance, revenue targets, what you need to hit your goals.
CommissionSchool commission · 10% · 6-month periods
This period
£0.00
0
live accruals
£0.00
calendar year to date
0
—
Accruals filter, search & per-school actions
School Name
Category
Period
Due Date
Sales
Commission
Last Sale
Status
Actions
Press CountFast-track window: 10 days
⚡ Fast Track Orders
AWAITING DISPATCH
LEAD TIME INSIGHTS
Current Lead Time (standard)
Predicted Lead Time (standard)
Overdue
Due This Week
Coming Up
Future
Total Unfulfilled
Press Count
Today's Total
This Week's Total
Active Today
Staff Breakdown
Pack Count
Today's Total
This Week's Total
Active Today
Staff Breakdown
Print Count
Today's Total
This Week's Total
Active Today
Staff Breakdown
PIPELINE where open orders are right now
↻ Refresh✎ Edit pipeline
Sales CommissionV2 · 20th–19th commission periods
Current period
Commission due
—
Schools signed
—
YTD commission
—
Payments Outstanding
—
Growth TrackingRevenue toward £1M target
Refresh nowRefresh
—
—
—
—
Revenue Target
—
—
—
—
Monthly Revenue
Year-End Projection
—
Prior year × growth · Shopify+Stripe
Actual Revenue
—
—
Model growth ×
—
internal trend multiplier (not YoY)
Days Remaining
—
to 31 Dec 2026
Monthly Rhythm · Seasonal Index
⚠ Limited history (<24 months) — indices may be less reliable
Search for a dance school collection on the left. Its products will appear here, ready to configure.
Manual scale test
EPS Scale Test (temporary)
Result
No result yet.
Replace logo file
Sized files load automatically when a school resolves on the Logo Setup tab. Tick each file to replace, upload ONE image
named with its size (e.g. 8cm.png) — it’s applied to every ticked file at that size — then dry run.
Select files to replace
0 selected
Copy logos to another collection
Copy a configured collection's logo_location onto a matching one — e.g. a wholesale collection → its webshop.
Products are paired by item type (school/channel words stripped). The sized files are shared, so this copies the
same Dropbox paths — no files touched, no re-scaling.
Name font & colour
Set the font and colour personalised names print in for a school. Get Names reads this. A school with nothing set still works: its names arrive in plain black Arial, labelled NO STYLE SET.
School
Schools with a name style
Loading…
Get Names
Names are added when an order is scanned Your Order Is Being Prepared. Illustrator's File › Scripts › GetNames pulls them; Download names is the fallback file.
—
Batch history
Loading…
Design PC keys
Each design PC needs its own key in GetNames.config.json. The key is shown once when created. Revoke a key if a PC is replaced.
Loading…
Scan Station
Scan an order to view its notes and shelf. Scanning a shelf or a stage is optional.
Operator: —
Checking label watcher…
Scan ON — scan an order to look it up. Optionally scan a shelf to set its location, or a stage to update status.
⚠ Session expired — log in again. Scans are paused until you do.
Shipping label
PACKED
Flow: scan the order → scan the "Your Order Is Being Packed" stage → scan a service (SVC-…). The label fires automatically once order + service + weight are set.
Order:—
Ship to:—
Service:—
type + Enter for Special Delivery
No shelf set
No hanger set
No internal status
—
Order notes (live, read only)
Stage history (auto)
Add a note (e.g. shelf / location code)
Recent scans
Nothing yet.
Service Barcodes
StationsDevice & station health
Checking…
Press & print stations
Scanners & printers
Edit pipeline
Toggle each stage's visibility, drag to reorder, rename the display label (the stage code and scan behaviour are untouched), and set its "sitting too long" threshold in days.
Whole-order lead-time warning at days total age (lead time is ~21 days).
CancelSave
Meeting NotesTeam meetings & transcripts
+ New note
Team meetings & transcripts
← All staffOwnerSet owner+ New note
Drag & drop a file here, or choose one below. Any file type — PDFs and images welcome. Max 10MB.
Preview
✓
Note saved to the order and StatusPro status updated.
Check Ins90-day check-in cycle
—
—
upcoming
—
chasing
—
reached
Upcoming check-ins
Store BuilderTemplates · school builds
Build Settings
—
—
self-extending
—
this month
—
1 · Build School Store
Pick a school and template set, upload the finished pack, then review and build. Templates are only ever duplicated — never modified.
The product checklist appears once a school and template set are selected.
Step 2 · Upload school pack
Drop the school's mocks — each file is matched to a product by the item code in its filename,
and added to the list below. Files with no recognisable code are listed for manual assignment.
Step 3 · Review & build
Every uploaded mock becomes a product — prices prefill from the template, tick Extra charge to add the set amount, and exclude any bad crop, then build. Only the items shown here are built.
Recent builds latest school stores
2 · Build Settings
What the app applies when building a school's store from these templates.
{school} and {item} are replaced at build time. School name MUST appear in the title — commission matching depends on it.
Comma-separated list; {school} placeholder allowed. The school tag places products into the school's tag-based collection.
Added to every price input on a review-grid item when its Extra charge tick is on. Default £5.00.
Free text; {item} allowed. Leave blank to skip.
3 · Mapping
The template library. Each build duplicates the matched donor twice (wholesale + webshop), prices every variant by kids/adult classification and tags template.
Price SheetBranded PDF price list for any school
Type the school name, drop the finished mocks (images or PDFs), review the matched prices, then generate — the branded PDF lands in Dropbox exactly as before. Works for a prospect not yet in the system.
Build Price Sheet
Split ShopGive a parent school an AB-style landing page of its child shops
Refresh
1 · Parent school
2 · Child shops
3 · Preview & build
Choose a parent school to begin.
Ink ROASCustomer-cohort model — Meta-acquired customers & their lifetime revenue
ClicInk MagicRefresh
ConfirmedPossiblesCombined
—
campaign lifetime
—
cohort lifetime
—
—
Cohorts — live campaigns, split by acquired month
A Meta-acquired customer is an email whose FIRST-EVER order carries a Meta marker; all their later revenue counts to that campaign, and a customer whose first order predates the campaign is excluded. D30/60/90 = revenue within 30/60/90 days of each customer's first order — “@Nd” marks a window not yet elapsed. Click a row for its customers.
Campaign / month
Spend
New customers
Rev D30
Rev D60
Rev D90
ROAS D90
Rev total
ROAS LT
Loading…
Per ad — live campaign
Ad attribution via _utm_content (numeric ID or name, resolved the same way). Click a row for its customers.
Ad
Spend
New customers
First-order rev
Cohort rev
ROAS
Loading…
Customers
Email
First order
First £
Reorders
Lifetime ▾
D30
D60
D90
▸Possibly-Meta
Referrer-only evidence. Improve tagging coverage to move these into attributed.
Email
Order
Date
Value
Source
Lifetime
Ink / Clic ROASMeta spend vs attributed revenue
ClicInk MagicAll timeRefresh
—
—
—
blended
—
n/a for Clic
Loading…
Spend this month
—
Cost per school
—
Avg school LTV
—
True ROAS (D90)
—
Avg payback period
—
Funnel
—
Ad Spend
›
—
Meta reported leads
›
—
Leads in GHL
›
—
Cost per Lead
›
—
Avg Signup Value
›
—
Measured Avg LTV
Schools by source
The mapped set is the paid cohort: mapping was created for schools acquired through the Meta campaigns from April 2026. Evidenced means a hard Meta marker was found on the contact (utm_source, fbclid, Lead Ads stamp or a paid campaign name). Mapped means no marker was found and the school counts as Meta by construction. Manual means someone overrode it below. A website or GHL form is not treated as evidence of organic.
Source
Basis
Schools
Revenue
Source review
Every mapped school counts as Meta unless the contact says otherwise. Override any the rules cannot see.
Cohort by acquisition month
Month
Spend
Schools
Rev D30
Rev D90
ROAS D90
Rev Total
ROAS LT
Loading…
By adset / adCampaign → adset → ad · leads, quality, spend & ROAS for Lead House
7d30d60d90d
Loading…
Loading…
Meta pull level: campaign (existing) + adset & ad (this card). Join Meta ↔ GHL by id, then by name. Rows flagged leads, no spend or spend, no leads. Revenue = attributed customer-cohort revenue for those leads' schools. Booked % uses Lead Reporting's "reached Engaged or beyond" rule.
Loading…
Settings
Theme
Sign out
Dropbox folder the logo files are copied into for the printer. Must start with /.
Used by Print Scan and the Scan Station Order Preparation flow.
When off, the Build Split Shop button returns “writes disabled”. Only gates the
Store Builder → Split Shop build; nothing else.
Thresholds for the Home Needs action cards, Store Set Up stage targets, and which GHL user each
app user is. Who lands on Home, and who sees revenue and the staff comparison, is set per user in Users.
The reasons and generic logo choices staff pick during an
Awaiting Bits request. Rename or deactivate — items with history are never deleted.
Staff choose reasons from a dropdown on the scanner.
Reasons
Logo choices (items with no set-up logos)
Replacement reasons and suppliers staff pick when logging a replacement.
Rename or deactivate — items with history are never deleted.
Staff choose reasons from a dropdown on the scanner.
Replacement reasons
Suppliers
One master list used by every supplier picker in the app (Replacement Tracking, Order List, replacement ordering). Renaming updates the name everywhere; archiving hides it from pickers but keeps it on past records.
When off, only admins see the reporting card.
Off by default. When off, the new tab section, routes and scan branches are inert.
Map which pipeline stage counts as Booked and Invoiced (matched by stage id, so
renaming a stage in GHL never changes the numbers). Paid is always invoice-based. Leads are
captured permanently in a snapshot, so a lead moved to another pipeline keeps its cohort record.
Recover converted leads that GHL removed from New Leads (best-effort, from the contact's date added + Meta/website source). One-off; safe to re-run.
Add User
Points at target
Bonus / % over
Name
Items
Target
%
Points
Changes take effect on next login.
Login splash
Splash animation
Login sound
Target pace nudges
Behind-pace messages
Ahead-of-pace messages
Sound
Pace thresholds (%)
Welcome messages (one per line)
Behind-pace messages (one per line)
Ahead-of-pace messages (one per line)
The final motivational slide on each staff member's daily debrief. One active message shows per day, rotating through the list.
Today's message: —
Add a message
Print MethodTick DTF or HTV/Glitter per school. Sub collections follow their parent unless you set them individually.
TEMPReload
—
of — schools
—
collections
—
collections
—
collections
Revenue by print method
Paid orders, order-level rule: any HTV/Glitter item makes the whole order HTV/Glitter
toRun
Choose a range and hit Run. Untagged is every order whose products sit in no tagged collection.