Building a creator tracking system for an agency
by CIA updated 21/09/2026 3 min read
Also available in: Tiếng Việt
An agency tracking many creators for many clients outgrows a spreadsheet fast. The minimum structure needs four tables and one update rule. This is a design, not a line-by-line tutorial.
Four tables
Table 1 — channels. One row per creator: channel ID, platform, niche, which client cares about them. You fill this yourself; it does not come from the API.
Table 2 — snapshots. One row per measurement per channel: channel ID, measurement date, median views, engagement rate by views, follower count, number of posts in the 45 videos, date of the oldest video.
That last column matters: it tells you how long the 45 videos span, and two channels only compare when the spans are similar. See posting frequency.
Table 3 — runs. One row per API call: channel ID, tool, date, the Idempotency-Key used,
credits charged. This table reconciles cost and stops duplicate calls.
Table 4 — campaigns. One row per booked post: channel, client, post date, views, interactions, unique discount code. This is the only table that connects public data to revenue.
The update rule
One snapshot per channel per month. Enough for a trend line, not too expensive. For channels in an active campaign, measure before and after.
The Idempotency-Key contains the channel ID and the period. For example a hash of "channel
123, 09/2026". Within the month the key is the same, so a retry is not charged twice; next month
the key changes. See what Idempotency-Key does.
Never overwrite an old snapshot. The value of the system is its history.
Cost and how to control it
| Tool | Price | Use when |
|---|---|---|
| Channel report | 5 credits | monthly snapshot, every channel |
| Audience analysis | 12 credits | only before confirming a booking |
| Comments analysis | 12 credits | after each booked post |
| Multi-platform report | 20 credits | only when a client asks about other platforms |
For 50 channels, a monthly snapshot is 250 credits. That is a predictable number, and that is the point of scheduling only the channel report and running the more expensive tools on demand.
Set a limit in your code: maximum runs per day. Automation makes fetching easy, and easy means expensive.
What this system does not do
It does not connect views to revenue unless you have a unique discount code in table 4. It does not store creator contact details — the API returns no email addresses or phone numbers, and that is a hard boundary.
And it does not replace watching by eye: edit quality, tone, how they answer comments are things no column measures.
Frequently asked questions
Is there a database template? No. The four tables above are the structure; data types and technology are your choice.
Monthly or weekly measurement? Monthly for the general list; weekly only for channels in an active campaign.
Is the data official analytics? No. It is an estimate from public data the platform displays.
More on this topic: Data & API