The link layer for every campaign

Public URL turns short links into a routing, attribution, and analytics graph for branded domains, UTM campaigns, smart redirects, deep links, and conversion events.

Free forever · No sign-up needed · One link per device · Press / to paste

  • Workspace scoped
  • Edge redirect ready
  • Attribution aware
Edge redirects <50msUptime target 99.95%Analytics fresh <5sConversion eventsUTM templatesCustom domainsGeo & device routingSigned webhooksQR codesSAML SSO

One link layer, every campaign surface.

Pick a surface to see what ships with it — every capability lives on the same workspace record.

Branded short links your team owns.

Custom domains, slugs, QR codes, folders, and tags — under one workspace.

  • One-click DNS verification for custom domains.
  • Folders, tags, expiration, and password protection.
  • QR codes generated from the same link record — print or screen.

Built for the teams that ship every week.

Marketing, product, engineering, and agencies run on the same link infrastructure without rebuilding their workflows.

Real-time analytics

Clicks, CTR, geo, device, and conversion events update in under five seconds — funnels and cohorts included.

<0s

Analytics freshness

Scales with your traffic

Multi-region edge cache, hot OLTP, and cold analytics tier — every click flows through the right surface at the right cost.

Edge cache
OLTP
ClickHouse

Connect every channel

Web, mobile, QR, ads, and webhooks — every touchpoint becomes a queryable edge in the same workspace graph.

ClicksDomainsUTMDevicesSessionsEvents

Built for low-latency apps

Global anycast edge means sub-50ms redirects for users anywhere — no cold-start, no regional drift.

<50ms

Edge redirect

Short links are not enough.

A shortener shortens a URL. Public URL keeps every destination, campaign, domain, dashboard, and conversion event connected so teams can answer why a click happened and what it produced.

Branded domains, smart targeting, attribution, and analytics on one workspace graph.

Workspace-scoped, audit-ready, edge-fast, real-time recall.

Without a link layer

With Public URL

Clicks disappear into separate dashboards
Clicks, campaigns, domains, and conversions share one workspace graph
UTM rules live in spreadsheets and memory
Reusable UTM templates and duplicate checks keep campaigns clean
Mobile deep links are one-off edge cases
iOS, Android, web fallback, and QR routing use one link record
Reports require manual screenshots and exports
Scheduled reports and shared dashboards are built into the workflow

Throughput stays flat under load

  • Most shorteners spike past 200ms once traffic crosses a few hundred RPS.
  • Edge-cached routes serve from the region closest to the visitor — no cold-start.
  • Click events publish asynchronously, so analytics never block the redirect path.

Median redirect latency vs requests / sec

300240180120601001K5K20K50K50ms280ms310ms
Public URLGeneric shortenerDIY redirect

API primitives for the whole link lifecycle.

  1. Incoming click request
  2. Domain + slug resolution
  3. Edge route cache (Redis)
  4. Targeting rules — geo | device | language | time
  5. Destination selection (web / iOS / Android / fallback)
  6. 302 / 307 redirect to visitor
  7. Async click event publish (Kafka)
  8. Analytics ingest (ClickHouse) + webhooks

One API for links, domains, and analytics.

Create links, attach campaign metadata, verify domains, publish webhooks, and query analytics from the same workspace-scoped API.

  • REST API for links, domains, campaigns, reports, and analytics
  • Webhook delivery for click, conversion, link, and report events
  • Workspace-scoped API keys with bearer auth and SSO controls
Read the API docs →
public-url.example
import { PublicURL } from "@public-url/sdk"

const client = new PublicURL({ apiKey, workspaceId })

const link = await client.links.create({
  domain: "go.acme.com",
  slug: "spring-launch",
  destination: "https://acme.com/pricing",
  campaign: "spring-2026",
})

// https://purl.ink/spring-launch
console.log(link.analyticsUrl)

Live health checks for the Public Url control plane.

The landing page tracks every service liveness and dependency readiness probe through the web status API.

Open status page

Checking

Waiting for first probe

Operational

0

Degraded

0

Outage

0

Polling every 15 seconds

Pricing

Start free with 10 links and 500 monthly clicks. Upgrade to Pro for unlimited links, custom domains, UTM templates, and the full developer stack.

MonthlyAnnualSave 20%

Frequently asked questions

Public URL is a link intelligence platform that turns short links into a routing, attribution, and analytics graph for branded domains, UTM campaigns, smart redirects, deep links, and conversion events.

Shorteners shorten links. Public URL keeps every destination, campaign, domain, dashboard, and conversion event connected so teams can answer why a click happened and what it produced.

No. Public URL is designed to sit alongside your existing tools — point any link, webhook, or SDK at it and it starts enriching your data on day one.

Most teams create their first link in minutes. Full SDK and webhook setup typically takes under a day, with dedicated onboarding help available on the Enterprise plan.

Public URL runs on workspace-scoped access, audit logs, and SSO, and follows SOC 2-aligned controls. A formal SOC 2 Type II report is on our roadmap; a DPA and GDPR support are available on the Business and Enterprise plans.

Build the link layer your campaigns need.

Create branded links, route every visitor to the right destination, and keep attribution connected from click to conversion.