Skip to content

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.

Every tick, after Tickong has finished checking your inbox:

  1. Tickong asks SkyBox for your current active (AVAILABLE) inventory.
  2. It compares that to the snapshot it took on the previous tick.
  3. Anything that disappeared is recorded as a sale, using the snapshot row’s cost, list price, and event details.
  4. 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}

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.

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.

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.

ColumnWhat it is
Inventory IDThe SkyBox listing ID that disappeared
Sold atWhen Tickong noticed (typically within one tick of the actual sale)
Event / date / venue / city / stateFrom the snapshot
Section / row / quantityFrom the snapshot
CostPer-seat cost you paid (from the snapshot)
List priceThe SkyBox list price at the time of disappearance
PlatformIf Tickong saw the original purchase email, the platform name
Notion pageLink 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 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 per sale = (list price − cost) × quantity

If 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 × 100
sell-through % = sales / (sales + active inventory) × 100

Sell-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.