MenuTroubleshooting

    Reference

    Troubleshooting and common questions

    The problems people hit most in Cannonball, why each one happens, and what to do about it.

    Each answer below says what you see, why, and the fix. If yours isn't here, contact us.

    Signing in#

    The page says "That sign-in link has expired or was already used." A sign-in link works once, and only for 15 minutes after we send it.

    1. Click Send me a new link, or go to the sign-in page and enter your work email again.
    2. Open the newest email and click its link within 15 minutes.

    Opening the link doesn't sign you in by itself: it opens a page where you click Sign in. So a company email scanner that opens every link before you do can't use yours up. If the link is fresh and still fails, ask for a new one.

    The sign-in email didn't arrive#

    After you ask for a link, the page says Check your email. Then:

    • Check spam, junk and quarantine. Sign-in links, invitations and alerts come from Cannonball <login@cannonballdata.com>. If your company holds new senders back, ask IT to allow that address.
    • Check the address. Click Use a different email if there's a typo.
    • Check you're invited. While Cannonball is in its closed beta, only invited addresses get a link. The page says "If … is invited to Cannonball, a sign-in link is on its way" either way, so it can't tell you which. Contact us if you think you should be on the list. If you see "That address isn't invited to Cannonball.", the same applies.
    • Wait a few minutes. If a send fails, we try again, so a link can arrive a little late. If you see "Too many requests. Wait a minute, then try again.", wait a minute before asking again.

    Every email we send, and where replies go, is on Emails we send.

    Products and numbers#

    A product shows "Not loaded yet"#

    Not loaded yet means you've added the product, but we haven't read it yet. Showing "0 of 0 stores" would read as a fact, so the app says this instead. It fills in by itself once we've read it, with all the history we have for it. Nothing to do. If it still says so after a few days, contact us.

    A number shows "—" or "Not read"#

    The app shows "—" or "Not read" when it has no reading it can stand behind. It never shows zero for a number it didn't read. The usual reasons:

    • The chain doesn't read that number. Stock isn't read at IGA (since 8 October 2026). From 10 October, it isn't read at New World, PAK'nSAVE, Chemist Warehouse and Mitre 10 NZ either. Promotions aren't read at Bunnings and Bunnings NZ. Ranging isn't read at Chemist Warehouse and Mitre 10 NZ. Those stores are left out of that number's totals, and never count as out of stock or not ranged.
    • ALDI's regular range. ALDI's stock is read for Special Buys only, so In stock shows "—" for the rest of ALDI's range.
    • Woolworths and ALDI read at only some stores. Woolworths' ranging and stock, and ALDI's ranging, are read at part of each chain. The rest are counted apart, such as "ranging not read at 234 more". If stock was read at fewer than half of the stores carrying a product, In stock is greyed out and marked partial. Where a product is only at chains like these, its cell shows "—": the line above the list says once what each chain reads, and hovering over the "—" names the chain.
    • One store. On a store page, Stock not read or Not read here means we have no reading for that product at that store. At Woolworths and ALDI, a product shows Listed (or Ranged) instead: the chain lists it there, and the page says once that it doesn't give us that store's stock.

    What each chain shows is on Chains and coverage. What "—" and the markers mean is on Labels and markers.

    Home says "Nothing changed on your shelf"#

    Nothing changed on your shelf usually means just that: nothing moved on the products you watch, at the stores we read, in the last week. Home lists changes, not levels. A product that's been out of stock at the same stores all month isn't a change: find it on Stores under Out of stock 2+ days.

    Check these too:

    • An amber stamp and "A newer check hasn't arrived yet": the latest check is late. See Freshness.
    • "N changes hidden": everything that changed is something you hid with Dismiss, Hide this rival or Hide single-store moves. Hides are yours only.
    • Products at chains outside your plan's retailer groups are left off Home. See A product is missing from Products.

    More on Why Home is quiet.

    The numbers look different from yesterday, or the stamp is amber#

    New numbers arrive each morning, and the "Checked" stamp next to the page title says when this page's numbers were last brought up to date. When a number moves from one day to the next, it's usually the shelf that moved. When something is late, the app says so:

    • An amber stamp, such as "Checked 28 Sep 06:10": a check was missed, and the numbers are from the last one that finished.
    • A chain named in the stamp, such as "New World as of 11 Oct": that chain is behind the others, and its numbers are as of that day.
    • (provisional) or dotted lines on a chart: the day was built late, so a change may show a day late.

    In stock is a share of the stores whose stock was read, so check the "of … stores read" line under it: a different number of stores read can move the share. If your plan's retailer groups changed, chains may have joined or left your pages. See Freshness.

    A product is missing from Products#

    • Its chain is outside your plan's retailer groups. The product stays on your list, but its numbers are left off Products, Home and Stores. Products shows a card such as "You're also at New World: add NZ supermarkets …", and the numbers show once that group is on your plan. The trial includes every group, so this often shows up when a trial becomes a plan. See Retailer groups.
    • It's no longer on any shelf. It stays on your list. Instead of a count, Ranged says "Gone since 12 Sep" (the last day we saw it) or Not on shelf, and the product page says "Last seen …".
    • The list is filtered. Check you're on All, not Yours or Rivals, and that the search box is empty.
    • You haven't added it. Click Add products and search for it. See Add products.

    I can't add more products, rivals, alerts or people#

    Your plan sets how many of your own products, rivals, alert rules and seats your team can have. At a limit, the app says how many your plan allows and names the plan that allows more, such as "… includes 25 alerts, and they're all set." Reaching a limit only stops you adding more: nothing you have is removed.

    • Products and rivals. Remove one you don't need, or choose a bigger plan. During the trial, you can watch more of your own products than the plan you'd pick covers, and a card says so. Separately, a list holds at most 600 products of any kind.
    • Alerts. Remove a rule on the Alerts page. The page shows how many are set, such as "3 of 25 set".
    • People. Every person and every open invitation uses a seat. Cancel an invitation nobody used, or remove someone with Remove from team. Solo has 1 seat, so it has none to spare.
    • Paused. While your account is Paused, the message is "Your trial has ended. Choose a plan to …" instead. See My account says Paused.

    The limits for every plan are on Plans and limits.

    Your team#

    An invitation didn't arrive#

    1. Ask them to check spam and junk. The email comes from Cannonball <login@cannonballdata.com>, with the subject "Join … on Cannonball", or "… shared … with you" if you sent them a product. A reply to it comes to you.
    2. In Settings, under Team, check they show as Invited.
    3. To resend, invite the same address again. It sends a new link, good for another 14 days.

    If the app said "The invitation to … is open, but its email didn't send. Try again in a moment.", invite them again in a minute.

    If every seat is taken, the invitation isn't made, and the message says so, such as "… has 3 seats, and they're taken." Open invitations hold seats too, so cancel any that weren't used. While your account is Paused, you can't invite anyone.

    When they click the link:

    • "This invitation has lapsed": invitations last 14 days. Invite them again.
    • "This invitation isn't open any more": it was cancelled. Invite them again.
    • "This invitation is for another address": they're signed in as someone else. They sign out, then sign in with the address you invited.

    See Team and roles.

    My request to join is still pending#

    After you click Ask to join, the page says "Asked. We've emailed its admins." Each owner and admin of that brand gets one email, and nobody joins until one of them approves it in Settings, under Team. We don't send them reminders, so if it's taking a while, ask one of them directly. They can also just invite you.

    When they approve, you get an email, "You're in: … on Cannonball". A declined request sends no email. An admin can't approve while every seat is taken, or while the brand's account is Paused. If you meant a different brand, click Set up a new one instead.

    My account says Paused#

    Paused means the 14-day trial ended without a plan. Nothing is deleted: your products, rivals, alert rules and team stay, and we keep watching your shelf.

    • Home shows counts only: how many stores are out of stock, how many rival promos started, how many ranging warnings.
    • Locked until your plan is paid: product detail, Products, store names, What changed, Ask and alerts. Alert rules wait and don't email. You can't add products, set alerts, invite people or approve requests to join.

    To reopen it, an owner or admin clicks Paused · Choose a plan in the header (it reads Paused on a phone) and chooses one. We email an invoice within one business day, and everything opens again once it's paid. A member sees who chooses the plan, and a button to nudge them by email, once a day. See Trial and Paused.

    Alerts#

    An alert didn't fire#

    • It fires when it crosses the line, then stays quiet. "Out of stock at 20+ stores" emails once when it reaches 20, not every day it stays there. Once it's back under, it can fire again.
    • Out of stock counts stores out for 2+ days. A store first out today isn't counted until it's been out two whole days.
    • "A promo starts" and "Dropped from" look at new changes only. A new rule reads the latest day, and after that, each day since it was last checked. A promo that started before you set the rule doesn't email.
    • It's checked when new data arrives, so the email comes the day the change shows in the app, not the moment it happens on the shelf. What fires overnight waits for the 7:00 email, and nothing is sent between 9 pm and 7 am.
    • A group rule in a state counts the stores there. "Any of your products, WA only" at 20+ stores fires on 20 WA stores, not 20 across Australia. A price cut counts a cut across the chain or a state, never at one store.
    • It waits while your account is Paused, and starts again from the latest day once your plan is paid. It won't email about a promo or a drop that happened while it waited, but an out-of-stock or price-below rule can fire straight away if it holds now.
    • It waits on a product at a chain outside your plan's retailer groups, until the group is on your plan.
    • It was removed. The person who set it, or an owner or admin, can remove it. Check the Alerts page.
    • It's someone else's. A rule emails only the person who set it. Set your own if you want to hear too. Someone who leaves the team stops getting emails.

    Alert emails come from Cannonball <login@cannonballdata.com>. Unsubscribing from trial emails doesn't stop them. See Alerts.

    Exports#

    The CSV option is missing#

    CSV export is on Brand and up. On other plans, the Export menu shows "CSV is on …" with a lock, naming the plan that has it. Product and store pages export a PDF only, on every plan. See Export.

    My PDF stops at 1,000 rows#

    A list prints the rows that are loaded, up to 1,000. Long lists load more rows as you scroll, so a PDF made before you scroll may hold fewer. When the printout has fewer rows than the list, it says "The first … of …; the CSV export has every one".

    1. For more rows on paper, scroll to the end of the list, then click Export, then PDF.
    2. For every row, use the CSV, on Brand and up.

    Stores#

    A postcode or store number isn't found#

    A territory. Under Territory (postcodes), enter four-digit postcodes and ranges, separated by commas, such as "2000-2234, 2500". Up to 20 ranges are read; anything that isn't a postcode or a range is left out. Australia and New Zealand both use four-digit postcodes (3010 is in Melbourne and in Rotorua), so the app reads them in your brand's country: New Zealand when every one of your products is at a New Zealand chain, and Australia otherwise. Choose a chain or region in the other country to read them there instead. The hint under the box says which country it's reading.

    Store numbers in My stores. With Add stores:

    1. Choose the chain first. Store numbers are the chain's own, so "Not Coles store numbers: …" lists numbers that aren't stores at the chain you chose.
    2. Paste the numbers. One Add takes 200. If you paste more, the rest stay in the box and the dialog says how many: click Add again.

    My stores holds up to 500 stores. Past that, the dialog says how many didn't fit. See My stores, territory and map.

    A past date is refused#

    You can only pick days that are inside both the data and your plan's history.

    • "Your plan shows history from …": the day is before your plan's history. Earlier days are kept and open on a plan with more history. Click See plans to compare.
    • "Data starts on …", or "There's no store list for …. Pick a day from … on.": the day is before we started reading that chain. A chain added later starts later, so one chain's list, or one product's, can start later than the rest.
    • On What changed, a From date that's too early starts on the first day it can, and says so.
    • On Stores, a Since the end of date that's too early counts from the first day.

    See History.

    Errors and search#

    A page says "This didn't load"#

    Something went wrong on our side. Click Try again: it fetches the page again. If it keeps happening, contact us and quote the "Reference" code under the message, if there is one, so we can find it.

    Search opened What changed with only some changes#

    A question in the search bar, such as "Coles promos in NSW this week", gets a one-line answer, and opening the answer opens What changed narrowed to the changes it counted. A line above the list says what it's narrowed to, such as "Promos for your rivals at Coles in NSW only."

    • Click Show every change to see every change between the same two days.
    • If it's narrowed to one product, click Show all your products.

    See Search and What changed.

    Was this page helpful?

    Updated 9 October 2026