Links & Attribution Schema
The discipline behind every shared link.
What it stores
The discipline behind every shared link. A controlled vocabulary keeps campaign tags consistent so attribution never drifts, and a curated set of links is surfaced on the link-in-bio page. The short links themselves run on a separate, purpose-built shortener.
Owned by the Links agent. Lives in the Internal Tools + Public Pages databases.
The tables
Friendly names first, with the real table name underneath. Key fields only.
UTM Vocabularyutm_contexts
A controlled vocabulary of campaign tag values, so every link is tagged the same way — no data drift.
| Column | Type |
|---|---|
context_keyWhat's being tagged | Text |
context_typechannel, surface, or campaign | Choice |
utm_fieldsource, medium, content, campaign, term | Choice |
utm_valueThe standardised value | Text |
statusactive, deprecated, draft | Choice |
Bio Content Linksbio_content_links
A near-real-time mirror of bio-eligible social posts, surfaced in the link-in-bio site's Content Links.
| Column | Type |
|---|---|
channelthe three channels | Choice |
topic | Text |
refsThe links shown | List |
bio_visible | Yes/no |
synced_atRefreshed every few minutes | Date & time |
You don't need all of this to start
Most of what these agents rely on has a simpler equivalent. Anywhere we use a database, you can usually start with a spreadsheet or a document — whatever you're comfortable with. Anywhere we built a custom MCP server, you can reach for a prebuilt AI connector instead of building your own.
We go further because it's where our experience pays off. Years of hands-on database work make a custom data layer feasible for us, and purpose-built MCP servers let us hand each agent a short, sharp instruction file and exactly the tools it needs — custom descriptions, only the endpoints we want, and the occasional extra gate — instead of a long manifesto or playbook. Nothing more, nothing less.
Ready to build technology that works for your mission?
Tell us where your organisation is and what's slowing your team down. We respond personally.