Sales tracking
Tickong notices when one of your SkyBox listings sells by comparing your active inventory between ticks. There’s no webhook, no per-listing polling, no scraping — it’s a simple before/after diff.
How it works
Section titled “How it works”Every tick, after Tickong has finished checking your inbox:
- Tickong asks SkyBox for your current active (
AVAILABLE) inventory. - It compares that to the snapshot it took on the previous tick.
- Anything that disappeared is recorded as a sale, using the snapshot row’s cost, list price, and event details.
- The current state replaces the snapshot for the next tick.
snapshot at last tick SkyBox now (this tick) ┌──────────┐ ┌──────────┐ │ inv 1001 │ ─┐ │ inv 1001 │ │ inv 1002 │ │ diff │ inv 1003 │ │ inv 1003 │ │ ─────▶ "1002 sold" └──────────┘ │ │ → snapshot for next tick = {1001, 1003}First run
Section titled “First run”The very first tick after you enable SkyBox is a baseline only — no sales are recorded. Real detection starts on the second tick.
If you don’t want to wait two minutes for the first scan, click Scan now in the Sales tab.
Why a snapshot diff and not SkyBox’s SOLD filter?
Section titled “Why a snapshot diff and not SkyBox’s SOLD filter?”SkyBox’s SOLD listing endpoint truncates to recent unarchived rows and is unreliable for long histories. The diff approach gives exact “between tick N and tick N+1, this listing disappeared” semantics with no API limits.
Manual delistings produce false positives
Section titled “Manual delistings produce false positives”If you manually delete a listing from the SkyBox UI (you decided to keep the tickets, or you’re moving them to another marketplace), Tickong will record a sale anyway — there’s no way to tell “sold” apart from “manually removed” via the SkyBox API.
This is intentional: missing real sales is worse than a few stray rows. Delete the false positive from the Sales log if it bothers you.
Notification when a sale is detected
Section titled “Notification when a sale is detected”Plug in a Discord, Slack, or generic webhook URL in Settings → Sale notifications and you’ll get pinged the instant a sale is detected. Tickong auto-detects the destination and shapes the payload accordingly:
- Discord → styled embed with profit-coloured stripe, event title, seat block, cost/list/profit field.
- Slack → header + 6-cell summary grid.
- Anything else → generic JSON payload.
The webhook fires after the sale is durably committed to your workspace, so receiving the notification means the sale is in your Sales tab.
There’s a Test webhook button in Settings that fires a sample sale at your URL and reports back the receiver’s response.
What gets stored per sale
Section titled “What gets stored per sale”| Column | What it is |
|---|---|
| Inventory ID | The SkyBox listing ID that disappeared |
| Sold at | When Tickong noticed (typically within one tick of the actual sale) |
| Event / date / venue / city / state | From the snapshot |
| Section / row / quantity | From the snapshot |
| Cost | Per-seat cost you paid (from the snapshot) |
| List price | The SkyBox list price at the time of disappearance |
| Platform | If Tickong saw the original purchase email, the platform name |
| Notion page | Link back to the Notion row, if Tickong saw the original purchase |
Backfilled sales (from the Backfill from SkyBox button) use SkyBox’s lastUpdate field as a more accurate proxy for the actual sale time. SkyBox doesn’t expose a true sale timestamp, but lastUpdate reflects the last server-side modification — which approximates when the sale was finalised.
The Sales tab
Section titled “The Sales tab”The dashboard’s Sales tab visualises everything Tickong has recorded:
- Stat row — total sales, realised profit, average margin, sell-through.
- Leaderboard — top events by Revenue / Profit / Margin / Volume / City.
- Sales log — filterable, paginated table of every sale.
Two utility buttons:
- Backfill from SkyBox — pulls your full historical sold inventory from SkyBox (5 years back to 5 years forward). Idempotent — existing rows are kept.
- Scan now — runs the diff immediately. Use after first enabling SkyBox to set the baseline without waiting two minutes.
Profit math
Section titled “Profit math”profit per sale = (list price − cost) × quantityIf the listing was created as a $9999 placeholder (because pricing was disabled and your default was $0), the profit math will be very wrong until you adjust it.
Roll-up across all sales:
avg margin % = (Σ revenue − Σ cost) / Σ cost × 100sell-through % = sales / (sales + active inventory) × 100Sell-through is a coarse proxy — accurate sell-through requires matching listings to events and accounting for time on market, which Tickong doesn’t currently model.