Overview
Everything the holding page has collected so far.
Where visitors came from
Subscribers
Anyone who ticked the consent box on the holding page. The wording each person agreed to is stored against their row as evidence.
Assessment
Everyone who finished the five questions and was issued a code. Note that finishing is not the same as joining the mailing list — the tick box is optional and the code is issued either way, so the two counts differ on purpose.
Spend on themselves, per month
Spend more on the pet than themselves?
“I don’t have a pet’ is how many of these people are not pet owners.
Spend on the kids, per month
How often they reorder
The number that decides whether a customer is worth more than one order.
Who gets spoiled the most
The closest thing here to which range a person would actually shop.
Everyone, with their code
Users
Add and remove logins without touching Supabase. Owners can do everything; staff can read the list and unsubscribe someone by hand, but cannot delete a record or change anything the public sees.
Traffic
Anonymous visit counts — no cookies, no IP addresses, nothing that identifies a person. Numbers count page loads, not unique people.
Last 14 days
Referrers
Campaigns
Costs
What Packet would actually pay, per pack and per unit, landed. Blank figures are gaps, not zeroes — the reason is in the last column. Nothing here is an estimate: every price was read from a supplier's own product page on the date shown.
Suppliers
Returns is the column that matters most. “No” means a customer changing their mind costs Packet the full goods price, because the supplier will not take the item back and Packet must still refund in full under the Consumer Contracts Regulations.
Costed products
Finds
Anything either of you sees that might be worth selling — a catalogue listing, a competitor’s shop, a shelf in a shop. Three facts: what it is, what it costs, and a link so the price can be checked again later. Nothing here is costed, approved or committed to.
Add a find
Add a category
What has been found
Brands
Companies we would like to carry, and where each one has got to. Shopify Collective lets a retailer invite a brand that has not joined yet, so this is not a list of whoever signed up — it is a list of who we want. Nothing here is a supplier. A supplier is a real account with real terms, and only Phil or Scott can create one.
Add a brand
The website is the only thing the check needs. Everything else can be filled in later, and three of the fields are questions no website can answer — they start unknown and stay unknown until somebody looks.
Outlet
Brands’ returns and sale stock, sent to us through their own login at admin.packetlabel.com/brand.html. The brand keeps the stock and posts it. We check it, set the price, and record what they are owed. This works for any brand, whatever their own shop runs on.
Stock a brand has sent us. Check the photos and the condition, then set our price (never below their lowest) and put it on sale, or turn it down with a reason they will see.
Until the Shopify shop exists, orders go in by hand here. Leave test order ticked to show a brand the whole thing working — a test order takes no stock and is never owed.
Add an order
A brand has to be on the Brands page first. Set its terms once they are agreed in writing — until then the brand sees “terms not set” rather than a guessed figure. Only an owner can give out or remove a login.
Give a brand a login
Sourcing
What the competitors are selling, what the suppliers can supply, and where the two overlap at a price worth having. Recommendations only — nothing goes near the shop until you say so.
The same weekly look, pointed at the calendar. Christmas gets decided in summer, not in November, so what matters here is not the date of the day itself but the last date it is still worth committing to buy for it.
Seasonal stock is not like everyday stock. An ordinary product that sells slowly keeps sitting there. A Halloween product that has not sold by 1 November is worth roughly nothing until the same week next year. Packet is not holding the stock on a dropship model, so most of that risk sits with the supplier — but any minimum order or committed buy hands it straight back.
The calendar
Nearest deadline first. The two numbers on each row start blank on purpose: nobody can tell you how long your supplier takes but your supplier, and a plausible-looking guess would end up quoted back as though somebody had checked it.
Worth selling
Gaps
What the competitors are selling for a season that none of our suppliers can give us. Only useful while there is still time to go and find one, which is why it sits next to the order-by dates. Counted from listings we have read — it says what shops do, never how well any of it sells.
Type an ordinary instruction and the tool works out what you meant, shows you exactly what it would do, and waits. Nothing changes until you press the button.
What it can change: competitors, suppliers, seasons, and the words that make a product count as seasonal.
What it cannot, ever: any fee, VAT rate, margin or threshold; whether a supplier holds the UK Responsible Person role; and approving, rejecting or listing a product. Those are typed in by hand, by a person, on the screens where they live. The limit is set in the database, not in this page, so it holds however the question is phrased.
What has been asked
Every question and every change, kept. Worth knowing while you and Scott share one login: this records the account, not which of you typed it. Separate logins would fix that properly, and take about ten minutes on the Users screen.
Packet is the seller of everything it lists, whoever ships the box. What is recorded here decides what the tool will and will not put in front of you — in particular the Responsible Person question, which blocks cosmetics outright when the answer is no.
Shopify shops publish a product feed that anyone can read, which is why they are straightforward to watch. Anything else has to be followed by hand. Check a shop’s terms before adding it — reading a public price is ordinary research, but this should stay a weekly look, never a crawl.
How each competitor actually operates — the shape of their range, where they sit on price, how fast they add things, and what they promise on delivery and returns. Every number here is counted from pages we have read. Only the written summaries are AI, and only about those numbers.
What this cannot see: their sales, their profit, their advertising spend, their visitor numbers, or who supplies them. All private. So it can tell you what a shop does — never how well it is doing. A tidy site with 400 products might be on its last legs.
Shop by shop
Works with every supplier from day one, whether or not they offer a feed: export their price list, paste it in, done. Suppliers with a real feed get wired up properly later — this is the path that never depends on them having one.
sku and title and cost_price are required; the rest
can be left out. Prices go in as pounds — 1.10, not
110. cost_price is the trade price excluding VAT.
gtin is the barcode, and it is worth more than every other
column put together: with it, a product matches a competitor exactly,
and without it the tool is comparing titles and guessing.
These start empty deliberately, and the tool will not price anything until they are filled in. A sensible-looking default would get quoted back later as though somebody had checked it. Take them from the real Shopify plan, the real payment contract and the returns you have actually seen — and if you do not know one yet, leave it blank rather than estimating. Blank is reported honestly. A guess is not.
Selling costs
Advertising
The line that decides whether any of this is a business. A product can look healthy and be underwater the moment it costs money to find a buyer. Left blank, every figure on the shortlist is marked as being before advertising — which is a warning, not a pass.
Where we price
How early a season starts appearing on the Seasonal tab. This one has a sensible default of 26 because it only decides what is on the screen, not what anything is worth — unlike everything above it.
Categories and returns
Return rates stay blank until you have measured one or a supplier has given you theirs in writing. Blank means returns are left out of the margin entirely and the row is marked best case — which is the honest way to show a number nobody has yet.