One destination. Every placement, attributed.

A canonical parent link owns the destination and its social metadata. Sublinks carry the placement, the UTMs, and the numbers — clicks, identified users, conversions, revenue.

NewAgent API tokens
Open LinkQuickRead the docs30-day first-party last-touch attribution
linkquick.app/orgs/acme/links
Last 30 days
Clicks9,094
Identified1,298
Conversions105
Revenue$5,040
lq.to/pricingparent4 sublinks
→ https://acme.com/pricing
SublinkPlacementClicksUsersConv.Revenue
lq.to/pricing-ytYouTube · pinned comment4,18261248$2,304
lq.to/pricing-xX · launch thread2,94030119$912
lq.to/pricing-nlNewsletter · issue 421,26828831$1,488
lq.to/pricing-agentAgent · weekly digest704977$336
Works through
DashboardREST APIAgent tokensFirst-party SDKCSV importDub importCustom domains

Short links are the easy part. The hard part is knowing which placement produced the customer — LinkQuick keeps the destination, the placement and the revenue in the same record, on infrastructure you own.

FIG 0.1

One canonical parent

The destination, title, description and preview image live on the parent link. Change them once and every sublink follows.

FIG 0.2

A sublink per placement

Each video, post, campaign or automated workflow gets its own slug and UTM set, still grouped under the same parent.

FIG 0.3

Measured past the click

The click identifier reaches your app, the first-party SDK keeps it for 30 days, and conversions come back to the sublink that earned them.

new parent link
Social preview
Acme pricing — plans for every team
Inherited by 4 sublinks
01Links

Create the destination once

The parent link holds the destination, the title, the description and the preview image. Every sublink underneath inherits them, so a change to the landing page is one edit, not forty.

  • Canonical destination and social metadata in one record
  • Custom short domains provisioned through Vercel
  • Indexed redirects built to stay fast under load
The link model
sublink · youtube
→ acme.com/pricing?utm_source=youtube&utm_medium=video
02Placements

A sublink for every surface

Give each video, post, campaign or automated workflow its own slug and UTM set. The variants stay grouped under the parent instead of scattering across a flat list of shortlinks.

  • Per-placement slug, context and UTM parameters
  • Grouped under the parent, comparable side by side
  • Created by hand or by an agent, same shape either way
Create a sublink
attribution · last-touch, 30 days
09:41:02clicklq.to/pricing-yt
09:41:04redirectacme.com/pricing
09:43:18identifyuser_8f21
10:02:55conversionplan_pro
10:02:55revenue$48.00
03Attribution

Follow the click all the way to revenue

The click identifier travels to your app, where the first-party SDK keeps it for a 30-day last-touch window. Identify a user, send a conversion, send the amount — and the sublink that earned it gets the credit.

  • First-party, no third-party cookie involved
  • Identify, conversion and revenue events via SDK or server API
  • Customer events tied back to the originating sublink
How attribution works
analytics · revenue by sublink
30d
YouTube · pinned comment$2,304
Newsletter · issue 42$1,488
X · launch thread$912
Agent · weekly digest$336
04Analytics

Compare placements on the number that counts

Clicks, identified users, conversions, conversion rate and revenue — at parent level for the campaign, at sublink level for the placement. Daily aggregates keep the reads bounded and the bill predictable.

  • Parent and sublink views of the same funnel
  • Incremental daily aggregates, bounded retention
  • Built for around 50,000 clicks a month without surprises
Analytics API
POST /api/v1/links
curl -X POST https://linkquick.app/api/v1/links \
  -H "Authorization: Bearer lq_org_••••" \
  -d '{
    "parentId": "lnk_pricing",
    "slug": "pricing-yt",
    "placement": "youtube",
    "utm": { "source": "youtube", "medium": "video" }
  }'

{ "url": "https://lq.to/pricing-yt", "clicks": 0 }
05Agents

Every operation is also an API call

Internal agents get revocable, organization-scoped tokens and the same operations the dashboard uses. Create links, read the numbers, retire a placement — without a human clicking through a UI.

  • Revocable organization API tokens
  • REST endpoints for links, domains, analytics and events
  • No MCP required — plain HTTP is the interface
Agent API reference
import · dub-export.csv (preview)
lq.to/pricingcreate
lq.to/pricing-ytcreate
lq.to/changelogunchanged
row 148 · missing destinationrejected
312 created · 41 unchanged · 3 rejectedhistorical clicks kept as a separate snapshot
06Migration

Move off Dub without inventing history

Preview the import before it runs, see exactly which rows are rejected and why, and keep historical totals as a separate snapshot instead of pretending they were clicks LinkQuick measured.

  • Idempotent CSV and Dub imports
  • Rejected rows reported, never silently dropped
  • Historical aggregates stored apart from live tracking
Import your links
FAQ

The questions people actually ask

Read the documentation
What is LinkQuick?

LinkQuick is an internal URL shortener and attribution platform. It groups contextual sublinks under a canonical parent and connects each placement to clicks, users, conversions and revenue.

Why parent links and sublinks instead of a flat list?

The parent owns the destination and the social metadata. Each sublink inherits those values while keeping its own slug, placement context and UTM parameters, so variants stay grouped and comparable instead of drifting apart.

How does attribution work?

A click identifier reaches the destination, where the first-party SDK keeps it for a 30-day last-touch window. Identify, conversion and revenue events sent afterwards are connected back to the originating sublink.

Can internal agents manage links?

Yes. LinkQuick exposes authenticated operations through revocable organization API tokens. Plain HTTP is the interface — no MCP is required for the MVP.

Can existing links be imported?

Yes. Imports accept a normalized CSV and there is a dedicated Dub adapter. Previews and idempotency safeguards make rejected or incomplete rows explicit, and historical totals stay in a separate aggregate snapshot.

Is LinkQuick a public SaaS?

No. LinkQuick is internal business infrastructure for the owner, authorized organization members, internal agents and connected destination applications.

Point a domain, ship the first sublink.

Import what you already have, hand your agents a token, and start reading revenue per placement instead of clicks per link.