# Linkbreakers Help Center: full text
> The complete text of every help article. The curated index is at https://linkbreakers.com/llms.txt.
---
# Introducing credit-based QR code creation
Source: https://linkbreakers.com/help/article/introducing-credit-based-qr-code-creation
## What changed
We've moved from fixed QR code limits to a **credit-based system**. Instead of a hard cap on how many QR codes you can create each month, every QR code now costs platform credits. This gives you full control over how you spend your monthly budget.
Previously, each plan had a strict QR code limit. For example, the free plan allowed only two QR codes in total. Now, your monthly credits are a shared pool you can use across QR codes, AI features, and more.
## Why we made this change
The old system was rigid. If you hit your QR code limit, you were stuck — even if you had no use for other features included in your plan. The credit-based model lets you decide what matters most to your business.
It also opens the door for new features like AI-powered assistance, which will share the same credit pool. One currency, many uses.
## What this means for each plan
| Plan | Monthly credits | What you can do |
| --- | --- | --- |
| Free | 5,000 | Create a few QR codes and try out platform features |
| Light | 30,000 | Run small campaigns with room for multiple QR codes and integrations |
| Pro | 250,000 | Power full-scale campaigns across hundreds of QR codes and advanced features |
| Enterprise | Unlimited | No limits — everything is included |
Each QR code costs a set amount of credits. The exact cost may evolve over time as we add new features and refine the balance, but the principle stays the same: **you choose how to spend your credits**.
## Top-up credits when you need them
If you run out of credits before the month resets, you can purchase additional credits directly from your workspace settings. Top-up credits never expire — they stay in your account until you use them, even across billing cycles.
This is perfect for seasonal spikes or one-off campaigns where you need a little extra without committing to a higher plan.
## Upgrading is always the better deal
Top-up credits are priced for convenience, not volume. If you find yourself topping up regularly, upgrading to the next plan gives you significantly more credits for less money. The platform will suggest this when it makes sense.
## What happens to existing QR codes
Nothing changes for QR codes you've already created. They continue to work exactly as before. The credit system only applies to **new** QR code creation going forward.
## Questions?
If you have questions about how credits work or need help understanding your usage, reach out to our support team. We're happy to help you find the right plan for your needs.
---
# Dark mode is here
Source: https://linkbreakers.com/help/article/dark-mode-is-here
## Short answer
We just rolled out a full dark mode for the platform. You can switch between light and dark themes whenever you want, and your preference is saved across sessions.
## What we shipped
The entire Linkbreakers platform now supports **dark mode**. Every screen, every component, every detail has been designed to look great in both light and dark themes. You can toggle between them at any time from your dashboard.
Your preference is saved automatically, so the platform remembers your choice the next time you log in.
## Why dark mode matters
Dark mode isn't just about aesthetics. It reduces eye strain during long sessions, saves battery on OLED screens, and is simply what many of you have been asking for. Whether you're managing QR campaigns late at night or reviewing analytics first thing in the morning, you now have the option that works best for you.
## How to switch
You'll find the theme toggle in the top navigation bar of your dashboard. One click switches between light and dark mode instantly. No page reload, no settings page to dig through.
If you haven't set a preference yet, the platform defaults to light mode.
## Designed, not just inverted
We didn't just slap an `invert()` filter on everything and call it a day. Every color, contrast ratio, and visual element has been carefully tuned for dark mode. Charts are readable, text is crisp, and interactive elements remain clearly visible against dark backgrounds.
## Questions?
If you notice any visual glitches in dark mode or have feedback on the design, reach out to our support team. We're always looking to improve.
---
# Weekly and monthly email digests
Source: https://linkbreakers.com/help/article/weekly-and-monthly-email-digests
## Short answer
Linkbreakers now sends email digests that summarize your workspace traffic over the past week or month. You choose the frequency in your workspace settings, and we send you the numbers so you don't have to check the dashboard every day.
## What we shipped
Every workspace can now opt into a **weekly** or **monthly** email digest. The digest lands in your inbox with a summary of what happened across your links and QR codes during the period.
Each digest includes:
- **Total visits** for the period, with a percentage change compared to the previous period
- **Top country** by traffic volume
- **Number of cities reached**, with the change since last period
- **A daily visits chart** showing traffic distribution across the period
- **Your top performing link** and how many visits it received
At the bottom of each email there's a link to your full analytics dashboard if you want to dig deeper.
## How to configure it
Head to [Workspace Settings](https://app.linkbreakers.com/workspace/dashboard/settings) and look for the **Email digest** section. You'll see three options:
- **None** — no digest emails (default for existing workspaces)
- **Weekly** — sent every Monday, covering the previous 7 days
- **Monthly** — sent on the 1st of each month, covering the previous month
Pick the one that fits your workflow and save. Your preference applies to the entire workspace.
## Why this matters
Not everyone has time to check dashboards daily. Digests give you a regular pulse on how your campaigns are performing without any effort. If something spikes or drops, you'll see it in the email and can investigate from there.
Weekly works well if you're actively running campaigns and want to stay close to the data. Monthly is better for longer-term tracking where you just want to confirm things are on track.
## Questions?
If you have feedback on the digest format or want to see additional data included, reach out to our support team. We're iterating on this and your input helps shape what comes next.
---
# Google Forms integration: automatic response sync
Source: https://linkbreakers.com/help/article/google-forms-native-integration
## Short answer
If you use Google Forms as a redirect destination for your QR codes, Linkbreakers can now sync form responses back to your visitors automatically. Connect your Google account, and every form response gets matched to the person who scanned the QR code.
## What we shipped
A native Google Forms integration that works without any manual configuration. Here's how it works:
1. You connect your Google account on the [integrations page](https://app.linkbreakers.com/workspace/dashboard/integrations/google-forms).
2. Linkbreakers detects which of your links redirect to a Google Form.
3. Every 5 minutes, new form responses are fetched and matched to the visitor who scanned the QR code.
4. Visitor profiles are enriched with the form data — email, phone, name, and any custom fields.
That's it. No form selection, no field mapping, no tracking codes to set up.
## How the matching works
When someone scans your QR code and fills out the Google Form, Linkbreakers knows the scan timestamp and the form URL. When a new response comes in, it matches it to the most recent scan event for that same form within a time window. The visitor who scanned the code gets their profile enriched with whatever they submitted in the form.
Fields are auto-mapped by question title. A question called "Email" maps to the visitor's email. "Phone" maps to phone. "Name" maps to first name. Everything else is stored as a custom attribute on the visitor.
## What you see in the dashboard
On the Google Forms integration page, you'll see:
- **Detected Forms** — a list of your links that redirect to Google Forms, with a status indicator showing whether the form is accessible with your connected account.
- **Sync Stats** — how many responses have been synced and how many visitors were enriched.
- **Sync Now** — a button to trigger an immediate sync instead of waiting for the next 5-minute cycle.
When creating or editing a link, if you enter a Google Forms URL as the destination, a callout confirms that responses will sync automatically — or prompts you to activate the integration if you haven't connected yet.
## Requirements
- A Google account that owns or has editor access to the forms you're using.
- Conversion tracking enabled on the redirect step (so Linkbreakers can track the scan-to-form journey).
- The Google Forms API and Google Drive API enabled in the Linkbreakers Google Cloud project (this is already done — no action needed from you).
## What's next
We're monitoring how the integration performs and plan to add real-time sync via Google's push notification API in a future update. For now, responses are synced every 5 minutes.
## Questions?
If you have questions or run into issues with the Google Forms integration, reach out to our support team. We're happy to help you get set up.
---
# AI-powered analytics dashboard
Source: https://linkbreakers.com/help/article/ai-powered-analytics-dashboard
## Short answer
You can now customize your analytics dashboard by talking to the Linkbreakers assistant. Click "Edit Dashboard" to open the AI panel, describe what you want to see, and your dashboard updates in real time.
## What we shipped
The analytics dashboard now includes a built-in AI assistant that understands your data and can build the perfect dashboard for you.
### What you can do
- **Add widgets** — "Show me events over time" or "Add a geo breakdown of my scans"
- **Customize visualizations** — "Change the chart type to a bar chart" or "Use a stacked area chart for device breakdown"
- **Remove and rearrange** — "Remove the visitor trends widget" or "I only want to see the top links"
- **Ask questions** — "What data sources are available?" or "Can you show traffic by country?"
### How it works
1. Open your analytics dashboard
2. Click the **Edit Dashboard** button (blocks icon)
3. Describe the widgets you want in plain language
4. Your dashboard updates live as the AI creates and configures widgets
The AI knows all available data sources — events over time, geo breakdown, device distribution, visitor trends, top performing links, hour-of-day patterns, and workspace metrics. It picks the right chart type, colors, and field mappings automatically.
### Available data sources
- Events over time (line, area, bar charts)
- Geographic breakdown by country or city
- Device type distribution (desktop, mobile, tablet)
- Visitor trends (new vs returning)
- Hour-of-day scan patterns
- Top performing links
- Grouped time series (split by country, device, browser, etc.)
- Workspace and event metrics
### Conversation history
Your conversation with the AI is saved per dashboard. Close and reopen the panel — your previous messages and context are preserved.
## Frequently asked questions
### Does this use platform credits?
Yes, each AI interaction uses a small number of platform credits. The cost is capped per exchange to keep it predictable.
### Can I still edit widgets manually?
Absolutely. The AI and manual editing work side by side. You can use the AI to set up your dashboard quickly, then fine-tune individual widgets manually if needed.
### What model powers the assistant?
The analytics assistant uses GPT-4o for fast, accurate widget management with low latency.
---
# Build with AI: design workflows, QR codes, and page themes through conversation
Source: https://linkbreakers.com/help/article/build-with-ai-workflows-qr-codes-and-themes
## Short answer
Every editor in Linkbreakers — workflow builder, QR code designer, and page theme editor — now has a "Build with AI" button. Click it, describe what you want, and the assistant builds it for you. Create forms, set up conditions, design QR codes, and apply color themes entirely through conversation.
:::try-ai-prompt {"prompt":"Build a lead capture flow with a form that collects email and full name, then redirects to my website. Apply a clean blue theme.","description":"This prompt creates a complete lead capture workflow in one shot — form, redirect, and styling."}:::
## What we shipped
We've embedded an AI assistant across the three main creative tools in Linkbreakers. Each tool has its own context, conversation history, and specialized capabilities.
### Workflow builder
Open any link's workflow and click **Build with AI** to start a conversation. You can:
- **Create steps** — "Add a form with email and full name before the redirect"
- **Set up conditions** — "Route mobile users to a different page than desktop"
- **Wire the flow** — The AI automatically connects new steps into the graph
- **Update settings** — "Change the redirect URL to google.fr"
- **Apply themes** — "Make the form pages pink"
The AI understands the full workflow context — it knows which steps exist, how they're connected, and what changes make sense. When your request is ambiguous, it presents interactive choices so you can pick.
[Learn more about the AI workflow builder](https://linkbreakers.com/help/article/how-to-use-the-ai-workflow-builder)
### QR code designer
The QR code designer AI is tuned for creativity. Ask for a style and it makes bold design choices:
- **Creative requests** — "Make it look modern and colorful" or "Design something elegant in gold"
- **Specific changes** — "Use rounded dots with a blue gradient" or "Change the corners to hexagons"
- **Browse templates** — "Show me community QR code designs" and pick one to apply
- **Iterate** — "Try something completely different" and it reimagines the design
The AI picks dot styles, corner patterns, colors, gradients, and shapes that work well together — so you get a complete design in one shot instead of tweaking individual settings.
### Page theme editor
Control the visual appearance of all your interaction pages (forms, password gates, contact cards) through conversation:
- **Color themes** — "Apply a dark theme" or "Use ocean blue colors"
- **Specific styling** — "Make the buttons green and the background white"
- **Presets** — Ask for common styles and the AI applies them
Theme changes affect all visible interaction pages on the link. The AI asks for confirmation before applying, so you're always in control.
## How each tool differs
| Tool | Context | AI behavior |
|------|---------|-------------|
| Workflow builder | Full workflow with all tools | Precise, follows instructions exactly |
| QR code designer | QR design only | Creative, makes bold choices |
| Page theme editor | Theme only | Careful, confirms before applying |
Each tool has its own conversation history — your QR design conversation is separate from your workflow conversation.
## Prompt examples
### Quick wins
- "Add a password gate before the redirect"
- "Make the QR code look like neon on dark background"
- "Apply a clean white theme"
### Complex requests
- "Build a lead capture flow: form with email and name, then redirect to our thank-you page, with a pink theme"
- "Set up country routing — US visitors see a form, EU visitors get redirected, everyone else goes to the blog"
### Iterative design
- "Make the QR code look modern" → "Make it more colorful" → "Try a circular shape instead"
[See more prompt examples](https://linkbreakers.com/help/article/ai-prompt-examples-for-workflow-building)
## Frequently asked questions
### Is Build with AI available on all plans?
Yes, all paid plans include Build with AI. Each interaction uses platform credits.
### Can I undo what the AI did?
In the workflow builder, changes appear on the canvas in real time — you can undo/redo with the toolbar buttons. In the QR designer, you can undo or ask the AI to try something different. Theme changes require confirmation before applying.
### Does the AI have access to my data?
The AI sees the current state of the resource you're editing (workflow steps, QR design settings, or theme configuration). It does not access your analytics, visitor data, or other links.
---
# Per-link analytics dashboards
Source: https://linkbreakers.com/help/article/per-link-analytics-dashboards
## Short answer
Analytics dashboards are no longer one-per-workspace. Any link can now have its own dashboard, scoped to that link alone. Open a link's workflow, click **Analytics**, and the assistant reads the workflow steps and proposes what's worth measuring before building anything.
## What we shipped
Until now a workspace had a single analytics dashboard covering everything, with an optional QR code filter on top. That works for a broad overview, but it makes answering "how is this specific campaign doing?" a manual filtering exercise every time.
### Dashboards that belong to a link
A dashboard can now be attached to a single link. When it is:
- Every widget on it is filtered to that link automatically, there is no filter to set and no way to accidentally read someone else's numbers into it.
- It gets its own page at the link, reachable in one click from the workflow editor.
- It shows up in the dashboard switcher on the Insights page alongside your workspace-wide dashboard.
Your existing workspace dashboard is untouched and keeps working exactly as before.
### The assistant proposes before it builds
The interesting part is what happens when a link has no dashboard yet. Click **Analytics** in the workflow editor and you are offered to build one with AI. The assistant then:
1. Reads the link and its workflow steps.
2. Suggests concrete widgets tied to what it actually found, a form step becomes submissions over time, a multi-link page becomes which link gets clicked most, a condition step becomes how traffic splits across branches.
3. Discusses the list with you. You add, drop, and refine.
4. Only creates the dashboard once you have agreed on what goes on it.
Nothing is created behind your back. When the dashboard is ready, the assistant offers a button straight to it.
### After the first time
Once a link has a dashboard, the **Analytics** button stops asking and simply opens it.
## Frequently asked questions
### Does this change my existing dashboard?
No. Your workspace-wide dashboard keeps all its widgets and behaviour. Per-link dashboards are additional.
### How many dashboards can a link have?
One. The **Analytics** button either opens the link's dashboard or offers to build it, there is never an ambiguous list to choose from.
### Can I still filter the workspace dashboard by link?
Yes. The QR code filter on the Insights page is unchanged for the workspace-wide dashboard. It is hidden on link dashboards, which are already scoped.
### What happens to a link's dashboard if I delete the link?
It is deleted with the link. A dashboard reporting on a link that no longer exists has nothing to show.
### Can I edit a link dashboard after it's built?
Yes. Open it and use **Edit Dashboard** to talk to the assistant the same way you would on the workspace dashboard, add, remove, or rearrange widgets.
---
# The Assistant section, and a clear button for every conversation
Source: https://linkbreakers.com/help/article/the-assistant-section
## Short answer
**Assistant** is now the first item in the dashboard menu. It opens a conversation with the assistant that is not attached to any one link or dashboard and has the full set of capabilities behind it, with the menu still on screen. Separately, every assistant in the app now has a button to clear its conversation.
## What we shipped
### An assistant with nothing preselected
Until now every assistant was opened from the thing it worked on, and could only touch that thing. That is what made each of them predictable, and also what made them awkward for anything that crossed a boundary: styling three links meant three conversations.
The Assistant section drops the boundary. It is one conversation, per workspace, with links, workflows, page themes, QR code designs, analytics, visitors, and visitor journeys all available. Because nothing is preselected, the assistant's first job is usually to work out what you mean:
1. You name a link the way you think of it, "the menu QR".
2. The assistant searches your links for it.
3. One clear match, it uses it and says which one, so a wrong guess is easy to correct.
4. Several matches, it shows you the candidates and lets you pick.
It never asks you for an id.
### It answers goals, not just instructions
The section opens on what it is for rather than an empty box. Describe an outcome, "we want more Google reviews from customers in our shops", and the assistant proposes a flow built out of what the platform actually does, with a reason per step and a note on what to measure afterwards. It builds once you agree. Give it a specific instruction instead and it just does it.
### Several things in one request
Because the conversation is not tied to one link, it can create a batch of them, or move between a link, its theme, and its dashboard without you starting again. For work that spans several pieces, the assistant lays out the plan first, confirms anything that creates or removes in bulk, and then reports what actually happened, including any part that failed.
### The menu stays
This is a section of the dashboard, not a full screen takeover. The navigation stays where it is, so the conversation is a place you visit rather than a mode you have to leave.
### Clear the conversation, anywhere
Every assistant in the app now has an eraser button next to the message box, beside the paperclip. It clears the messages and the assistant's memory of them, so the next message starts from nothing. Nothing that was already built is affected: no link, widget, or theme is deleted by clearing a conversation.
This matters most in the Assistant section, where the thread is saved against your workspace and is still there days later, but it is available in the link assistant, the dashboard assistant, and everywhere else too.
## Frequently asked questions
### Does this replace Create with AI?
No. **Create with AI** is still the quickest route to one new link. The Assistant section is for everything else.
### Does clearing a conversation delete anything?
Only the conversation. Links, workflows, widgets, and themes the assistant built are untouched.
### Does it cost more credits than the other assistants?
It uses the same platform credits, charged per exchange based on the work the request takes.
### Can it work on links it did not create?
Yes. It reads your existing links and workflows the same way it reads the ones it built.
### Where is it?
First item in the dashboard menu, above Insights.
---
# QR codes that expire on their own
Source: https://linkbreakers.com/help/article/expiring-links
## Short answer
Any QR code or link can now carry an optional expiration date. When it passes, the QR code stops working, visitors go to a destination of your choosing, and the QR code removes itself from your workspace. It is off by default: a QR code with no expiration date keeps working forever.
## What we shipped
Campaigns end. Printed materials do not. A conference badge from last March is still perfectly scannable, and it is still sending people to a schedule that stopped being true months ago.
Until now the only way to deal with that was to remember, and to go delete things by hand. Now you can decide up front.
### Set a date when you create it
In the creation wizard, the Customize step has an **Expiration** section. It is collapsed until you click **Set an expiration date**, because most QR codes should never expire and we did not want a field there implying otherwise.
Pick a day and, if it matters, a time. New dates default to 23:59 on the day you choose, since "expires on the 31st" nearly always means through the end of the 31st.
### Decide where people land afterwards
Optionally set an expired destination. Anyone scanning after the date lands there instead of hitting a wall.
This matters more than it sounds for anything printed. A poster does not come down the day the campaign does, and sending a late scanner to your homepage is a better outcome than sending them to nothing. Leave it empty and they get a clean expired page instead.
### Across a whole batch
Bulk insert has an **Add expiration** button that reveals an expiration column plus a control that sets one date across every row at once, which is what you want when the entire batch is one campaign.
CSV import gained two optional columns at the end for the date and the expired destination. Files you already have keep importing exactly as before, so nothing you have built breaks.
A plain date like `2026-12-31` is read as the end of that day. Bulk creation is all-or-nothing, so we check every row before sending anything and tell you which ones need fixing rather than rejecting the batch with a single unhelpful error.
### Ask the assistant
*"Make this QR code stop working after the 15th and send people to our homepage."*
The assistant will do it. It will not set an expiration date on its own initiative, and it tells you what expiring actually does before committing.
## Expiring is not archiving
We want to be direct about this, because it is the one thing worth understanding before you use it.
When a QR code expires it is **deleted**, along with its scan history, its workflow, its tags, its dashboard and its image. Its shortlink goes back into circulation and can be claimed by a new QR code later.
That is the behaviour we chose on purpose. An expired campaign is finished, and leaving its remains cluttering your workspace helps nobody. But it does mean two things are worth doing:
- Read or export the campaign's numbers before the date passes.
- Think twice before reusing a freed shortlink that is printed on something still in circulation.
Before the date passes, nothing is lost. You can move the date, or remove the expiration entirely, and the QR code carries on as though you had never set one. After it passes, it is gone.
For the same reason, an expiration date has to be in the future when you set it. A date in the past would destroy a QR code through what looks like an ordinary edit, so we reject it.
## Frequently asked questions
### Is this available on my plan?
Yes. Expiration is available on every plan, including the free one.
### Do my existing QR codes change in any way?
No. Every QR code you already have has no expiration date, which means it never expires. Nothing changes unless you set one.
### Can I make a QR code expire after a number of scans instead?
Not yet. Expiration is by date and time for now. If scan-based expiry is something you need, tell us.
### What happens to a QR code that expires while it is in a directory?
The same as any other: it is removed from the workspace and disappears from the directory with it. The directory itself is untouched.
### Can I see a list of everything that has expired?
Not today. An expired QR code leaves behind only what is needed to tell a visitor it has expired, not enough to list meaningfully. If this is something you want, we would like to hear it.
---
# Page theme templates
Source: https://linkbreakers.com/help/article/page-theme-templates
## Short answer
Page styling used to be a fixed list of presets baked into the app. It is now a template system: browse a gallery, apply in one click, save your own styling as a template, publish it publicly, or import someone else's. The fourteen presets you already knew are the first fourteen templates, maintained by Linkbreakers.
## What we shipped
### A gallery instead of a fixed list
The page theme picker now reads from a real gallery. It shows the templates your workspace owns, the official Linkbreakers ones, and templates other workspaces have published, with search and tag filters. Templates you already use are ranked first.
### Save your own
Any link's styling can become a template. Open the page theme editor and choose **Save as template**. The template takes its own copy, so you can carry on editing that link without changing what you saved.
### Publish and import
Give a template a slug and publish it, and it gets a public page at `linkbreakers.com/page-themes/your-slug`, credited to your workspace, with your description, learn more copy and FAQ. Anyone can browse the directory and import a template into their own workspace, images included.
### Applying is a copy, always
This is the part worth knowing. Applying a template copies its styling into the link's own theme rather than pointing the link at the template. Editing or deleting a template later can never change a page that was already styled from it.
## Frequently asked questions
### Did my existing pages change?
No. Nothing about your existing links or their styling changed.
### Where did the presets go?
They are the first fourteen templates, marked as official. Same colours, same typography, now browsable and searchable.
### Do I have to publish a template to reuse it?
No. Templates are private to your workspace until you publish one deliberately.
### What do I need before publishing?
A name, a description, a slug, and a public workspace profile.
---
# Scoped API tokens
Source: https://linkbreakers.com/help/article/scoped-api-tokens
## Short answer
You can now restrict a Linkbreakers API token to the resources it needs instead of giving it full access to your workspace. Pick read or read and write per resource when you create a token, or edit an existing one. Every endpoint declares the scope it requires, so agents and SDKs can ask for exactly the access they need.
## What we shipped
### Least-privilege tokens
Each token now has either **full access** or a list of **scopes** such as `links:read`, `analytics:read` or `webhooks:write`. A scoped token can only call the endpoints its scopes cover. Anything else is refused with a `403` that names the missing scope.
Your existing tokens are untouched: they keep full access, and full access keeps covering any scope we add later.
### Scopes in the dashboard
On [**Dashboard → API Tokens**](https://app.linkbreakers.com/workspace/dashboard/api-tokens), creating a secret key now asks for its access: full, or restricted to the resources you choose. The token list shows what each token can do, and **Edit access** changes it without issuing a new token.
### Scopes machines can read
The scopes are published where tools look for them:
- The [OpenAPI specification](https://api.linkbreakers.com/internal/openapi/api/v1/api.swagger.json) declares the scope each operation requires and lists every scope in an `oauth2` security scheme
- `GET /v1/api-scopes` returns every scope with its description
- `https://api.linkbreakers.com/.well-known/oauth-protected-resource` serves RFC 9728 metadata with `scopes_supported`
MCP clients connecting through OAuth can request the same scopes, and the token they receive is limited to them on both the MCP server and the REST API.
Read the full guide: [API token scopes](/help/article/api-token-scopes).
## Frequently asked questions
### Do I need to change anything?
No. Existing tokens keep full access. Restrict a token when you want to.
### Which scope should I give an AI agent?
Only what its task needs. An agent that reports on campaigns needs `links:read` and `analytics:read`; it does not need to delete links or manage webhooks.
### Does a write scope include reading?
Yes. `links:write` also allows everything `links:read` does.
---
# AI agents can sign themselves up, and every request we send is signed
Source: https://linkbreakers.com/help/article/agents-register-themselves-and-signed-requests
## Short answer
An AI agent no longer needs you to create an account or an API token before it can work. It registers itself, gets a workspace on the free plan and a token, and builds your links and QR codes. When you want the workspace, the agent gives you a link and a 6-digit code, and you claim it in one step. Separately, every webhook and every link check Linkbreakers sends now carries a cryptographic signature, so you can prove a request came from us.
## What we shipped
### Agent self-registration
We implemented the anonymous flow of the [auth.md](/auth.md) agent registration profile. An agent calls our authorization server and receives:
- a workspace of its own, on the free plan with its usual limits
- an API token limited to links, QR codes, workflows, page themes and analytics
- a claim token it can turn into a link and a code for you
You open the link, enter the code, and save a password or sign in with Google or Microsoft. The workspace and everything the agent built become yours. The agent keeps working in it, and you can cut it off at any time by deleting its token under Workspace, API tokens. A workspace nobody claims is removed after 24 hours.
### Signed webhooks and link checks
Webhooks and the requests we make to check link destinations now carry [HTTP Message Signatures](https://www.rfc-editor.org/rfc/rfc9421) following Web Bot Auth. Our public keys are at `https://linkbreakers.com/.well-known/http-message-signatures-directory`. Webhook signatures also cover a digest of the body, so you can check the payload was not changed. See [Verify Linkbreakers webhook signatures](/help/article/verify-webhook-signatures) for code in Node.js and Python.
## Frequently asked questions
### Can an agent create unlimited accounts?
No. Registrations are rate limited per address and overall, each workspace is on the free plan with its limits, every link still goes through our malware checks, and unclaimed workspaces are deleted after a day.
### What can the agent do after I claim the workspace?
It can also upload media, manage webhooks and dashboards, and update visitors. It never gets custom domains, integrations, members, API tokens, billing or workspace settings. The claim page lists exactly what it is allowed.
### Do I need to change anything for signed webhooks?
No. Existing webhooks keep working. Verifying the signature is optional and recommended.
---
# How to build QR codes and landing pages with AI using Linkbreakers
Source: https://linkbreakers.com/help/article/build-qr-codes-and-landing-pages-with-ai
## Short answer
Linkbreakers is fully compatible with large language models (LLMs) through three integration layers: a hosted MCP server for direct AI assistant access, a CLI designed for both humans and agents, and a complete REST API with SDKs in five languages. You can build any QR code, contact card, multi-link page, or workflow entirely through natural language conversation in tools like Claude Code, Claude Desktop, or any MCP-compatible AI client — without ever opening the dashboard.
## Quick summary
- Linkbreakers is the only QR code and link management platform with native Model Context Protocol (MCP) support
- Build complete QR code campaigns, contact cards, and multi-step workflows through conversation with Claude Code or Claude Desktop
- The MCP server exposes 35+ operations covering links, workflows, QR designs, analytics, domains, and media
- The CLI works as a tool for AI agents in terminal environments, enabling automated link management
- Every dashboard feature is available programmatically — there is no feature gap between the UI and the API
- AI agents can chain multiple operations to build complex customer journeys in a single conversation
:::try-ai-prompt {"prompt":"Create a link with a form that collects email and company name, then redirects to my website. Apply a professional dark theme.","description":"Try building a complete QR code workflow with AI — form, redirect, and styling in one prompt."}:::
## Why Linkbreakers is built for AI
Most link shorteners and QR code platforms are designed around a visual dashboard. You click through menus, fill forms, and configure settings one screen at a time. Linkbreakers takes a different approach: the platform is API-first, meaning every feature — from creating a link to building a multi-step workflow with password gates, forms, and conditional routing — is available as a programmatic operation.
This design choice has a direct consequence: AI tools that can call APIs can do everything the dashboard can. There is no feature locked behind a UI-only interface.
Linkbreakers goes further with a dedicated [MCP server](https://linkbreakers.com/help/article/mcp-server-setup) that speaks the Model Context Protocol — the open standard for connecting AI assistants to external tools. When you connect Claude Code or Claude Desktop to the Linkbreakers MCP server, the AI assistant gains direct access to your workspace and can create links, build workflows, generate QR codes, and pull analytics on your behalf.
## What you can build through conversation
### QR codes with tracking
Ask your AI assistant to create a tracked link and it handles the entire flow:
> "Create a QR code for our spring sale landing page at https://shop.example.com/spring. Use the slug 'spring-sale', tag it with 'marketing' and 'q2-2026', and enable conversion tracking."
The AI creates the link, configures tracking, and returns the short URL and QR code — all in one exchange.
### Contact cards with social links
Contact cards are a natural fit for conversational creation:
> "Create a contact card for Jane Doe, VP of Sales at Acme Corp. Email jane@acme.com, phone +1-555-0123 with WhatsApp enabled. Add her LinkedIn, Twitter, and Instagram profiles. Use 'Connect with Jane' as the button label."
The AI builds the full vCard with social links, WhatsApp integration, and custom button text.
### Multi-step workflows
Complex customer journeys that would take multiple screens to configure in a dashboard can be described in plain language:
> "Build a workflow for our conference QR code. First show a password gate with the code 'CONF2026'. Then show a form collecting name, email, and company. After submission, redirect to our resource hub at resources.example.com. Add a fallback URL to our homepage."
The AI creates each workflow step, connects them in sequence, and configures the fallback — a process that normally requires navigating through the workflow editor, creating individual steps, and wiring them together.
### Conditional routing
> "Set up a QR code that redirects to our English site for visitors from the US, UK, and Canada, our French site for visitors from France, Belgium, and Switzerland, and our German site for visitors from Germany and Austria. Default to the English site."
The AI builds a country condition step with all the routing rules configured.
### Bulk operations
> "Create 50 tracked links for each product in this list. Tag them all with 'product-catalog' and use the product name as the link name."
AI agents excel at repetitive operations that would be tedious to do manually.
## Three ways AI connects to Linkbreakers
### 1. MCP Server — for AI assistants
The [MCP server](https://linkbreakers.com/help/article/mcp-server-setup) is the most direct integration. It runs at `https://mcp.linkbreakers.com` and requires no installation.
**Setup in Claude Code (one command):**
```bash
claude mcp add --transport http linkbreakers https://mcp.linkbreakers.com
```
**Setup in Claude Desktop:**
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"linkbreakers": {
"url": "https://mcp.linkbreakers.com"
}
}
}
```
Your client handles OAuth sign-in automatically when you first connect.
Once configured, your AI assistant can call any of the 35+ Linkbreakers operations directly. No SDK installation, no code writing, no deployment.
### 2. CLI — for terminal-based AI agents
The [Linkbreakers CLI](https://linkbreakers.com/help/article/linkbreakers-cli-setup) is designed to work both as a human tool and as an AI agent tool. In Claude Code or similar terminal-based AI environments, the CLI provides a natural interface:
```bash
# AI agents can run CLI commands directly
linkbreakers links create --destination https://example.com --name "Campaign" --tags marketing
linkbreakers links list --page-size 10 --output json
```
The `--output json` flag makes CLI output machine-readable, which AI agents can parse and act on.
### 3. REST API and SDKs — for code generation
When an AI assistant generates code for your application, it can use the Linkbreakers SDKs directly. Available in TypeScript, Python, Go, Java, and Rust:
```typescript
// AI-generated code using the TypeScript SDK
import { Configuration, LinksApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const api = new LinksApi(config);
const response = await api.linksServiceCreate({
createLinkRequest: {
destination: 'https://example.com/product',
name: 'Product Launch',
tags: ['launch', 'q2'],
},
});
```
AI coding assistants can generate, debug, and iterate on integration code using any of the five SDKs.
## Real-world AI workflows
### Marketing team: campaign setup in minutes
A marketing manager opens Claude Code and says:
> "I need to set up tracking for our Q3 campaign. Create five links — one each for email, social, paid search, organic, and partner channels — all pointing to example.com/q3-offer. Tag each with 'q3-campaign' and the channel name. Then show me a summary."
In under a minute, the AI creates five tracked links with proper tagging and returns a table of short URLs ready to distribute. No dashboard navigation, no repetitive form filling.
### Sales team: contact card fleet
> "Create contact cards for each person on our sales team. Here are the details: [list]. Each should have their LinkedIn profile, enable WhatsApp on their phone numbers, and use 'Save my contact' as the button label."
The AI creates individualized contact cards for the entire team, each with social links and WhatsApp integration.
### Developer: workflow prototyping
> "I'm prototyping a customer journey. Create a link with a three-step workflow: first a form with name and email fields, then a country condition that routes US visitors to one URL and everyone else to another. Show me the step IDs so I can test it."
The AI builds the prototype workflow and returns the structure, ready for testing.
### Event organizer: post-event analytics
> "Pull analytics for all links tagged 'conference-2026'. Show me total scans, unique visitors, top countries, and which links got the most engagement."
The AI queries the analytics API and presents a formatted report.
## What makes this different from other platforms
Most link shorteners offer an API as an afterthought — a subset of dashboard features accessible through REST endpoints. Linkbreakers is different in three ways:
**Complete feature parity.** Every operation available in the dashboard is available through the API. Workflow steps, conditional routing, QR code design, page themes, team management, custom domains — everything.
**Native MCP support.** Linkbreakers is the only platform in this category with a dedicated MCP server. Other platforms require custom integration code to connect with AI assistants. Linkbreakers works out of the box.
**AI-agent-friendly CLI.** The CLI outputs structured JSON for machine consumption, handles authentication cleanly, and supports all CRUD operations. AI agents in terminal environments can use it directly without wrapper scripts.
## Getting started
1. **Sign up for Linkbreakers** at [app.linkbreakers.com](https://app.linkbreakers.com) if you do not have an account
2. **Connect your AI tool:**
- Claude Code: `claude mcp add --transport http linkbreakers https://mcp.linkbreakers.com`
- Claude Desktop: add the server URL to `claude_desktop_config.json`
- CLI: `linkbreakers auth set-token --token YOUR_TOKEN`
3. **Sign in via OAuth** — your MCP client handles authentication automatically on first connection
4. **Start building** — ask your AI assistant to create a link, build a workflow, or pull analytics
No SDKs to install. No code to write. Just connect and go.
## Frequently Asked Questions
**Do I need to know how to code to use Linkbreakers with AI?**
No. The MCP server and CLI enable fully conversational interaction. You describe what you want in plain language and the AI handles the API calls.
**Which AI tools work with Linkbreakers?**
Any MCP-compatible client works with the MCP server. This includes Claude Code, Claude Desktop, and Continue (VS Code). The CLI works with any terminal-based AI agent. The SDKs work with any AI coding assistant.
**Is there a limit to what AI can do through the MCP server?**
The MCP server exposes 35+ operations covering links, workflows, QR codes, analytics, domains, media, visitors, and tags. It covers the full Linkbreakers API surface.
**Can AI build the same complex workflows I build in the dashboard?**
Yes. Multi-step workflows with password gates, forms, conditional routing, contact cards, social links pages, and device conditions are all available through the API. AI agents can chain these operations to build complete customer journeys.
**Is my data safe when using AI tools?**
The MCP server authenticates via OAuth and the CLI authenticates with your workspace token. AI tools operate within the same permission boundaries as the dashboard. Your data stays in your Linkbreakers workspace.
**Can I mix AI and dashboard usage?**
Absolutely. Changes made through AI tools appear immediately in the dashboard, and vice versa. You can start a campaign with AI and refine it in the dashboard, or build in the dashboard and pull analytics through AI.
## Related articles
- [How to set up the Linkbreakers MCP server](/help/article/mcp-server-setup)
- [How to install and use the Linkbreakers CLI](/help/article/linkbreakers-cli-setup)
- [Linkbreakers Developer Ecosystem overview](/help/article/linkbreakers-developer-ecosystem-overview)
- [How to use the Linkbreakers API](/help/article/how-to-use-the-linkbreakers-api)
## Limits and caveats
- API rate limits apply to all operations, including those made through AI tools. Limits vary by plan.
- The MCP server requires OAuth sign-in with a Linkbreakers account.
- Complex workflow changes may benefit from visual review in the dashboard after AI creation.
- Feature availability and limits can vary by plan and workspace setup.
---
# Can AI create and manage QR codes?
Source: https://linkbreakers.com/help/article/can-ai-create-and-manage-qr-codes
## Short answer
Yes. AI tools can create, customize, track, and manage QR codes when connected to a platform that exposes its operations programmatically. Linkbreakers is the only QR code and link management platform with native Model Context Protocol (MCP) support, which means AI assistants like Claude Code, Claude Desktop, and any MCP-compatible client can perform every QR code operation — from creating a tracked link to building multi-step workflows to pulling scan analytics — through natural language conversation.
## Quick summary
- AI can create and manage QR codes through APIs, CLIs, and the Model Context Protocol (MCP)
- Linkbreakers provides a hosted MCP server at `https://mcp.linkbreakers.com` that exposes 35+ operations to AI assistants
- Claude Code, Claude Desktop, Continue (VS Code), and any MCP-compatible client can connect to Linkbreakers directly
- AI agents can create links, generate QR codes, build workflows, configure conditional routing, and retrieve analytics — all through conversation
- Every feature available in the Linkbreakers dashboard is available programmatically, so there is no capability gap when using AI
- This works today, not as a future concept — MCP integration is live and production-ready
## How AI manages QR codes
### The connection layer: MCP
The Model Context Protocol (MCP) is an open standard developed by Anthropic that defines how AI assistants connect to external tools and data sources. When an AI assistant supports MCP, it can call functions on external services the same way it calls internal tools.
Linkbreakers runs a dedicated MCP server that translates natural language requests into API calls. When you ask Claude Code to "create a QR code for my spring campaign," here is what happens:
1. Claude Code parses your request and identifies the operation (link creation)
2. It calls the `links_create` tool on the Linkbreakers MCP server
3. The MCP server forwards the request to the Linkbreakers REST API using your OAuth session
4. The API creates the link and generates the QR code
5. The MCP server returns the result to Claude Code
6. Claude Code presents the short URL and QR code details in a readable format
This entire sequence completes in seconds.
### What operations AI can perform
AI assistants connected to Linkbreakers can execute the full range of platform operations:
**Link management:**
- Create tracked short links with custom slugs, tags, and metadata
- List, filter, and search existing links
- Update link destinations, names, and settings
- Delete links that are no longer needed
- Create links in bulk (50+ at a time)
**Workflow automation:**
- Build multi-step customer journeys with password gates, forms, and redirects
- Configure conditional routing based on country, device, or language
- Connect workflow steps in sequence or with branching logic
- Create contact cards with social links and WhatsApp integration
**QR code design:**
- Generate QR code designs with custom colors, logos, and styles
- Create reusable QR code templates for brand consistency
- Export QR codes in multiple formats (PNG, SVG, PDF)
**Analytics and tracking:**
- Retrieve workspace-level metrics (total scans, unique visitors, top links)
- Pull event timelines showing individual scan activity
- List visitors with filtering by attributes and behavior
- Analyze campaign performance across tagged links
**Infrastructure:**
- Add and verify custom domains for branded short URLs
- Upload and manage media assets (logos, images)
- List and search tags for campaign organization
### Which AI tools work
Any AI tool that supports the Model Context Protocol can connect to Linkbreakers. Currently tested and supported clients include:
**Claude Code (CLI)** — Anthropic's command-line AI assistant. Setup takes one command:
```bash
claude mcp add --transport http linkbreakers https://mcp.linkbreakers.com
```
**Claude Desktop** — The desktop application. Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"linkbreakers": {
"url": "https://mcp.linkbreakers.com"
}
}
}
```
Your client handles OAuth sign-in automatically when you first connect.
**Claude (web app)** — Via the custom Connectors feature. Add a custom connector in Claude Settings with the server URL. OAuth authentication is handled automatically.
**Continue (VS Code)** — The open-source AI coding assistant. Configure via `~/.continue/config.yaml` with the streamable-http transport.
**Any MCP-compatible client** — The MCP specification is open, so any tool that implements the protocol can connect.
**Any LLM via the CLI** — The [Linkbreakers CLI](/help/article/linkbreakers-cli-setup) works with any AI assistant that can execute terminal commands. GitHub Copilot, Cursor, Windsurf, or any other LLM-powered coding tool can use the CLI to manage links, check analytics, and automate QR code workflows. No MCP support required — just install the CLI and your AI assistant can start running commands.
## Practical examples
### Example 1: Creating a tracked campaign link
**What you say:**
> "Create a tracked link for https://shop.example.com/summer-sale with the slug 'summer2026', tag it with 'marketing' and 'summer', and name it 'Summer Sale 2026'."
**What the AI does:**
Calls `links_create` with the destination, slug, tags, and name. Returns the short URL (e.g., `lbr.ai/summer2026`), the link ID, and confirmation of the tags. The QR code is automatically generated and accessible from the dashboard or via the QR code design tools.
### Example 2: Building a multi-step workflow
**What you say:**
> "Build a workflow for my conference registration QR code. First show a password gate with code 'TECH2026'. Then show a form collecting name, email, and company. After the form, redirect to our event portal at events.example.com/welcome."
**What the AI does:**
Creates the base link, then calls `workflow_steps_create` three times (password step, form step, redirect step), then calls `workflow_steps_create_relationship` to wire the steps in sequence. Returns the complete workflow structure with step IDs for testing.
### Example 3: Pulling campaign analytics
**What you say:**
> "Show me how many scans each of my links tagged 'q2-campaign' received this month."
**What the AI does:**
Calls `links_list` filtered by the tag, then calls `events_list` for each link to retrieve scan counts. Presents a summary table with link names, URLs, and scan totals.
### Example 4: Bulk link creation
**What you say:**
> "Create 20 tracked links, one for each product in this list: [product names and URLs]. Tag them all with 'product-catalog' and 'june-2026'."
**What the AI does:**
Calls `links_create_bulk` with the full list, applying consistent tags across all links. Returns a table of short URLs mapped to each product.
### Example 5: Setting up conditional routing
**What you say:**
> "Set up a QR code that sends US visitors to https://us.example.com, UK visitors to https://uk.example.com, and everyone else to https://global.example.com."
**What the AI does:**
Creates a link with a country condition workflow step, configuring routing rules for the US, UK, and default destinations.
## AI versus manual dashboard usage
The Linkbreakers dashboard provides a visual interface for all operations. AI-powered management does not replace the dashboard — it provides an alternative interaction mode with distinct advantages for certain workflows.
**AI is faster for:**
- Bulk operations (creating 10+ links at once)
- Repetitive setup (contact cards for an entire sales team)
- Complex workflows described more easily in words than through form navigation
- Quick analytics queries without navigating multiple screens
**The dashboard is better for:**
- Visual QR code design where you want to see the preview in real time
- Exploring data interactively without knowing exactly what you are looking for
- Training new team members who benefit from the visual interface
- Fine-tuning page layouts and themes visually
**They work together.** Changes made through AI appear instantly in the dashboard, and vice versa. You can create a campaign through Claude Code and refine the QR code design in the dashboard. Or build a workflow in the dashboard and pull its analytics through conversation.
## Why Linkbreakers is the only platform with native MCP support
Most QR code and link management platforms offer REST APIs as a secondary feature. The API exists, but the platform is designed dashboard-first. Linkbreakers is different in three ways:
**API-first architecture.** Every feature in the dashboard is available through the REST API. Workflow steps, conditional routing, QR code design customization, page themes, custom domains, visitor identification — everything. There is no feature locked behind a UI-only interface.
**Dedicated MCP server.** Linkbreakers hosts a production MCP server at `https://mcp.linkbreakers.com` that requires no installation, no Docker containers, and no local setup. It is a stateless proxy that translates MCP protocol calls into REST API requests using OAuth 2.0 authentication.
**AI-agent-friendly CLI.** The [Linkbreakers CLI](/help/article/linkbreakers-cli-setup) works with any LLM — not just Claude. Install the CLI, authenticate once, and any AI coding assistant (GitHub Copilot, Cursor, Windsurf, or any terminal-based LLM) can run `linkbreakers` commands to create links, pull analytics, and manage your workspace. The CLI outputs structured JSON by default, making it trivially parseable by AI agents. This gives every LLM a direct integration path into Linkbreakers without MCP support.
Linkbreakers is the only QR code and link management platform built with this level of AI integration. No other platform in this space offers all three layers — MCP, CLI, and API — designed from the ground up for both human and AI-driven workflows.
## Getting started with AI-powered QR management
1. **Create a Linkbreakers account** at [app.linkbreakers.com](https://app.linkbreakers.com) if you do not have one
2. **Connect your AI tool** — see the [MCP server setup guide](/help/article/mcp-server-setup) for step-by-step instructions
3. **Sign in via OAuth** — your MCP client handles authentication automatically on first connection
4. **Start with a simple prompt** like "Create a tracked link for https://example.com" to verify the connection
5. **Build from there** — ask your AI to create workflows, pull analytics, or set up entire campaigns
For a complete walkthrough of building QR codes and landing pages with AI, see [How to build QR codes and landing pages with AI](/help/article/build-qr-codes-and-landing-pages-with-ai).
For technical details on automating campaigns with MCP, see [How to automate QR code campaigns with MCP](/help/article/how-to-automate-qr-code-campaigns-with-mcp).
## Frequently asked questions
**Can ChatGPT create QR codes through Linkbreakers?**
ChatGPT does not currently support the Model Context Protocol, so it cannot connect to the Linkbreakers MCP server directly. However, you can use the Linkbreakers REST API or SDKs in code that ChatGPT helps you write. Claude Code and Claude Desktop have native MCP support and can connect directly.
**Do I need to know how to code to use AI with QR codes?**
No. The MCP integration is entirely conversational. You describe what you want in plain language and the AI handles the API calls. No programming, no terminal commands, no configuration files beyond the initial one-time setup.
**Is there a cost to using AI tools with Linkbreakers?**
The MCP server is free for all Linkbreakers users. Standard API rate limits apply based on your workspace plan. The AI tools themselves (Claude Code, Claude Desktop) have their own pricing set by their providers.
**Can AI modify QR codes that were created in the dashboard?**
Yes. AI tools operate on the same workspace data as the dashboard. You can create a link in the dashboard and update it, add workflow steps, or pull its analytics through an AI assistant. Changes sync immediately.
**What happens if the AI makes a mistake?**
All operations are reversible. Links can be updated or deleted. Workflow steps can be removed. If the AI misunderstands your request, you can correct it in the next message or make changes in the dashboard. The AI will also explain what it did after each operation, so you can verify before moving on.
**Is my data secure when using AI tools?**
The MCP server is stateless — it does not store any of your data. It receives your request, authenticates via OAuth, forwards it to the Linkbreakers API, and returns the response. Your data stays in your Linkbreakers workspace. AI tools operate within the same permission boundaries as dashboard access.
## Limits and caveats
- API rate limits apply to all operations made through AI tools. Limits vary by plan.
- The MCP server requires OAuth sign-in with a Linkbreakers account.
- Visual QR code design preview is not available in AI tools — use the dashboard for visual design refinement.
- Complex workflow changes may benefit from visual review in the dashboard after AI creation.
- Feature availability and limits can vary by plan and workspace setup.
- AI tools may occasionally misinterpret ambiguous prompts. Be specific about slugs, tags, and destinations.
## Last reviewed
This article was last reviewed on June 9, 2026.
---
# Can QR codes be traced?
Source: https://linkbreakers.com/help/article/can-qr-codes-be-traced
## Short answer
This article explains can qr codes be traced with practical guidance, limits, and implementation details so you can apply it consistently.
Yes, QR codes can be traced when created through platforms like **Linkbreakers** that transform scans into interactive customer engagement experiences. Unlike static QR codes that simply redirect, Linkbreakers enables comprehensive tracing through intelligent routing and lead capture workflows.
## How Linkbreakers enables QR code tracing
Linkbreakers transforms every scan into a traceable engagement opportunity through:
1. **Interactive workflows** that collect customer information before redirecting
2. **Intelligent routing** based on user profiles and responses
3. **Real-time analytics** capturing every interaction and decision point
4. **Lead capture forms** that identify visitors and qualify prospects
5. **Customer journey tracking** from scan to conversion
Every scan becomes a data-rich engagement event, not just an anonymous click.
## What Linkbreakers traces beyond basic analytics
Linkbreakers captures comprehensive engagement data that reveals customer intent:
- **Customer profiles** collected through interactive forms
- **Qualification data** from workflow responses and interactions
- **Behavioral patterns** showing how users engage with your content
- **Geographic location** and device information
- **Conversion pathways** tracking journey from scan to action
- **Lead quality indicators** based on engagement depth
This goes far beyond simple scan counting, it's true customer engagement intelligence.
## Static QR codes versus Linkbreakers interactive codes
Traditional static QR codes cannot be traced because they:
- **Link directly** to websites without any engagement layer
- **Miss opportunities** for lead capture and qualification
- **Provide no data** about who scanned or why
- **Can't be updated** after printing
- **Offer no personalization** based on customer profiles
Linkbreakers transforms every scan into an interactive experience that captures valuable customer data.
## Creating traceable engagement experiences with Linkbreakers
Transform your QR codes into customer engagement tools:
1. **Create workflows** with [Linkbreakers](https://app.linkbreakers.com/workspace/dashboard/links) that collect customer information
2. **Add interactive steps** like forms, password gates, or qualification questions
3. **Route intelligently** based on customer responses and profiles
4. **Track the complete journey** from scan to conversion
5. **Integrate with your CRM** to automatically capture and qualify leads
## How Linkbreakers captures customer identity
Unlike anonymous analytics, Linkbreakers enables customer identification through:
- **Interactive forms** that collect name, email, and contact details
- **Progressive profiling** that builds customer profiles over multiple scans
- **Behavioral tracking** that identifies return visitors and engagement patterns
- **CRM integration** that connects scans to existing customer records
- **Visitor journeys** showing how far each visitor got through the workflow
You know exactly who engaged with your QR code and what they're interested in.
## Business applications of traceable customer engagement
Linkbreakers helps businesses transform QR codes into lead generation machines:
1. **Capture qualified leads** through interactive forms and workflows
2. **Personalize experiences** based on customer profiles and behavior
3. **Automate follow-up** through CRM and marketing automation integrations
4. **Measure true ROI** by tracking conversions, not just scans
5. **Build customer relationships** through intelligent, personalized interactions
## Privacy and transparency
Linkbreakers enables responsible customer engagement:
- **Transparent disclosure** of data collection through clear messaging
- **Voluntary participation** - customers choose to provide information
- **GDPR compliance** with privacy regulations
- **Customer control** over their data and preferences
## The Linkbreakers advantage
Traditional QR tracking platforms only tell you someone scanned your code. Linkbreakers tells you:
- **Who they are** (through form submissions)
- **What they're interested in** (through workflow interactions)
- **How qualified they are** (through behavioral scoring)
- **What action to take next** (through CRM integration and automation)
This transforms QR codes from simple tracking tools into complete customer engagement and lead qualification systems.
## Frequently asked questions
**How is Linkbreakers different from basic QR code tracking?**
Linkbreakers doesn't just track anonymous scans, it captures customer identity, qualification data, and behavioral patterns through interactive workflows. You get leads, not just statistics.
**Can I identify individual customers who scan my QR codes?**
Yes, through Linkbreakers' interactive forms and workflows. Customers voluntarily provide their information as part of accessing your content or offers, giving you qualified leads instead of anonymous scan data.
**Can I make an existing static QR code traceable with Linkbreakers?**
No, you'll need to create a new QR code with Linkbreakers that includes interactive workflows and tracking. The benefit is you'll get much richer data, not just scans, but actual customer profiles and qualification information.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Does a QR code show location? Accuracy, limits, and examples
Source: https://linkbreakers.com/help/article/does-a-qr-code-show-location-accuracy-limits-and-examples
## Short answer
This article explains does a qr code show location accuracy, limits, and examples with practical guidance, limits, and implementation details so you can apply it consistently.
Yes, Linkbreakers automatically captures location data from every QR code scan, and uses it not just for analytics, but to personalize customer experiences and route users to location-specific content.
## How Linkbreakers uses location data
Linkbreakers captures comprehensive location information to enable intelligent customer engagement:
1. **Country and region** - Route customers to localized content and offers (99% accuracy)
2. **City-level tracking** - Analyze which locations drive most engagement (85-95% accuracy)
3. **Time zone detection** - Schedule follow-ups and messaging at optimal local times
4. **Geographic workflow routing** - Send customers in different regions to location-specific destinations
5. **Multi-location campaign analysis** - Compare performance across venues, stores, or events
View real-time location data and engagement maps in your [analytics dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors).
## How location detection works
Location tracking operates through:
- **IP geolocation** services when codes are scanned
- **ISP and ASN identification** revealing Internet Service Provider and network routing entities
- **Server-side processing** of network data
- **Database matching** against geographic databases
- **Real-time logging** of scan locations
No GPS access or app permissions required.
## Location accuracy levels
Geographic precision varies:
**Highly accurate:**
- Country identification (99%)
- Major city centers (90-95%)
- Metropolitan areas (85-90%)
**Less precise:**
- Rural locations (70-85%)
- Mobile hotspot users (variable)
- VPN users (shows VPN server location)
## Static QR codes and location
Traditional static QR codes:
- **Cannot show location** data
- **No tracking capabilities** built-in
- **Direct linking** bypasses analytics
- **No geographic insights** available
## Viewing location analytics
Access location data through:
1. **Real-time maps** showing active scans
2. **Geographic reports** by country/region
3. **City-level breakdowns** for detailed analysis
4. **Time-based location** patterns
5. **Exported data** for custom analysis
## Privacy considerations
Location tracking respects privacy through:
- **Anonymous collection** - no personal identification
- **IP-based tracking** only (not GPS coordinates)
- **GDPR compliance** with European regulations
- **User transparency** about data collection
## How businesses use Linkbreakers location intelligence
Location data powers personalized customer engagement:
- **Geographic routing** - Automatically send customers in different cities to their nearest store or location-specific offers
- **Regional campaign optimization** - Identify which locations drive highest engagement and conversion rates
- **Multi-location performance tracking** - Compare how different venues, stores, or events perform with identical QR codes
- **Localized content delivery** - Present different offers, languages, or messaging based on customer location
- **International expansion analysis** - Track which geographic markets respond best to your campaigns
## Real-world location-based engagement examples
- **Multi-location retail**: Use the same QR code across all stores, but route customers in each city to location-specific inventory, offers, or store finder pages based on where they scan
- **International events**: Present the same QR code globally, but automatically show localized content, languages, and regional offers based on scan location
- **Product packaging**: Track which geographic regions engage most with warranty registration, support requests, or repurchase offers to optimize regional marketing strategies
## Limitations
QR location tracking cannot provide:
1. **Exact street addresses** or building numbers
2. **GPS coordinates** like mobile apps
3. **Real-time movement** tracking
4. **Indoor positioning** within buildings
## Frequently asked questions
**Can QR codes track my exact location?**
No. QR codes use IP geolocation, which provides city-level accuracy but not precise GPS coordinates or street addresses.
**Do I need to allow location permissions?**
No. QR location tracking works automatically through IP address analysis, without requiring any device permissions or user consent.
**Can I hide my location when scanning QR codes?**
Yes. Using a VPN will show the VPN server location instead of your actual location in QR analytics.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How AI is changing digital business cards and contact sharing
Source: https://linkbreakers.com/help/article/how-ai-is-changing-digital-business-cards
## Short answer
This article explains how ai is changing digital business cards and contact sharing with practical guidance, limits, and implementation details so you can apply it consistently.
AI tools like Claude Code and Claude Desktop can now create, customize, and manage digital business cards entirely through conversation. Platforms like Linkbreakers expose contact card creation through APIs and MCP servers, which means an AI assistant can build a complete vCard with social links, WhatsApp integration, and a branded QR code in seconds -- without anyone opening a dashboard.
## Quick summary
- Traditional paper business cards are being replaced by digital vCards that can be updated, tracked, and shared via QR code
- AI assistants can create and manage contact cards programmatically through APIs, CLIs, and the Model Context Protocol (MCP)
- Linkbreakers contact cards support the vCard 3.0 standard with the `X-SOCIALPROFILE` extension for social media links
- WhatsApp integration lets visitors start a conversation with one tap from the contact card page
- Teams can deploy a fleet of personalized contact cards for every team member through a single AI conversation
- Every contact card scan is tracked with visitor analytics, device data, and geographic information
- Contact cards are dynamic -- update phone numbers, job titles, or social links without reprinting QR codes
## The shift from paper to digital contact cards
Paper business cards have a fundamental problem: they are static. The moment you hand one over, the information on it starts aging. Change your phone number, get promoted, switch companies -- the card becomes wrong and there is no way to fix it.
Digital business cards solve this by separating the QR code (the physical artifact you print or display) from the contact data behind it. The QR code points to a dynamic link. The link resolves to a contact card page that always reflects your current information. When a visitor taps the download button, they receive a VCF file that adds your details directly to their phone's contact list.
This is the model Linkbreakers uses. You create a [contact card](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers) that generates two things: a branded contact page with your name, photo, title, company, phone, email, address, and social links, and a downloadable VCF file encoded in the vCard 3.0 standard. The QR code that points to this card can be printed on physical cards, embedded in email signatures, or displayed on screens at events. Update the underlying contact data at any time and every future scan picks up the changes.
## How AI creates and manages contact cards
The real shift is not just digital versus paper. It is that contact card creation has become a programmable operation that AI tools can execute.
Linkbreakers exposes contact card creation through its REST API, CLI, and [MCP server](https://linkbreakers.com/help/article/mcp-server-setup). Any AI assistant that can make API calls -- Claude Code, Claude Desktop, or any MCP-compatible client -- can create a fully configured contact card in a single conversational exchange.
Here is what that looks like in practice. A sales director opens Claude Code and says:
> "Create a contact card for Maria Chen, Regional Sales Director at Nexus Partners. Email maria.chen@nexuspartners.com, phone +1-415-555-0199 with WhatsApp enabled. Add her LinkedIn at linkedin.com/in/mariachen and her X profile at x.com/maria_chen. Use 'Save Maria's contact' as the button label."
The AI calls the Linkbreakers MCP server, creates the link with the contact card workflow step, configures social links, enables WhatsApp, and returns the short URL and QR code. The entire operation takes less time than typing the information into a form.
This is not a theoretical workflow. Linkbreakers' MCP server exposes 35+ operations, and contact card creation is one of the most natural fits for conversational AI because the input is structured personal data that people already express in natural language.
## Building a team fleet through conversation
The economics of AI-powered contact card creation change dramatically at scale. Creating one contact card manually takes a few minutes. Creating 30 for a sales team takes hours of repetitive form filling. With AI, the time scales linearly with the length of the prompt, not the number of cards.
A practical example:
> "Create contact cards for each person on our sales team. Here are the details:
> - James Park, Account Executive, james@company.com, +1-555-0101, LinkedIn: linkedin.com/in/jamespark
> - Sarah Lin, Account Executive, sarah@company.com, +1-555-0102, LinkedIn: linkedin.com/in/sarahlin
> - Dev Patel, Sales Engineer, dev@company.com, +1-555-0103, LinkedIn: linkedin.com/in/devpatel
>
> Enable WhatsApp on all phone numbers. Tag them all with 'sales-team' and 'q3-2026'. Use 'Save my contact' as the button label for each."
The AI creates three contact cards with consistent configuration, proper tagging for analytics, and returns a summary table with short URLs. This is the kind of repetitive-but-precise work where AI agents outperform manual processes.
For larger teams, the [sales team contact card fleet management](https://linkbreakers.com/help/article/sales-team-contact-card-fleet-management-dashboard-analytics-performance-tracking-digital-business-cards-roi) approach lets managers track which cards get scanned, who is generating the most engagement, and which team members need new cards after role changes.
## Social links and WhatsApp integration
Modern professional networking happens across multiple platforms. A contact card that only includes a phone number and email misses the channels where people actually communicate.
Linkbreakers contact cards support up to 10 [social media links](https://linkbreakers.com/help/article/how-to-add-social-links-to-contact-cards) that display as recognizable platform icons on the contact page. The platform is detected automatically from the URL -- paste `https://linkedin.com/in/yourname` and a LinkedIn icon appears. Supported platforms include Instagram, LinkedIn, X (Twitter), Facebook, YouTube, TikTok, GitHub, WhatsApp, and Medium.
When a visitor downloads the VCF file, social links are embedded using the `X-SOCIALPROFILE` vCard extension:
```
X-SOCIALPROFILE;type=linkedin:https://linkedin.com/in/yourname
X-SOCIALPROFILE;type=instagram:https://instagram.com/yourhandle
```
Many modern contact applications -- including Apple Contacts and Google Contacts -- can read these extensions and display them alongside standard contact fields.
WhatsApp integration is handled separately from social links. When you enable WhatsApp on a phone number, it adds a WhatsApp icon to the contact page that opens a `wa.me` deep link for direct conversation. The regular phone link remains available for traditional calls. This dual approach reflects how business communication actually works: some contacts prefer a call, others prefer a message.
## QR codes for contact sharing
Every Linkbreakers contact card automatically generates a QR code. This is the bridge between the physical and digital worlds -- the artifact you print on a card, display on a conference badge, or embed in a presentation slide.
Because the QR code points to a dynamic link rather than encoding the vCard data directly, it stays compact regardless of how much contact information is behind it. A QR code that encodes a full vCard with social links, address, and multiple phone numbers would be dense and difficult to scan. A QR code that encodes a short URL is simple and reliable.
The dynamic approach also means the contact card can include interactive elements that a static vCard cannot: a branded landing page, a download button with a custom label, themed colors that match corporate branding, and analytics tracking on every scan.
## Analytics and tracking on contact cards
Every contact card scan generates an event in the Linkbreakers analytics pipeline. This means you can measure:
- **Total scans** across all your contact cards or filtered by tags
- **Unique visitors** identified through device fingerprinting
- **Geographic distribution** of people who scanned your card
- **Device breakdown** showing iOS, Android, and desktop splits
- **Temporal patterns** revealing when your cards get the most engagement
For sales teams, this data answers questions that paper cards never could. Which team members are actively sharing their cards? Which conferences generated the most contact saves? Are prospects in a specific region engaging more than others?
Analytics data is accessible through the [Linkbreakers dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors), the REST API, and through AI assistants connected via the MCP server. You can ask Claude Code to pull a report on contact card performance across your team without writing a single query.
## The vCard 3.0 standard
Linkbreakers generates VCF files using the vCard 3.0 standard (RFC 2426), which provides the widest compatibility across devices and contact applications. The format supports:
- **Standard fields**: name, email, phone, organization, title, address, URL
- **Multiple values**: several phone numbers, email addresses, or addresses per card
- **Social profiles**: through the `X-SOCIALPROFILE` extension recognized by Apple, Google, and Microsoft contact apps
- **Photos**: embedded or referenced contact photos
- **Notes**: free-text fields for additional context
The choice of vCard 3.0 over vCard 4.0 is deliberate. While 4.0 offers some additional features, 3.0 has broader device support, particularly on older Android devices and enterprise systems that have not yet adopted the newer standard.
## What this means for professionals
The combination of AI-powered creation, dynamic content, social integration, and scan analytics transforms the business card from a static piece of paper into an active networking tool.
A professional using Linkbreakers contact cards can:
1. **Create cards instantly** through conversation with an AI assistant
2. **Update information** without reprinting anything
3. **Track engagement** to know who is scanning and when
4. **Share across channels** -- QR code, short link, email, or embedded on a website
5. **Integrate with CRM** through webhooks that trigger when someone downloads the contact
This is not a marginal improvement over paper cards. It is a different category of tool that happens to serve the same networking purpose.
## Frequently asked questions
**Can AI create contact cards that work on all phones?**
Yes. Linkbreakers generates vCard 3.0 VCF files that are compatible with iOS, Android, and desktop contact applications. The AI creates the same standard-compliant output as the dashboard.
**Do I need coding skills to create contact cards with AI?**
No. The MCP server integration lets you describe what you want in plain language. Say "create a contact card for Jane Doe with this email and phone number" and the AI handles the API calls.
**Can I update a contact card after it has been printed on physical cards?**
Yes. The QR code points to a dynamic link. Update the contact information through the dashboard, API, or AI assistant and future scans will reflect the new data. The QR code itself never changes.
**How many social links can I add to a contact card?**
Up to 10 social media profile URLs per contact card. Each is detected automatically from the URL and displayed as a platform icon.
**Is WhatsApp integration available on all plans?**
WhatsApp integration is available on all Linkbreakers plans. Enable it by checking the WhatsApp option on the phone number field when creating or editing a contact card.
**Can I create contact cards in bulk through the API?**
Yes. The API supports creating multiple contact cards programmatically. AI agents can loop through a list of team members and create individualized cards with consistent configuration.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- vCard compatibility depends on the recipient's device and contact application. While vCard 3.0 has broad support, some older devices may not display all fields.
- Social link icons depend on URL detection. Unrecognized URLs display a generic website icon.
- WhatsApp integration requires the phone number to be registered with WhatsApp on the recipient's end.
- Contact card analytics track scans and downloads but cannot confirm whether a visitor saved the contact to their phone.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How QR code tracking works: from scan to analytics
Source: https://linkbreakers.com/help/article/how-qr-code-tracking-works-from-scan-to-analytics
## Short answer
This article explains how qr code tracking works: from scan to analytics with practical guidance, limits, and implementation details so you can apply it consistently.
QR code tracking works by using **dynamic URLs** that redirect through analytics systems before reaching the final destination. Here's the complete technical process.
## Scan to redirect to analytics flow
When someone scans a trackable QR code:
1. **QR code contains** a shortened tracking URL (not the final destination)
2. **Device requests** the shortened URL from tracking servers
3. **Analytics system** logs scan data (time, location, device)
4. **Server redirects** user to the actual destination
5. **Data appears** in real-time analytics dashboards
This happens in milliseconds, creating a seamless user experience.
## Technical architecture
QR tracking systems consist of:
**Frontend components:**
- QR code generators creating dynamic codes
- Analytics dashboards for viewing data
- Export tools for data analysis
**Backend infrastructure:**
- URL shortening services
- Database systems storing scan events
- Geolocation APIs for location data
- Redirect servers handling traffic
## Data collection methods
Tracking systems capture information through:
1. **HTTP headers** - Browser and device information
2. **IP geolocation** - Converting IP addresses to locations
3. **ISP and ASN extraction** - Identifying Internet Service Providers and network routing entities
4. **Timestamp logging** - Recording exact scan times
5. **Referrer analysis** - Identifying scan sources
6. **User agent parsing** - Determining device types
## Static vs dynamic QR codes
**Static QR codes:**
- Contain final URL directly
- No intermediary tracking system
- Cannot collect analytics
- Unchangeable after creation
**Dynamic QR codes:**
- Use tracking URLs as intermediary
- Full analytics capabilities
- Can update destinations
- Comprehensive data collection
## Real-time analytics
Modern QR tracking provides:
- **Live scan monitoring** as codes are used
- **Geographic heat maps** showing scanning patterns
- **Device breakdowns** (iOS/Android/desktop)
- **Time-based analysis** identifying peak periods
Access live data through [Linkbreakers dashboards](https://app.linkbreakers.com/workspace/dashboard/visitors).
## Real-world examples
**Restaurant table tents**
- Track which locations and times drive menu scans.
- Route lunch scans to the lunch menu and dinner scans to dinner.
**Product packaging**
- Measure engagement by region.
- Send first-time scanners to a how-to video and repeat scanners to support.
**Event posters**
- Compare scan volume by venue or city.
- Attribute leads to offline placements with tags.
## Why Linkbreakers is a solution
Linkbreakers combines dynamic QR creation, real-time analytics, and workflows in one platform. You can create a trackable QR code, change destinations after printing, and analyze scans immediately, which makes it practical for marketing attribution, customer support, and operational reporting.
## Privacy and accuracy
QR tracking maintains privacy through:
1. **Anonymous data collection** - No personal identification by default
2. **IP-based location** - City-level, not GPS precision
3. **GDPR compliance** - Following privacy regulations
4. **Data encryption** - Securing transmitted information
## Advanced tracking features
Enterprise QR tracking includes:
- **UTM parameter** integration for campaign attribution
- **Webhook notifications** for real-time alerts
- **API access** for custom integrations
- **[Conversion tracking](https://linkbreakers.com/help/article/how-do-you-manage-and-track-incoming-leads-or-new-business-inquiries)** through goal setup and lead management
- **A/B testing** capabilities for optimization
## Database storage
Scan events are stored with:
- **Event timestamps** in UTC format
- **Geographic coordinates** (approximate)
- **ISP and ASN data** for network provider intelligence
- **Device fingerprints** for unique visitor estimation
- **Campaign tags** for organization
- **Custom parameters** for specific tracking needs
## Performance considerations
QR tracking systems optimize for:
1. **Low latency** - Sub-second redirect times
2. **High availability** - 99.9% uptime guarantees
3. **Scalability** - Handling millions of concurrent scans
4. **Global reach** - Servers worldwide for fast access
## Frequently asked questions
**Does QR tracking slow down scanning?**
Minimally. Professional systems add less than 100 milliseconds to the scanning process, which users don't notice.
**How long is tracking data stored?**
Storage periods vary by platform and plan. Free tiers typically store 30-90 days, while paid plans offer 1+ years of data retention.
**Can tracking be bypassed?**
Users with VPNs or privacy browsers may mask some data, but the core tracking still functions. Complete bypass requires avoiding the QR code entirely.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Is there a QR scan history?
Source: https://linkbreakers.com/help/article/is-there-a-qr-scan-history
## Short answer
This article explains is there a qr scan history with practical guidance, limits, and implementation details so you can apply it consistently.
Yes, trackable QR codes automatically maintain comprehensive scan history that you can access anytime through analytics dashboards.
## What's included in scan history
Dynamic QR codes record every interaction:
1. **Complete timestamp** data (date, time, timezone)
2. **Geographic information** (country, city, region)
3. **Device details** (iOS/Android, browser type)
4. **Network information** (ISP, connection type)
5. **Referrer sources** when applicable
## Accessing your scan history
View scan records through multiple channels:
- **Live dashboard** at [Linkbreakers](https://app.linkbreakers.com/workspace/dashboard/visitors)
- **Individual QR code** analytics pages
- **Exported CSV** files for analysis
- **API endpoints** for custom integrations
## Data retention periods
Scan history storage varies by plan:
- **Free plans** - 30-90 days typically
- **Paid plans** - 1+ years of complete history
- **Enterprise** - Custom retention periods available
Check your specific plan details for exact timeframes.
## Real-time vs historical tracking
Linkbreakers provides both:
1. **Live monitoring** - See scans happening now
2. **Historical analysis** - Review patterns over time
3. **Trend identification** - Spot peak usage periods
4. **Comparative data** - Month-over-month growth
## Exporting scan history
Download your data in multiple formats:
- **CSV spreadsheets** for Excel analysis
- **JSON format** for developer integration
- **API queries** for automated reporting
- **Dashboard widgets** for real-time displays
## Privacy and scan records
Scan history respects user privacy:
- **Anonymous tracking** by default
- **No personal identification** stored
- **IP-based geolocation** only (not GPS)
- **GDPR compliant** data handling
Personal details only appear if users voluntarily provide them through forms.
## Limitations of static QR codes
Traditional QR codes have no scan history:
- **Direct linking** bypasses tracking systems
- **No data collection** occurs
- **Can't upgrade** existing static codes
- **No analytics** available retroactively
## Advanced history features
Premium tracking includes:
- **Campaign attribution** through UTM parameters
- **Device fingerprinting** for return visit tracking
- **Geographic clustering** for location insights
- **Time-based filtering** for specific periods
## Frequently asked questions
**How long is scan history kept?**
Retention periods depend on your plan. Free tiers typically store 30-90 days, while paid plans offer 1+ years of complete scan history.
**Can I delete scan history?**
Yes, most platforms allow history deletion through privacy controls. However, this action is usually irreversible, so consider exporting data first.
**Is scan history shared with third parties?**
Reputable QR platforms don't sell scan history. Data may be shared only for legal compliance or with explicit user consent for integrations.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What can happen if you scan a random QR code?
Source: https://linkbreakers.com/help/article/what-can-happen-if-you-scan-a-random-qr-code
## Short answer
This article explains what can happen if you scan a random qr code with practical guidance, limits, and implementation details so you can apply it consistently.
Scanning random QR codes can expose you to various threats, from minor annoyances to serious security breaches. Here's what could happen and how to protect yourself.
## Immediate risks
When you scan an unknown QR code, you might encounter:
1. **Fake login pages** stealing your passwords
2. **Malicious app downloads** containing malware
3. **Premium SMS subscriptions** charging your phone bill
4. **Phishing websites** harvesting personal information
5. **Browser hijacking** redirecting future searches
## Financial consequences
Malicious QR codes can target your money through:
- **Fake payment portals** stealing credit card details
- **Cryptocurrency scams** with fraudulent wallet addresses
- **Subscription traps** with hidden recurring charges
- **Investment fraud** promising unrealistic returns
- **Identity theft** enabling unauthorized account access
## Privacy violations
Random QR codes might compromise your privacy by:
- **Location tracking** without your knowledge
- **Contact list harvesting** if you grant app permissions
- **Browsing history collection** through malicious scripts
- **Social media infiltration** via fake social login pages
- **Personal data mining** through seemingly innocent surveys
## Device security threats
Your smartphone could be compromised through:
1. **Malware installation** disguised as legitimate apps
2. **Spyware deployment** monitoring your activities
3. **Ransomware attacks** encrypting your files
4. **Botnet recruitment** using your device for attacks
5. **Data exfiltration** stealing photos, messages, contacts
## Real-world attack scenarios
Common QR code scams include:
- **Parking meters** with fake payment codes overlaying real ones
- **Restaurant menus** linking to credential-stealing fake ordering sites
- **Wi-Fi access** codes installing monitoring software
- **Event tickets** redirecting to fraudulent purchasing platforms
- **Product registration** forms collecting personal data for resale
## Warning signs to avoid
Red flags that indicate malicious QR codes:
- **Stickers placed over** existing codes
- **Urgent language** claiming immediate action required
- **Too-good-to-be-true** offers or prizes
- **Unprofessional appearance** with poor branding
- **Requests for passwords** or sensitive information
## Safe alternatives
Instead of scanning random codes:
1. **Type URLs manually** if you know the destination
2. **Use official apps** from verified businesses
3. **Ask employees** to verify QR code authenticity
4. **Check company websites** for legitimate links
5. **Report suspicious codes** to relevant authorities
## Recovery steps
If you've scanned a suspicious QR code:
1. **Don't enter** any personal information
2. **Close the browser** immediately
3. **Run antivirus scans** on your device
4. **Monitor accounts** for unauthorized activity
5. **Change passwords** for important services
## Frequently asked questions
**Will my phone get hacked just by scanning?**
Not immediately. The real danger comes from what you do after scanning - entering passwords, downloading apps, or providing personal information on malicious sites.
**Can I tell if a QR code is safe before scanning?**
Not easily. However, you can check the source, look for tampering signs, and use apps that preview URLs before opening them.
**What should I do if I accidentally visited a malicious site?**
Close the browser immediately, don't enter any information, run security scans, and monitor your accounts for unusual activity.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What data you can collect from QR code scans (location, device, behavior)
Source: https://linkbreakers.com/help/article/what-data-you-can-collect-from-qr-code-scans-location-device-behavior
QR code scans in Linkbreakers capture comprehensive visitor data including device information, actor detection, location intelligence, behavioral patterns, and engagement metrics.
Data collection includes automatic technical data (timestamp, device type, browser, IP-based location) and optional personal data (email, name, phone) collected only through explicit form submission. All data follows [privacy regulations](https://linkbreakers.com/help/article/what-data-does-linkbreakers-collect-when-someone-scans-my-qr-code) including GDPR, CCPA, and state privacy laws.
## Concrete data list (at a glance)
- **Timestamp** and time zone
- **Approximate location** (city/region from IP)
- **ISP and ASN** (network provider and routing entity)
- **Device type**, detected actor, and OS
- **Browser** and user agent
- **New vs repeat** visitor estimation
- **Entry and destination URLs**
- **Campaign tags** and UTM parameters
- **Workflow events** (clicks, form submits, conversions)
## Full data reference
### Core event data (captured automatically on every scan)
| Data Field | Type | Privacy Level | Description |
|---|---|---|---|
| **Event ID** | string (UUID) | Technical | Unique identifier for the event object |
| **Action** | enum | Technical | First-time scan or recurring scan from the same device |
| **HTTP Method** | enum | Technical | The HTTP request method used (typically GET) |
| **Scanned At** | timestamp | Technical | When the QR code or link was accessed |
| **Triggered By** | enum | Technical | Indicates the scan was initiated by a visitor (not automated) |
| **Entrypoint** | string | Technical | Short link URL that received the request |
| **Destination** | string | Technical | Final resolved destination after workflow evaluation |
| **Link ID** | string (UUID) | Technical | Identifier of the link producing the event |
| **Device ID** | string (UUID) | Technical | Device fingerprint associated with the event |
| **Visitor ID** | string (UUID) | Technical | Visitor profile associated with the event |
| **Workspace ID** | string (UUID) | Technical | Identifier of the owning workspace |
| **Created At** | timestamp | Technical | Timestamp when the event object was created |
| **Updated At** | timestamp | Technical | Timestamp when the event object was last updated |
| **Journey** | object | Technical | How far the visit got through the link's workflow: steps reached, steps on the path, and whether it reached an exit (optional, `include=journey`) |
### Geographic and location data
| Data Field | Type | Privacy Level | Description |
|---|---|---|---|
| **Timezone** | string | Geographic | Visitor's timezone identifier (e.g. America/New_York, Europe/London) |
| **Country** | string | Geographic | Two-letter country code determined from IP address |
| **Region** | string | Geographic | Geographic region or state determined from IP address |
| **State** | string | Geographic | State or province when location can be determined |
| **City** | string | Geographic | City location estimated from IP address |
| **ISP** | string | Geographic | Internet Service Provider or network organization name |
| **ASN** | uint32 | Geographic | Autonomous System Number identifying the network routing entity |
### Device and browser data
| Data Field | Type | Collection | Privacy Level | Description |
|---|---|---|---|---|
| **Device Type** | enum | Automatic | Technical | Physical form factor: mobile, tablet, desktop, or unknown |
| **Device Actor** | enum | Automatic | Technical | Who or what is operating the device: human, bot, agent, or unknown |
| **Device Actor Name** | string | Automatic | Technical | Specific non-human actor when detected, such as Googlebot, GPTBot, or ClaudeBot |
| **Device Actor Origin** | string | Automatic | Technical | Company or organization behind the detected non-human actor, such as Google, OpenAI, or Anthropic |
| **Device Name** | string | Automatic | Technical | Specific device model (e.g. iPhone 14 Pro, MacBook Air) |
| **Device Brand** | string | Automatic | Technical | Manufacturer: Apple, Samsung, Google, Microsoft, etc. |
| **Device Memory** | double | Optional | Technical | RAM available on the device in gigabytes |
| **Device Concurrency** | int32 | Optional | Technical | Number of processor cores |
| **Screen Width** | double | Optional | Technical | Width of the device screen or browser window in pixels |
| **Screen Height** | double | Optional | Technical | Height of the device screen or browser window in pixels |
| **Screen Ratio** | double | Optional | Technical | Aspect ratio calculated from width and height |
| **GPU** | string | Optional | Technical | Graphics processor information used for rendering |
| **Browser Name** | string | Automatic | Technical | Chrome, Safari, Firefox, Edge, etc. |
| **Browser Version** | string | Automatic | Technical | Browser version string |
| **Browser Language** | string | Automatic | Technical | Language and locale preferences from the visitor's browser |
| **Platform Name** | string | Automatic | Technical | Operating system: iOS, Android, Windows, macOS, or Linux |
| **Platform Version** | string | Automatic | Technical | Operating system version string |
| **Touch Screen** | bool | Optional | Technical | True if the device supports touch input |
| **Network Connection** | string | Optional | Technical | Type of internet connection: wifi, 4g, 3g, ethernet, etc. |
| **Network Bandwidth** | double | Optional | Technical | Estimated connection speed in megabits per second |
| **Network RTT** | double | Optional | Technical | Network latency (ping time) in milliseconds |
| **User Agent** | string | Automatic | Technical | Complete browser identification string |
| **IP Address** | string | Automatic | Technical | Internet address used to connect to the QR code |
| **Last Used At** | timestamp | Automatic | Technical | Last time this device was associated with an event |
### Personal data (only collected via form submission)
| Data Field | Type | Privacy Level | Description |
|---|---|---|---|
| **Email** | string | Personal | Email address provided through form submission |
| **Phone** | string | Personal | Phone number provided through form submission |
| **First Name** | string | Personal | First name provided through form submission |
| **Last Name** | string | Personal | Last name provided through form submission |
| **Custom Attributes** | Struct | Personal | Any additional form fields or custom data provided by the visitor |
### Data collection level comparison
Configure per-campaign how much data gets collected:
| Data Category | None | Basic | Advanced |
|---|---|---|---|
| **Timestamps** | ✓ | ✓ | ✓ |
| **Success / failure status** | ✓ | ✓ | ✓ |
| **Screen resolution** | ✗ | ✓ | ✓ |
| **Browser type** | ✗ | ✓ | ✓ |
| **Operating system** | ✗ | ✓ | ✓ |
| **Country / region** | ✗ | ✓ | ✓ |
| **State / city** | ✗ | ✓ | ✓ |
| **Time zone** | ✗ | ✓ | ✓ |
| **Connection type** | ✗ | ✓ | ✓ |
| **Basic bandwidth** | ✗ | ✓ | ✓ |
| **ISP / network provider** | ✗ | ✓ | ✓ |
| **Referrer** | ✗ | ✓ | ✓ |
| **Hardware details (GPU, memory)** | ✗ | ✗ | ✓ |
| **ASN** | ✗ | ✗ | ✓ |
| **Network latency (RTT)** | ✗ | ✗ | ✓ |
| **Interaction patterns** | ✗ | ✗ | ✓ |
| **Session duration** | ✗ | ✗ | ✓ |
| **Browser language** | ✗ | ✗ | ✓ |
## Accuracy limits to understand
- **Location precision varies**: GPS can be precise with permission, IP is typically city-level.
- **Visitor deduping is probabilistic**: device fingerprints can under- or over-count on shared devices or privacy browsers.
- **Referrers are inconsistent**: some scanner apps do not pass referrer data.
- **VPNs reduce geo accuracy**: scans still count but location may be off.
## Technical and device data collection
### Device and browser information
Operating system data reveals whether visitors use iOS or Android devices, helping optimize mobile experiences for your actual audience. Understanding OS distribution helps prioritize development efforts and ensure compatibility across the platforms your customers actually use.
Browser information shows whether visitors scan and continue browsing in Safari, Chrome, or other mobile browsers. Browser data helps optimize web experiences for the applications your audience prefers and identify potential compatibility issues.
Actor detection separates the hardware from the entity behind the request. This helps distinguish real human visitors from crawlers and AI agents, so reporting, routing, and attribution stay cleaner when non-human traffic reaches a QR code or short link.
Screen resolution and device specifications reveal whether visitors use flagship smartphones with large screens or older devices with different capabilities. Device specifications help optimize visual design and user interface elements for the devices your audience actually owns.
Network connection data shows whether visitors scan while connected to WiFi networks or using cellular data. Connection information helps optimize page loading speeds and content delivery for the network conditions your audience typically experiences.
App ecosystem insights reveal which mobile applications visitors have installed, providing context for integration opportunities and preferred platforms for ongoing engagement. Understanding app preferences helps inform mobile marketing strategies.
### Location and geographic intelligence
GPS coordinates capture precise scan locations when visitors grant location permissions, enabling detailed geographic analysis. Location precision helps identify high-performing areas and optimize placement strategies based on actual engagement patterns.
IP geolocation provides approximate location data even when precise GPS isn't available, offering regional and city-level insights. IP-based location helps understand audience distribution and market penetration without requiring explicit location permissions.
Venue identification can determine where scans occur based on location data combined with business databases. Understanding specific venue types helps optimize messaging and placement strategies for different environments.
Movement patterns emerge when visitors scan multiple codes or return to locations over time. Movement data reveals customer journey patterns in the physical world that complement digital analytics and inform omnichannel strategies.
Network provider intelligence captures Internet Service Provider (ISP) names and Autonomous System Numbers (ASN) from IP addresses. ISP data identifies which telecommunications companies your visitors use, while ASN reveals the specific network routing entities. This information helps detect corporate networks, educational institutions, cloud services, VPN usage, and hosting providers, valuable for B2B lead qualification, security analysis, and understanding whether visitors are engaging from business or residential contexts.
Time zone information helps understand when audiences in different regions are most active and responsive. Time zone data supports global campaign optimization and scheduling for maximum engagement effectiveness.
### Temporal and behavioral patterns
Scan timing data captures exactly when visitors engage with QR codes, revealing daily patterns, peak activity periods, and audience behavior rhythms. Timing insights help optimize campaign scheduling and resource allocation for maximum impact.
Session duration tracking shows how long visitors spend on your site after scanning, indicating engagement quality and content relevance. Session data helps optimize post-scan experiences and identify content that resonates most effectively.
Page view sequences reveal how visitors navigate through your content after scanning, showing information consumption patterns and interest areas. Navigation data helps optimize information architecture and content organization.
Return visit behavior identifies visitors who engage multiple times, indicating sustained interest and relationship development potential. Repeat engagement patterns help identify high-value audience segments for focused attention.
Conversion pathway tracking follows visitors through complete workflows from initial scan to final business outcomes. Pathway data reveals optimization opportunities and measures the effectiveness of different conversion designs.
## Visitor identification and demographic insights
### Anonymous visitor tracking
Device fingerprinting creates unique visitor profiles based on technical characteristics without collecting personally identifiable information. Fingerprinting enables visitor recognition across sessions while maintaining privacy compliance.
Behavioral segmentation groups anonymous visitors based on their actions and engagement patterns. Behavioral grouping reveals audience segments and optimization opportunities without requiring personal identification or consent.
Geographic clustering identifies visitor patterns based on scan locations and timing. Location-based clustering provides audience insights while respecting privacy preferences and regulatory requirements.
Technology preference analysis reveals audience characteristics based on device choices and software usage. Technology patterns help understand audience sophistication and optimize experiences accordingly.
### Consent-based identification
Email capture through strategic forms provides direct visitor identification when individuals willingly share contact information. Email collection enables ongoing communication and relationship development with engaged prospects.
Social media integration allows visitor identification when users connect through social platforms after scanning. Social connections provide rich demographic data and enable engagement through familiar platforms.
Account creation workflows identify engaged visitors who create profiles after scanning QR codes. Account-based identification provides comprehensive visitor data while ensuring explicit consent for data collection.
Survey integration captures visitor characteristics and preferences through voluntary participation in research activities. Survey data provides qualitative insights that complement quantitative analytics for comprehensive audience understanding.
### Demographic inference techniques
Age estimation can be inferred from device choices, technology adoption patterns, and usage behaviors. Age insights help optimize messaging and product positioning for different generational preferences.
Income level indicators emerge from device value analysis and location data combined with demographic databases. Economic insights help optimize pricing strategies and product positioning for different market segments.
Interest category analysis reveals what topics generate the most engagement based on content consumption patterns. Interest data helps optimize content strategies and product development priorities.
Lifestyle pattern identification uses timing data and location patterns to understand audience characteristics. Lifestyle insights help optimize messaging timing and channel selection for maximum effectiveness.
## Behavioral and engagement analytics
### Content interaction patterns
Content consumption depth shows which information visitors find most valuable after scanning. Understanding content preferences helps optimize information architecture and messaging strategies specifically for QR code traffic.
Engagement sequence analysis reveals how visitors progress through different content sections and what path generates the best outcomes. Sequence data helps optimize content organization and conversion workflows.
Interest level indicators emerge from time spent on different content types and return visits to specific information. Interest patterns help prioritize content development and optimization efforts.
Sharing behavior tracking identifies when visitors share your content or encourage others to scan codes. Sharing patterns help identify potential advocates and optimize content for viral potential.
### Conversion and business outcome data
Lead generation tracking captures when visitors provide contact information or request additional communication. Lead data provides direct business value measurement and helps optimize conversion workflows.
Purchase behavior analysis tracks when QR code scans lead to actual purchases or contract signings. Purchase data enables accurate ROI calculation and optimization for revenue generation.
Support request patterns show when visitors need assistance or have questions after scanning. Support data helps optimize self-service content and identify common customer needs.
Referral tracking identifies when QR code visitors become customers who refer others to your business. Referral patterns help identify high-value customers and optimize loyalty programs.
### Long-term relationship indicators
Customer lifecycle progression tracks how visitor engagement evolves from initial scan through ongoing business relationship. Lifecycle data helps optimize customer development strategies and resource allocation.
Retention and loyalty patterns show which visitors become long-term engaged customers. Retention insights help identify characteristics of high-value customers for targeting optimization.
Value development analysis tracks how customer worth increases over time from initial QR code interaction. Value progression data helps optimize customer development strategies and relationship management.
Cross-sell and upsell indicators identify when customers are ready for additional products or services. Expansion readiness patterns help optimize revenue growth strategies and timing.
## Privacy compliance and data governance
### Legal requirements and regulations
With [eight new U.S. state privacy laws taking effect in 2025](https://www.lexology.com/library/detail.aspx?g=fe9e7b45-fbbf-4906-972f-9d541f5516d1), and GDPR fines reaching EUR 20M or 4% of global revenue for non-compliance, businesses must prioritize privacy-compliant data collection strategies to avoid substantial financial penalties.
GDPR compliance requires explicit consent for personal data collection and clear privacy notices explaining data usage. European regulations mandate visitor control over their data and the right to request deletion.
CCPA compliance provides California residents with rights to know what data is collected, request deletion, and opt out of data sharing. Clear privacy policies and user control mechanisms ensure regulatory compliance.
COPPA requirements apply when collecting data from children under 13, requiring parental consent and additional privacy protections. Age-appropriate data practices ensure compliance when targeting family audiences.
International privacy laws vary by jurisdiction and require understanding of local requirements for data collection and processing. Global compliance strategies ensure legal operation across different markets.
### Consent management strategies
Transparent consent requests explain exactly what data will be collected and how it will be used. Clear communication increases consent rates while ensuring visitors make informed decisions about data sharing.
Granular consent options allow visitors to choose which types of data they're comfortable sharing. Selective consent respects visitor preferences while enabling valuable data collection from willing participants.
Consent withdrawal mechanisms enable visitors to revoke permissions and delete their data on request. Easy withdrawal processes build trust while maintaining compliance with privacy regulations.
Value exchange clarity explains what benefits visitors receive in exchange for data sharing. Clear value propositions increase consent rates and build positive relationships with your audience.
### Data minimization and security
Purpose limitation ensures collected data is only used for stated business purposes. Clear purpose boundaries build trust and ensure ethical data handling practices that maintain visitor relationships.
Data retention policies define how long visitor information is stored and when it will be deleted. Reasonable retention periods demonstrate responsible data handling while enabling valuable analysis.
Security measures protect collected data against unauthorized access or breaches. Strong security practices maintain visitor trust while ensuring business data protection and regulatory compliance.
Anonymization processes remove personally identifiable information while preserving valuable analytics insights. Proper anonymization enables valuable analysis while protecting visitor privacy.
:::register-linkbreakers-banner {"eyebrow":"Try Linkbreakers","headline":"Collect rich data from every QR code scan","description":"Linkbreakers captures comprehensive visitor data including device info, location intelligence, and behavioral patterns while maintaining privacy compliance.","ctaHref":"https://app.linkbreakers.com/workspace/sign-up/wizard?ref=help-overview-data"}:::
## Linkbreakers data collection capabilities
### Comprehensive visitor analytics
The [Linkbreakers platform](https://app.linkbreakers.com/workspace/dashboard/visitors) collects detailed visitor data including device information, location intelligence, behavioral patterns, and engagement metrics. The platform provides privacy-compliant data collection that balances business intelligence with visitor trust.
Real-time data processing ensures visitor information is immediately available for analysis and optimization. Instant data availability supports tactical decision-making and enables rapid response to performance changes or opportunities.
Geographic intelligence captures location data with appropriate privacy protections and consent management. Location insights help optimize placement strategies and understand market penetration without compromising visitor privacy.
Device analytics reveal audience technology preferences and capabilities, helping optimize user experiences for actual visitor characteristics. Device data supports technical optimization and ensures compatibility across audience preferences.
Behavioral tracking follows visitor engagement patterns and conversion pathways while maintaining privacy compliance. Behavioral insights help optimize customer experiences and identify high-value audience segments.
### Privacy first data practices
Consent management integration enables visitors to control their data sharing preferences while allowing valuable analytics collection from consenting users. Transparent consent processes maximize data collection while respecting privacy preferences.
Anonymous tracking options provide valuable audience insights without collecting personally identifiable information. Privacy-focused tracking enables sophisticated analytics while maintaining compliance and building visitor trust.
Data retention controls ensure visitor information is only stored as long as necessary for business purposes. Automated data deletion demonstrates responsible data handling while maintaining regulatory compliance.
Export and deletion capabilities enable visitors to access or remove their data on request. User control features ensure privacy compliance while maintaining positive visitor relationships.
### Integration and automation capabilities
[CRM integration](https://linkbreakers.com/help/api) enables visitor data to enhance existing customer profiles when visitors provide consent for identification. Integration provides comprehensive customer understanding across all touchpoints.
[Webhook notifications](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enable real-time data streaming to business systems while maintaining privacy compliance. Integration ensures visitor data immediately enhances business processes.
Custom event tracking captures specific business outcomes that align with organizational objectives. Custom tracking ensures data collection focuses on metrics that matter for business success rather than generic analytics.
Automated data processing transforms raw visitor data into actionable insights without manual analysis. Automation ensures timely business intelligence while reducing operational overhead and analysis complexity.
## Frequently Asked Questions
### What personal data can I legally collect from QR code scans?
You can collect technical device data and behavioral patterns without consent, but personal identification requires explicit permission and clear privacy notices. Focus on anonymous aggregate data when possible to minimize privacy concerns while gaining valuable insights.
### How accurate is location data from QR code scans?
Location accuracy depends on visitor privacy settings and device capabilities. With permission, GPS can provide accuracy within a few meters. IP geolocation offers city-level accuracy without requiring permissions. Plan analytics strategies that work with varying location precision.
### Can I track visitors across multiple QR code scans?
Yes, through device fingerprinting and consent-based tracking for users who agree to data collection. However, privacy regulations increasingly limit cross-session tracking without explicit consent. Focus on session-based analytics and aggregate patterns for privacy compliance.
### What's the difference between anonymous and identified visitor data?
Anonymous data provides behavioral insights and aggregate patterns without personal identification. Identified data includes contact information and enables ongoing relationship development. Both types provide valuable business intelligence for different purposes.
---
# What's a page theme template?
Source: https://linkbreakers.com/help/article/whats-a-page-theme-template
## Short answer
A page theme template is reusable page styling: canvas colour, interactive element colour, typography, container, and optionally a cover image and badge. Apply one to any link and its page picks up that look immediately. You can save your own, publish it so anyone can find it in the public gallery, and import templates other workspaces have published.
## Quick summary
- Every link already has its own page theme. A template is a saved copy of one, detached from any link.
- Applying a template **copies** its styling into the link's own theme. Editing or deleting the template later never changes a page you already styled.
- Linkbreakers maintains a set of official templates, available to every workspace.
- Publishing a template needs a name, a description, a slug, and a public workspace profile.
- Importing a published template gives you your own editable copy, including its cover and badge images.
## How it works
### Applying a template
Open a link's page theme editor and choose **Themes**. The gallery shows the templates you own, the official Linkbreakers ones, and templates other workspaces have published, ordered so the ones you already use come first.
Picking one copies its styling onto the link. You can keep editing afterwards; the template is unaffected.
### Saving your own
In the page theme editor, choose **Save as template**. Give it a name, a description and some tags. The template takes a copy of the current styling, so you can carry on editing the link without changing what you saved.
### Publishing
Open **Page Themes** in the dashboard, edit the template, and give it a slug. Then publish it. It appears at `linkbreakers.com/page-themes/your-slug` with its description, learn more copy and FAQ, credited to your workspace.
Your workspace profile has to be public before a template can be published.
### Importing
If you find a published template you want to build on, import it by slug from the dashboard. You get your own copy, and any cover or badge images are copied into your workspace so the theme stays intact.
## Frequently asked questions
### What happened to the page theme presets?
They are still here, as official templates. Everything that used to be a preset is now browsable, searchable and taggable, and sits in the same gallery as templates you and other people create.
### If I delete a template, do the pages using it change?
No. Applying a template copies the styling into each link's own theme, so a link never depends on the template afterwards. Deleting one only removes it from your gallery.
### If I edit a template, do existing pages update?
No, for the same reason. Editing a template changes what future applications of it look like. To restyle an existing page, apply the template to it again.
### Can I use someone else's cover image?
Yes. Applying or importing a template that carries a cover or badge copies those images into your workspace, so they keep working and appear in your media library.
### Does a template carry the whole page?
It carries styling, not content. Your headline, links and workflow steps are yours; the template sets how they look.
---
# What's a page theme?
Source: https://linkbreakers.com/help/article/whats-a-page-theme
## Short answer
This article explains what's a page theme with practical guidance, limits, and implementation details so you can apply it consistently.
Page themes in Linkbreakers represent your visual brand identity applied consistently across all interactive elements of your links. Think of them as design templates that automatically style every form, password screen, contact card, and other interactive module to match your brand guidelines.
When someone scans your QR code or clicks your shortened link, they don't just see content. They experience your brand through carefully crafted visual elements that build recognition and trust.
## Quick summary
- Style interactive modules including forms, password screens, and contact cards with consistent brand identity
- Remove all Linkbreakers branding on paid plans for complete white-label visitor experiences
- Apply themes instantly across all links using automated styling systems that maintain visual consistency
- Create multiple themed templates for different campaign types with professional or event-specific designs
- Integrate with design workflows through PageTheme API schema for programmatic theme management
- Ensure accessibility compliance with built-in color contrast validation and responsive design principles
## How page themes work
Every link you create can have a specific page theme assigned to it. This theme controls the visual appearance of all interactive components that visitors encounter during their journey.
> "Your brand shouldn't disappear when someone interacts with your content. Page themes ensure every touchpoint feels authentically yours."
The theme system goes beyond simple color changes. It orchestrates typography, spacing, button styles, form layouts, and visual hierarchy to create cohesive experiences that reinforce your brand identity without requiring design expertise.
Interactive modules automatically inherit styling from the assigned page theme. This means a contact form on one of your links will look identical to a password protection screen on another link, creating predictable brand experiences across all your campaigns.
## Interactive modules that use page themes
Several key components throughout your link experiences apply page theme styling:
**Form modules** collect visitor information through surveys, lead generation forms, event registrations, and feedback collection. Page themes ensure these forms match your brand colors, typography, and visual style while maintaining usability and accessibility standards.
**Password protection screens** secure sensitive content behind branded authentication interfaces. Rather than generic login pages, visitors see password prompts that feel integrated with your brand identity and build confidence in your content security.
**Contact cards** display your business information, social media links, and contact details in visually consistent formats. Page themes style these digital business cards to match your broader marketing materials and website design.
**Workflow interfaces** guide visitors through multi-step processes like event check-ins, product registrations, or content gating. Page themes maintain visual consistency throughout these complex interactions.
Each module type respects theme specifications while optimizing for its specific function. A form might emphasize input field styling, while contact cards prioritize clear information hierarchy.
## Brand consistency across campaigns
Page themes solve the common problem of fragmented brand experiences in digital marketing. Traditional link management often forces you to accept generic styling that doesn't match your brand guidelines.
Campaign managers frequently struggle with maintaining visual consistency when their QR codes lead to forms or landing pages that look nothing like their marketing materials. Page themes eliminate this disconnect by ensuring every interaction feels branded and intentional.
Marketing teams can create themed templates for different campaign types. Event promotion might use energetic colors and bold typography, while corporate communications employ professional styling with subtle branding elements.
The consistency extends to user experience patterns. Visitors who interact with multiple links from your organization develop familiarity with your interface patterns, reducing friction and building trust through repeated positive experiences.
## Paid plan benefits and branding
Free plan users experience Linkbreakers branding alongside their own visual identity. While functional, this shared branding approach limits professional appearance and can confuse visitors about content ownership.
Paid plans remove all Linkbreakers branding from your page themes and interactive modules. This white-label capability means visitors see only your brand identity throughout their entire journey, from initial QR code scan through final interaction completion.
Professional organizations often require complete brand control for compliance, marketing consistency, or competitive differentiation. Paid plans ensure your brand remains the sole focus without third-party attribution diluting the experience.
The branding removal affects all visitor-facing elements including loading screens, error messages, form headers, and completion confirmations. Every pixel visitors see reinforces your brand rather than introducing external references.
## Technical implementation
Page themes integrate with the broader Linkbreakers design system through the PageTheme API schema. This technical foundation ensures themes work reliably across all supported browsers and devices while maintaining visual fidelity.
The theming system leverages modern CSS capabilities and responsive design principles. Themes automatically adapt to different screen sizes without breaking layout integrity or compromising usability on mobile devices.
Color accessibility standards are built into the theme validation process. The system prevents color combinations that would create readability issues for visitors with visual impairments, ensuring your branded experiences remain inclusive.
Theme changes apply instantly across all links using that theme. You can update brand colors, fonts, or styling elements in one place and see those changes reflected immediately on all associated interactive modules.
## Creating effective page themes
Successful page themes balance brand expression with functional clarity. Visual elements should enhance rather than hinder user interactions while creating memorable brand touchpoints.
Consider your existing brand guidelines when defining theme elements. Colors, fonts, and spacing should feel consistent with your website, marketing materials, and other brand touchpoints to create cohesive experiences.
Test themes across different interactive modules to ensure styling works well for various content types. A theme that looks great on contact cards might need adjustments to work effectively with complex forms or multi-step workflows.
Think about context when designing themes. QR codes used at trade shows might benefit from high-contrast themes optimized for quick scanning, while email campaign themes might prioritize elegant typography and subtle branding.
## Performance and reliability
Page themes are designed for speed and reliability. The styling system loads quickly without impacting interactive module performance or creating delays that frustrate visitors.
Theme assets are optimized and cached appropriately to ensure fast loading times even on slower internet connections. This technical consideration prevents brand customization from negatively affecting user experience.
The theme system degrades gracefully if styling encounters technical issues. Interactive modules remain functional even if custom styling temporarily fails to load, ensuring visitor interactions can complete successfully.
Backup styling prevents blank or broken interfaces during edge case scenarios. The platform maintains usable default appearances that activate automatically if theme loading encounters problems.
## Use the Linkbreakers API for advanced theming
Most page theme functionality can be built and customized through the [Linkbreakers API](/help/api). The PageTheme schema provides programmatic access to theme creation, modification, and assignment operations.
Developers can integrate theme management into existing workflows, automatically generate themes based on brand asset libraries, or create dynamic theming systems that respond to campaign requirements.
The API enables bulk theme operations, automated testing of theme implementations, and integration with design systems or content management platforms already used by marketing teams.
## Frequently Asked Question
**What's the difference between a page theme and a QR code design?**
Page themes control the visual styling of interactive modules like forms and password screens that visitors encounter after scanning your QR code. QR code designs customize the appearance of the QR code itself. Both work together to create cohesive brand experiences, but they style different parts of the visitor journey.
**Can I use different page themes for different types of content?**
Absolutely. Each link can have its own page theme assigned. This flexibility allows you to use professional styling for business content, event-specific themes for promotions, or campaign-tailored themes that match specific marketing initiatives.
**Do page themes affect loading speed or mobile performance?**
No, page themes are optimized for speed and don't impact interactive module performance. The styling system loads efficiently and degrades gracefully to ensure visitor interactions remain fast and functional across all devices and connection speeds.
**Can I preview how my page theme looks before applying it?**
Yes, the theme system includes preview capabilities that show how your styling will appear across different interactive modules. You can test themes with sample content before assigning them to active links or campaigns.
**What happens if I change a page theme that's already being used?**
Changes to page themes apply instantly across all links using that theme. All interactive modules will immediately reflect the updated styling, making it easy to maintain brand consistency or update themes for seasonal campaigns.
**Are there limits on how many page themes I can create?**
Theme limits depend on your plan level. Free plans include basic theming capabilities, while paid plans provide expanded theme creation and customization options. Check your plan details for specific limits and features.
**Can page themes include custom fonts and advanced styling?**
Yes, page themes support custom typography, color schemes, spacing adjustments, and advanced styling elements. The theme system is designed to accommodate comprehensive brand guidelines while maintaining usability and accessibility standards.
**Do page themes work with all interactive modules?**
Page themes apply to all supported interactive modules including forms, password protection, contact cards, and workflow interfaces. The styling adapts appropriately for each module type while maintaining visual consistency across your brand experience.
**How do I ensure my page themes are accessible for all visitors?**
The theme system includes accessibility validation that prevents color combinations with poor contrast ratios. Additionally, themes are tested across different devices and assistive technologies to ensure your branded experiences remain inclusive and usable.
**Can I export or backup my page themes?**
Theme data can be accessed through the [Linkbreakers API](/help/api) for backup and migration purposes. This programmatic access enables integration with version control systems or design asset management workflows used by larger organizations.
**What's included in the white-label experience for paid plans?**
Paid plans remove all Linkbreakers branding from your page themes and interactive modules. Visitors see only your brand identity throughout their entire journey, including loading screens, form headers, completion messages, and error dialogs.
**Can I share page themes across different team members or workspaces?**
Theme sharing depends on your workspace configuration and member roles. Team collaboration features allow theme templates to be shared and reused across campaigns while maintaining appropriate access controls and brand consistency standards.
::::register-linkbreakers-banner {"eyebrow":"Try Linkbreakers","headline":"Create beautiful branded page themes","description":"Linkbreakers enables professional page theming with complete brand control, white-label experiences, and seamless integration across all interactive modules.","ctaHref":"https://app.linkbreakers.com/workspace/sign-up/wizard?showcase=default&ref=help-overview-page-themes"}:::
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Why use contact cards from Linkbreakers?
Source: https://linkbreakers.com/help/article/why-use-contact-cards-from-linkbreakers
## Short answer
This article explains why use contact cards from linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
You've probably experienced this before. You're at a networking event, someone hands you their business card, and by the time you get home, it's either lost in your bag or you can't be bothered to manually type all that information into your phone. What if there was a better way?

Contact cards from Linkbreakers solve this ancient problem with modern technology. But here's what makes them different from other digital contact solutions: they actually work across all devices without the compatibility headaches that plague most VCF implementations.
## Quick summary
- **Solve device compatibility issues** with universal contact cards that work across iOS, Android, and desktop systems through automatic format optimization
- **Enable instant updates** without reprinting by modifying contact information dynamically while keeping the same QR code functional
- **Add social links and WhatsApp** to contact cards so visitors can connect across platforms with a single tap
- **Implement complete brand customization** with unlimited QR code styling, company logos, custom colors, and professionally designed contact pages
- **Access comprehensive analytics** to track networking effectiveness including scan locations, timing patterns, and visitor engagement metrics
- **Integrate with business systems** through APIs and webhooks for automated CRM updates, lead notifications, and marketing automation triggers
- **Manage team contact cards** centrally with fleet oversight, unified branding enforcement, and organization-wide information updates
:::try-ai-prompt {"prompt":"Create a contact card with my name, job title, company, email, phone number, and add LinkedIn and WhatsApp links.","description":"Try creating a digital business card with the AI builder. It will ask you for your details."}:::
## The compatibility nightmare that Linkbreakers solves
Anyone who's tried sharing VCF files knows the frustration. Your carefully crafted contact card works perfectly on your iPhone, but when your Android colleague tries to download it, nothing happens. Or worse, it downloads but corrupts the contact information.
This isn't a small problem. According to StatCounter's 2024 mobile OS market share data, Android holds about 71% of the global smartphone market while iOS captures 28%. When your digital business card only works for one platform, you're essentially excluding a massive portion of your potential network.
Linkbreakers tackles this head-on with a dual-experience approach. When someone scans your QR code, they land on a professionally designed contact page that works universally across all devices and browsers. From this branded page, they can either download a perfectly formatted VCF file for their native contact app, or add your information directly through the web interface.
> Traditional VCF files fail on approximately 15-20% of devices due to formatting inconsistencies and vendor-specific implementations.
## How the magic happens behind the scenes
The technical foundation isn't complicated, but it's thorough. Linkbreakers generates vCard 3.0 standard files with precise field formatting that maintains compatibility across iOS, Android, and desktop contact applications.
But compatibility goes deeper than just following standards. Different manufacturers implement vCard parsing differently. Samsung's contact app handles organization fields differently than Google Contacts. iPhones are pickier about line endings than most people realize.
Our system accounts for these quirks automatically. When someone scans your contact card QR code, we serve device-specific VCF formatting while maintaining the exact same user experience. You create one contact card, and it works everywhere.
Every interaction with your contact page is tracked in your analytics, whether visitors download the VCF file or use the web interface to add your contact. This gives you complete visibility into how people engage with your contact information and which methods they prefer.
## Dynamic updates without the printing costs
Here's where traditional business cards become expensive mistakes. You print 1,000 cards with your phone number, then switch carriers and get a new number. Those cards aren't just useless; they're actively counterproductive, sending contacts to a dead end.
Linkbreakers contact cards eliminate this problem entirely. Change your phone number, email address, or job title, and every QR code you've ever shared updates instantly. The same QR code that worked at last month's conference will reflect your current information today.
This isn't just convenient for you. It's respectful to your network. When someone saved your contact information six months ago and finally decides to reach out, they'll connect with your current details, not outdated information that leads nowhere.
The cost savings add up quickly too. A mid-level professional might spend $200-400 annually on business card reprints due to information changes. Linkbreakers contact cards cost a fraction of that while providing far superior functionality.
## Complete brand customization that actually matters
Most digital contact solutions treat design as an afterthought. Linkbreakers approaches it differently, understanding that professional appearance directly impacts networking success.
QR code customization is completely open-ended. You're not limited to preset templates. Choose any colors for the dots, corners, and background. Upload your company logo and control its size and positioning. Adjust dot shapes from squares to circles to custom designs. Set error correction levels based on your specific use case. Create QR codes that perfectly match your brand guidelines down to the exact hex colors. Learn more about [QR code design capabilities](/help/article/whats-a-qr-code-design) and customization options.
The contact page experience goes far beyond basic VCF downloads. When someone scans your QR code, they land on a professionally designed contact page that you can fully customize to match your brand using [page themes](/help/article/whats-a-page-theme). This isn't just a fallback option; it's the primary experience that gives visitors multiple ways to connect with you.
From this branded contact page, visitors can choose to download the VCF file for their native contact app, or they can add your contact information directly using the web interface. Both options are tracked in your analytics, giving you complete visibility into how people prefer to save your information.
## Analytics that transform networking
Traditional business cards provide zero feedback. You hand them out and hope for the best. Linkbreakers contact cards turn networking into a measurable activity with actionable insights.
Every scan generates detailed analytics: timestamp, geographic location, device type, and visitor tracking for repeat interactions. You'll know exactly which networking events produce the most engagement and which contacts are actively interested in maintaining the connection.
This data becomes powerful for follow-up strategies. When you see someone accessed your contact card three times over two weeks, that's a strong signal for prioritizing that relationship. When you notice several scans from a specific company after a presentation, you know your message resonated with that audience.
The [visitor tracking system](/help/article/what-is-visitor-tracking-in-linkbreakers) integration with [Linkbreakers analytics](https://app.linkbreakers.com/workspace/dashboard/visitors) provides even deeper insights, helping identify patterns in how your network engages with your information.
## Integration possibilities most people miss
Contact cards don't exist in isolation. Linkbreakers connects them to your existing business processes through webhooks and API integrations.
Set up [webhook notifications](/help/article/how-do-webhooks-work-in-linkbreakers) and get instant alerts when someone accesses your contact information. This enables immediate follow-up while the networking interaction remains fresh in both parties' minds. CRM systems can automatically create new leads from contact card scans. Email marketing platforms can add new contacts to appropriate nurture sequences.
The [Linkbreakers API](/help/api) opens even more possibilities for businesses managing multiple team members or events requiring bulk contact card generation. Everything that works manually through the dashboard can be automated programmatically.
## When traditional methods still make sense
Linkbreakers contact cards aren't always the perfect solution. High-security environments might restrict QR code scanning. Older demographics sometimes prefer physical business cards. Certain formal business cultures still expect traditional card exchanges.
But these situations are becoming increasingly rare. Even conservative industries are recognizing the practical advantages of digital contact sharing. The key is reading the room and having both options available.
## Real-world implementation strategies
1. **Create event-specific contact cards** with different information emphasis based on context
2. **Test across device types** before important networking events to ensure flawless operation
3. **Use descriptive naming** in your Linkbreakers dashboard for easy management of multiple cards
4. **Monitor analytics patterns** to identify optimal follow-up timing for different contact types
The most successful users create multiple contact cards tailored to different professional contexts rather than trying to force one generic card to work everywhere.
## API-driven contact card automation
Here's where Linkbreakers truly shines for technical teams. You can manage your entire contact card ecosystem programmatically through the API. Create, update, and delete contact cards without ever touching the dashboard interface.
This opens up powerful automation scenarios. Connect Linkbreakers to your HR system so new employees automatically get branded contact cards on their first day. Integrate with your CRM to generate event-specific contact cards for trade show attendees. Use pipeline tools like N8N to update contact information across your entire team when company details change.
The API supports all contact card functionality: VCF generation, QR code styling, analytics retrieval, and bulk operations. Your development team can build contact card management directly into existing business systems, eliminating manual administrative overhead.
For companies with frequent personnel changes or complex organizational structures, API automation becomes essential for maintaining consistency and reducing operational burden.
## Centralized fleet management for businesses
Business owners get comprehensive visibility into their organization's entire contact card ecosystem. The [team dashboard](https://app.linkbreakers.com/workspace/dashboard/members) provides centralized oversight of all employee contact cards with unified analytics and management capabilities.
You'll see which team members are generating the most networking activity, which departments are most active at industry events, and how your organization's collective networking efforts translate into business opportunities. This data becomes invaluable for evaluating conference ROI, identifying top networkers for special assignments, and understanding industry engagement patterns.
Fleet management extends beyond just monitoring. You can instantly update company-wide information across all employee contact cards. When your office moves or phone system changes, propagate those updates to every team member's contact card simultaneously. No more hunting down individuals to update their business cards.
The centralized approach also enables consistent branding enforcement. Set organizational standards for QR code styling, color schemes, and information formatting. Individual employees can personalize their contact details while maintaining professional brand consistency across your entire workforce.
## Pipeline automation with N8N and workflow tools
Modern businesses run on automated workflows, and contact cards shouldn't be an exception. Linkbreakers integrates seamlessly with automation platforms like N8N, Zapier, and Make.com to create sophisticated contact management pipelines.
Consider this real-world scenario: When someone scans a contact card at a trade show, the system automatically adds them to your CRM, triggers a personalized follow-up email sequence, creates a task for the appropriate sales representative, and logs the interaction in your marketing attribution platform. All without manual intervention.
Pipeline automation becomes particularly powerful for event management. Set up workflows that create event-specific contact cards for all attendees, customize information based on their registration data, and automatically archive outdated cards when events conclude.
The webhook system enables real-time pipeline triggers. The moment someone accesses a contact card, your automation workflow springs into action with fresh, contextual data about the interaction.
## Unified team branding and consistency
Maintaining brand consistency across a distributed team is challenging with traditional business cards. Linkbreakers solves this through centralized brand management with individual flexibility.
Set organizational QR code styling standards that automatically apply to all team member contact cards. Upload your company logo once and it becomes available for all employee QR codes. Define color palettes, error correction levels, and design templates that maintain professional consistency regardless of who's creating contact cards.
The system balances brand enforcement with individual needs. Sales representatives can emphasize different contact methods than customer support staff, but both groups maintain consistent visual branding that reinforces your organizational identity.
Custom domain integration through [custom domain settings](https://app.linkbreakers.com/workspace/dashboard/custom-domains) ensures all contact cards use your branded URLs rather than generic Linkbreakers domains. When prospects see your contact card URLs, they reinforce your brand recognition even before accessing the actual contact information.
## Advanced analytics for business intelligence
Fleet-level analytics transform individual networking activities into organizational business intelligence. See which industry events generate the most qualified leads across your entire team. Identify geographic regions where your contact cards receive the highest engagement rates. Track seasonal networking patterns that inform conference planning and resource allocation.
The aggregate data reveals insights impossible to gather from individual contact card analytics. You might discover that contact cards shared via email signatures convert at higher rates than those distributed at in-person events, leading to strategy adjustments across your marketing efforts.
Visitor tracking at the organizational level helps identify companies showing repeated interest in your team members. When multiple employees from the same prospect company access different team member contact cards, that signals heightened organizational interest worth prioritizing. Learn more about [how to track who scans your QR codes](/help/article/how-can-i-track-who-scans-my-qr-codes).
Export capabilities enable integration with business intelligence platforms for deeper analysis combining contact card data with sales performance, marketing attribution, and customer acquisition metrics.
## Beyond basic contact sharing
Individual contact cards are just the starting point. Linkbreakers contact cards integrate with broader workflow automation through [webhook integrations](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) for automatic CRM updates and real-time notifications when VIP contacts access your information.
Event organizers can create attendee-specific contact cards that include session information, resource downloads, and follow-up scheduling links. The flexibility extends to temporary contact cards for project teams, consultant engagements, and partnership collaborations.
## Technical architecture for developers
The underlying system architecture follows the vCard 3.0 specification with extensions for enhanced device compatibility. Generated VCF files include standard fields (FN, TEL, EMAIL, ORG, TITLE, URL, ADR) with proper encoding and line termination. Social media profiles are stored using the `X-SOCIALPROFILE` vCard extension, which modern contact applications can parse and display alongside traditional contact fields.
QR codes use high error correction levels (30%) to maintain scannability even when printed at small sizes or partially obscured. The fallback routing system analyzes user agent strings and device capabilities to serve optimal content delivery.
## Getting started and scaling up
Begin with [creating a basic contact card](https://app.linkbreakers.com/workspace/links/create?type=contact-card) to understand the workflow. Most users find value immediately, but the real benefits compound over time as your network grows and analytics reveal patterns.
For teams and businesses, consider the API integration possibilities early. What starts as simple contact sharing often evolves into comprehensive lead generation and relationship management automation.
## Frequently Asked Questions
**Do Linkbreakers contact cards work offline?**
QR code scanning requires internet connectivity to access the contact information. However, once someone downloads the VCF file, the contact information functions normally in their device's contact app without internet access.
**Can I track individual contacts who scan my QR code?**
Linkbreakers provides aggregate analytics including geographic regions, device types, and scan timing. Learn more about [what data Linkbreakers collects](/help/article/what-data-linkbreakers-collects-from-qr-code-scans) and [visitor tracking capabilities](/help/article/what-is-visitor-tracking-in-linkbreakers). Individual visitor identification requires additional privacy considerations and isn't enabled by default.
**What happens to my contact cards if I cancel my Linkbreakers subscription?**
Active contact cards remain functional during your billing period. After cancellation, QR codes will redirect to a notification about the inactive account rather than failing silently.
**Can I use custom domains for my contact card pages?**
Yes, Linkbreakers supports [custom domain configuration](https://app.linkbreakers.com/workspace/dashboard/custom-domains) for professional branding of all generated links, including contact cards.
**How do contact cards compare to other digital business card solutions?**
Linkbreakers focuses on universal compatibility and integration capabilities rather than feature complexity. The emphasis is on reliable functionality across all devices with comprehensive analytics and automation options. For advanced networking strategies, see our guide on [advanced contact card strategies for business networking](/help/article/advanced-contact-card-strategies-for-business-networking).
**Is there a limit to how many times someone can scan my contact card?**
No usage limits exist for contact card scans. They function like any other Linkbreakers link with unlimited access capability based on your plan's overall link allocation.
**Can I embed contact card information in email signatures?**
Yes, contact card QR codes work excellently in email signatures. Many users find this generates more contact additions than traditional signature text because recipients can scan directly from their mobile devices.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What is Linkbreakers and what problems it solves
Source: https://linkbreakers.com/help/article/what-is-linkbreakers-and-what-problems-it-solves
## Short answer
Linkbreakers is lead capture infrastructure for the physical world. People show intent in front of physical objects every day: a house for sale, a car on a lot, a booth at a trade show, a product on a shelf. Most of that intent disappears, or shows up as a scan count. Linkbreakers turns it into identified, qualified leads.
Every QR code or link you place runs a workflow that asks what you need to know, and every person who scans becomes a visitor record with their identity and the attributes you chose to collect. Leads leave through webhooks, the API, SDKs in five languages and an MCP server, so you can use Linkbreakers as it is or [build your own lead capture product on it](https://linkbreakers.com/build).
## Overview
Linkbreakers turns QR codes and links into lead capture pipelines. While many tools simply generate static QR codes that redirect users, Linkbreakers helps you turn real-world scans into digital interactions through sophisticated workflows, embedded forms, smart routing based on behavior and profile data, and AI-powered insights. Transform each scan into an ongoing customer relationship through multi-step journeys from first touch to conversion and retention.
At its core, Linkbreakers recognizes that the moment someone scans your QR code or clicks your link is valuable. Rather than immediately redirecting them to your website, you can build complete customer journeys using our workflow system. Design custom forms to capture intent and context, implement smart routing rules based on profile and behavior, and use AI insights to personalize follow-up. This workflow-driven approach transforms passive redirects into active customer interaction systems that bridge offline discovery with online relationship nurturing.
Turn paper into instant access by placing QR codes on brochures, flyers, or product packaging. With Linkbreakers, scans can open user manuals, how-to videos, audio guides, images, product specifications, discounts, and any other relevant resources without sending people hunting for the right link.
## The Linkbreakers difference
What sets Linkbreakers apart from traditional QR code generators and link shorteners is its complete customer journey system built on workflows. Every QR code and shortened link becomes the entry point to a journey where you can capture interactions through custom forms, route visitors intelligently based on behavior and profile data, collect rich customer signals automatically, and prioritize next best actions with AI insights. This workflow-driven approach transforms simple redirects into connected offline-to-online experiences that capture, engage, and convert every visitor.
Beyond the workflow system, Linkbreakers provides unprecedented control over QR code visual design. While most QR code generators offer basic color customization, Linkbreakers enables programmatic design control through its comprehensive API. You can customize every visual element, from dot shapes and corner styles to background options and central images, creating QR codes that are not just functional but truly on-brand and visually striking. The platform supports multiple export formats including SVG for infinite scalability, PNG with transparency, JPEG for compression, and modern WebP format for optimized web delivery.
This flexibility means you can build complete customer journeys with on-brand design. A QR code on a trade show banner might first capture visitor context through a custom form, then route that person to role-specific demo content, all while featuring your brand colors and logo. A shortened link in an email campaign might collect interaction data through an embedded form, then use smart routing to direct enterprise buyers to sales resources while routing individuals to self-service content. A QR code on product packaging might gather warranty registration through a multi-step flow before providing access to user manuals, with AI insights helping you personalize next steps.
The platform is built with modern marketing needs in mind. [Custom domain support](https://linkbreakers.com/help/article/how-to-create-branded-links-in-linkbreakers) allows you to use your own branded domains for shortened links, ensuring visitors see your brand throughout their entire journey rather than generic short URLs. Advanced analytics provide deep insights into [visitor behavior](https://linkbreakers.com/help/article/whats-a-visitor), device types, geographic locations, and conversion patterns. [Webhook integrations](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) enable real-time data flow to your CRM, marketing automation platforms, and custom applications.
## Core features and capabilities
### QR Code and link creation
Creating QR codes and shortened links in Linkbreakers is intuitive and flexible. The platform provides a straightforward interface for generating codes through the [Links API](https://linkbreakers.com/help/api/links) that can be customized to match your branding and campaign needs. You can [create custom shortlinks](https://linkbreakers.com/help/article/how-to-create-branded-links-in-linkbreakers) with meaningful keywords rather than random character strings, making your links more memorable and trustworthy. For example, instead of a generic link like `linkbreak.ing/x7k2p`, you can create `go.yourcompany.com/summer-sale` that clearly communicates what visitors will find.
Each QR code can be designed with your brand colors, incorporate your logo, and include customized call-to-action text that tells visitors what to expect when they scan. The codes themselves are generated using industry-standard formats that work reliably across all devices and QR code readers, ensuring maximum compatibility and accessibility.
### Advanced QR Code Design and templates
Where Linkbreakers truly differentiates itself from competitors is in its sophisticated approach to QR code visual design. While most QR code generators offer basic color changes and perhaps a simple logo overlay, Linkbreakers provides enterprise-grade design control through its [QR Code Designs API](https://linkbreakers.com/help/api/qr-code-designs) that rivals professional design tools, all accessible through an intuitive interface or programmatically via API.
The QR Code Design system allows you to customize every visual element of your codes. Background options let you control colors, gradients, and transparency. Dots options determine how the data modules appear, whether as traditional squares, elegant circles, or custom shapes that match your brand aesthetic. Corner styling includes separate controls for the corner dots and corner squares, those distinctive position markers that make QR codes recognizable. You can apply different colors and shapes to these elements, creating sophisticated multi-color designs that maintain scannability while looking distinctly branded.
Central image support goes beyond simple logo overlays. You can control the exact size of your central image relative to the QR code canvas, from subtle watermarks to prominent brand showcases. The platform intelligently handles the hide-background-dots option, which removes data dots behind your central image to improve contrast and ensure your logo stands out clearly. Error correction levels can be configured from L (low) to H (high), allowing you to balance design flexibility with scanning reliability based on your use case.
Export capabilities are equally impressive. Generate codes in SVG format for infinite resolution and easy editing in design tools. Export PNG files with full transparency support for flexible placement over any background. Use JPEG for compressed images when file size matters, or leverage modern WebP format for optimal web delivery with smaller files and better quality. Configure precise pixel dimensions for your exports, ensuring codes work perfectly whether they're thumbnail-sized on a business card or poster-sized on a billboard.
The [QR Code Template system](https://linkbreakers.com/help/api/qr-code-templates) elevates design consistency to an organizational level. Templates bundle complete design specifications with descriptive copy and metadata, creating reusable presets that ensure brand consistency across your entire team. Built-in templates maintained by Linkbreakers provide professionally designed starting points for common use cases, while custom workspace templates let you codify your specific brand guidelines and design standards.
When team members create new QR codes, they're presented with your curated template gallery complete with thumbnail previews and descriptions. This template-driven approach eliminates the "blank canvas problem" where users struggle to create on-brand designs from scratch. Instead, every new QR code starts from an approved template that already matches your visual identity. Priority ordering ensures your most relevant templates appear first, guiding users toward the right choice for their specific campaign.
For technical teams and agencies managing high-volume QR code generation, the programmatic design API is transformative. Generate thousands of uniquely designed QR codes automatically, each customized for specific campaigns, regions, or products. Implement dynamic design rules that adjust colors based on product categories, incorporate campaign-specific central images automatically, or generate seasonal variations across your entire QR code inventory. This level of automation and control simply isn't available in traditional QR code generators, making Linkbreakers the platform of choice for organizations serious about design quality at scale.
### Interactive workflows
The [workflow system](https://linkbreakers.com/help/api/workflow-steps) is where Linkbreakers truly shines. Rather than treating QR codes as simple shortcuts, you can build sophisticated multi-step experiences that guide visitors through a curated journey. Workflow steps can include [forms for data collection](https://linkbreakers.com/help/article/how-do-i-create-forms-in-my-qr-code-workflows), [password gates for content protection](https://linkbreakers.com/help/article/how-do-i-protect-my-qr-code-with-a-password), conditional redirects based on visitor attributes, and thank you pages that confirm actions.
These workflows are completely visual and intuitive to build. You start with a trigger, someone scans your QR code or clicks your link, and then define what happens next. Each step can branch based on visitor behavior or data, creating personalized experiences that adapt to individual users. A visitor who provides their email might see different content than someone who skips the form. A customer who enters a VIP password code gets access to exclusive offers unavailable to general visitors.
The workflow engine preserves query parameters throughout the entire journey, meaning UTM tracking codes, campaign identifiers, and custom parameters you add to your links flow through every step and arrive at the final destination. This ensures your analytics and attribution remain accurate even through complex multi-step workflows.
### Custom domain integration
Brand consistency matters in modern marketing, which is why Linkbreakers provides comprehensive [custom domain support](https://linkbreakers.com/help/api/custom-domains). Instead of using generic Linkbreakers domains for your shortened links, you can configure your own branded domains like `go.yourcompany.com` or `links.yourbrand.com`. This branded approach builds trust with your audience, increases click-through rates, and ensures your brand remains visible throughout the customer journey.
Setting up custom domains involves [configuring DNS records](https://linkbreakers.com/help/article/how-to-create-branded-links-in-linkbreakers) to point to Linkbreakers infrastructure. The platform handles all the complexity of SSL certificate provisioning through Cloudflare, ensuring your branded links always use secure HTTPS connections. Once configured, you can create shortened links on your custom domain just as easily as using the default Linkbreakers domains, and all analytics and tracking work seamlessly across both.
### Workspace collaboration
Modern marketing doesn't happen in isolation, which is why Linkbreakers is built around the concept of [workspaces](https://linkbreakers.com/help/article/how-do-workspaces-function-in-linkbreakers) where teams can collaborate effectively. A workspace serves as a shared environment where team members can create QR codes, build workflows, review analytics, and manage campaigns together. This collaborative approach ensures everyone has visibility into campaign performance and can contribute to optimization efforts.
Within workspaces, you can organize your QR codes and links using [tags](https://linkbreakers.com/help/article/how-to-use-tags-in-linkbreakers), share templates and best practices across the team, and maintain consistent branding and messaging standards. The workspace model also provides clean separation between different clients, brands, or business units if you're an agency or enterprise managing multiple distinct initiatives.
### Role-Based Access Control
Security and appropriate access levels are critical when multiple people work together in a platform. Linkbreakers implements [role-based access control](https://linkbreakers.com/help/article/what-is-role-based-access-control-in-linkbreakers) that allows workspace administrators to assign specific permissions to team members based on their responsibilities. Admin roles have full control over workspace settings, billing, and member management, while Viewer roles can access analytics and reports without the ability to modify campaigns or settings.
This granular permission system protects sensitive campaigns and data while still enabling broad team collaboration. You can [invite stakeholders](https://linkbreakers.com/help/article/how-to-invite-team-members-to-linkbreakers) to view campaign performance without worrying they might accidentally modify critical workflows. Agency teams can give clients read-only access to their campaigns for transparency without exposing the ability to change configurations.
### Analytics and Insights
Understanding campaign performance is essential for optimization and demonstrating ROI. Linkbreakers provides comprehensive [analytics dashboards](https://linkbreakers.com/help/api/analytics) that track every scan, click, and interaction with your QR codes and links. You can see real-time data about visitor counts, geographic distribution, device types, operating systems, and browser information. Time-based analytics show when your campaigns are most active, helping you optimize timing and scheduling.
The platform tracks the complete [visitor journey](https://linkbreakers.com/help/article/what-is-visitor-tracking-in-linkbreakers) through your workflows, showing you where visitors drop off, which form fields cause abandonment, and what percentage of visitors complete each step. This funnel analysis is invaluable for optimizing workflows to maximize conversion rates. [Event tracking](https://linkbreakers.com/help/article/what-are-events-in-linkbreakers) captures custom actions and conversions, allowing you to measure the true business impact of your campaigns beyond simple click counts. Learn more about [what data Linkbreakers collects when someone scans your QR code](https://linkbreakers.com/help/article/what-data-does-linkbreakers-collect-when-someone-scans-my-qr-code).
All analytics respect visitor privacy while providing the insights you need for marketing optimization. Data is aggregated and anonymized appropriately, and the platform supports privacy-conscious approaches to tracking and measurement with [GDPR compliance](https://linkbreakers.com/help/article/what-is-gdpr-and-how-does-linkbreakers-handle-it).
### Integration ecosystem
Linkbreakers doesn't exist in isolation, it's designed to integrate seamlessly with your existing marketing technology stack. [Webhook support](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) enables real-time data flow to CRM systems, marketing automation platforms, analytics tools, and custom applications. When someone scans your QR code or completes a form in your workflow, that data can instantly appear in Salesforce, trigger an email sequence in HubSpot, or update a dashboard in your data warehouse.
The platform's API provides programmatic access to core functionality, allowing developers to [integrate with existing tech stacks](https://linkbreakers.com/help/article/how-to-integrate-linkbreakers-with-existing-tech-stack), automate bulk operations, or embed Linkbreakers capabilities into other applications. Query parameter preservation ensures compatibility with analytics platforms like Google Analytics, enabling end-to-end tracking from QR code scan through final website conversion. The [Linkbreakers ID (LBID)](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid) provides a unique identifier for conversion tracking across your entire funnel.
You can also use the [UTM builder functionality](https://linkbreakers.com/help/article/what-is-a-utm-builder-in-linkbreakers) to add tracking parameters to your URLs for enhanced campaign attribution and analytics.
## Who uses Linkbreakers
### Marketing teams
Marketing teams leverage Linkbreakers to create trackable, branded campaigns across all channels. QR codes on print advertisements, billboards, and product packaging provide bridges between physical and digital experiences. Shortened links in email campaigns, social media posts, and paid advertising maintain brand consistency while providing detailed attribution data. The platform's workflow capabilities enable progressive profiling and lead enrichment, gathering more information about prospects over multiple touchpoints rather than overwhelming them with lengthy forms.
Campaign managers appreciate the ability to test different messaging, calls-to-action, and workflows using the same QR code or link by simply updating the destination or workflow configuration. This flexibility means physical materials like printed flyers don't become obsolete when campaign strategy evolves.
### Event organizers
Events present unique challenges around registration, check-in, information distribution, and attendee engagement. Linkbreakers helps event organizers streamline every aspect of the event lifecycle. QR codes on event invitations can collect registration information through multi-step forms while providing immediate confirmation and calendar integration. Check-in processes become frictionless with scannable codes that validate attendance and trigger workflow steps like badge printing or session selection.
During events, QR codes placed strategically around venues can facilitate lead capture at booths, enable session feedback collection, drive attendees to sponsor content, or provide instant access to presentation slides and resources. Post-event, the same codes can gather satisfaction surveys and maintain engagement with attendees for future events.
### Businesses and enterprises
Businesses across industries use Linkbreakers to enhance customer experiences and streamline operations. Retail operations place QR codes on product packaging for warranty registration, user manual access, and customer support. Restaurants use codes for digital menus, feedback collection, and loyalty program enrollment. Real estate agents include codes on property signage for virtual tours and showing scheduling.
Enterprise organizations appreciate the workspace collaboration features that enable large teams to work together effectively while maintaining appropriate access controls. Custom domain support ensures brand consistency across all customer touchpoints, and webhook integrations connect Linkbreakers seamlessly into complex technology ecosystems.
### Agencies and service providers
Marketing agencies and service providers use Linkbreakers to deliver sophisticated campaigns for clients while maintaining clear separation and organization. The workspace model allows agencies to create dedicated environments for each client, ensuring data privacy and simplifying billing. Role-based access enables agencies to provide clients with visibility into campaign performance through viewer roles while maintaining control over campaign configuration.
The platform's white-label capabilities through custom domains mean agencies can deliver fully branded experiences that showcase their clients' brands rather than agency or platform branding. Comprehensive analytics and reporting features provide the data agencies need to demonstrate campaign value and ROI to clients.
## Key benefits
### Efficiency and streamlined operations
Linkbreakers consolidates QR code creation, link management, analytics, and integrations into a single unified platform. Rather than juggling multiple tools for different aspects of your campaigns, you can manage everything from one dashboard. The intuitive interface means team members can quickly learn the platform and become productive without extensive training. Template systems and reusable workflows enable rapid campaign deployment at scale, while programmatic API access allows technical teams to automate high-volume operations.
### Brand consistency and design excellence
The template-driven design approach ensures every QR code your organization creates maintains perfect brand consistency. Custom templates codify your design standards including colors, shapes, logos, and styling preferences, eliminating the risk of off-brand materials. Advanced design controls rival professional design tools while remaining accessible to non-designers through the template gallery. The ability to export in multiple formats ensures your QR codes look perfect whether displayed digitally or printed at any size.
### Enhanced collaboration
The workspace model fosters effective teamwork by providing a shared environment where everyone can contribute and stay informed. Real-time updates ensure team members always see current campaign data and configurations. Comment and annotation features facilitate communication about specific campaigns without requiring external tools. The ability to share templates and best practices across the team improves consistency and leverages collective knowledge.
### Actionable insights
Data-driven decision making requires access to meaningful analytics, and Linkbreakers provides comprehensive visibility into campaign performance. Beyond simple click counting, you can understand visitor journeys, identify optimization opportunities, and measure the true business impact of your campaigns. The ability to track conversions and custom events means you can demonstrate ROI and justify marketing investments with concrete data.
### Security and privacy
Role-based access control ensures team members have appropriate permissions for their responsibilities without exposing sensitive data or configurations. Secure HTTPS connections protect visitor privacy and data in transit. The platform is built with security best practices including regular security audits, encryption of sensitive data, and compliance with relevant privacy regulations. Workspace isolation ensures clean separation between different clients or business units.
### Scalability and growth
As your needs evolve, Linkbreakers scales to match. The platform handles everything from small pilot campaigns to enterprise deployments with thousands of active QR codes and millions of monthly scans. [Flexible pricing tiers and plan limits](https://linkbreakers.com/help/article/how-do-plan-limits-work-in-linkbreakers) ensure you pay for what you need without over-committing. API access and webhook integrations mean you can build increasingly sophisticated automation as your marketing operations mature. The platform maintains [high reliability and uptime guarantees](https://linkbreakers.com/help/article/what-is-link-reliability-and-uptime) to ensure your campaigns always perform when you need them.
## Getting started with Linkbreakers
### Sign up and initial setup
Beginning your Linkbreakers journey is straightforward. Visit the Linkbreakers website and create an account using your business email. During the signup process, you'll create your first workspace and configure basic settings like workspace name and time zone. The onboarding experience guides you through creating your first QR code, helping you understand the platform's core capabilities.
Once your account is active, you can invite team members, configure integrations, and set up custom domains if you're on an appropriate plan tier. The dashboard provides quick access to all major features and includes helpful tips and tutorials for new users.
### Creating your first campaign
Start with a simple campaign to familiarize yourself with the platform. Create a new QR code or shortened link and configure it to redirect to your website or a specific landing page. Customize the shortlink with a memorable keyword that describes the destination. Generate and download the QR code in your preferred format and size.
As you become more comfortable, add workflow steps to collect visitor information or present interactive content. Experiment with different form configurations to find the right balance between data collection and completion rates. Review the analytics to understand how visitors interact with your campaigns and identify optimization opportunities.
### Exploring advanced features
After mastering the basics, explore Linkbreakers' advanced capabilities. Set up webhook integrations to connect your campaigns with other systems. Configure custom domains to fully brand your shortened links. Build complex multi-step workflows with conditional logic and personalization. Use query parameters for advanced tracking and campaign attribution.
The help documentation provides detailed guides for all features, and the support team is available to answer questions and provide guidance as you implement more sophisticated campaigns.
## Common use cases
### Marketing campaigns
QR codes and shortened links enable seamless bridges between offline and online marketing. Print advertisements in magazines, newspapers, and billboards can include QR codes that drive traffic to campaign landing pages while capturing detailed analytics about which placements drive the most engagement. Direct mail pieces can use personalized QR codes that identify specific recipients and customize their experience.
Digital marketing campaigns benefit from shortened links that maintain brand consistency and provide detailed click tracking. Social media posts, email newsletters, and paid advertising can all use branded short links that look professional and trustworthy. The ability to update destinations without changing the physical QR code or shortened link means marketing materials remain relevant even as campaign strategy evolves.
### Events and conferences
Events provide countless opportunities for QR code deployment. Pre-event communications can include registration codes that collect attendee information and preferences. On-site signage throughout the venue can feature codes for session check-ins, exhibitor booth engagement, and sponsor content access. Post-event follow-up can use the same codes to gather feedback and maintain relationships with attendees.
The workflow capabilities enable sophisticated event experiences like gamification challenges where attendees scan codes at different locations to earn points, or progressive session registration where attendees build their schedule by scanning codes at sessions they're interested in.
### Product and packaging integration
Product packaging offers valuable real estate for QR codes that enhance the customer experience. Codes on packaging can provide access to detailed product information, user manuals, instructional videos, and troubleshooting guides. Warranty registration becomes frictionless with a simple scan that captures product information and owner details. Authenticity verification programs can use unique codes on each product to combat counterfeiting.
Customer support interactions improve when customers can scan a code to instantly access their product's support resources, submit support tickets with automatic product identification, or schedule service appointments. The analytics show which support resources are most accessed, helping companies improve documentation and identify common issues.
### Lead generation and customer engagement
QR codes and shortened links excel at capturing leads and maintaining customer engagement. Trade show booth displays can feature codes that instantly capture visitor information and initiate email nurture sequences. Point-of-sale displays can enable instant purchase or provide access to exclusive offers for mobile users. Restaurant table tents can drive loyalty program enrollment while collecting customer preferences.
The workflow system enables sophisticated lead qualification where initial contacts provide basic information, and progressive profiling over subsequent interactions enriches the customer profile without requiring lengthy forms upfront.
## Common use cases
- **Lead generation pipelines**: Build multi-step workflows with forms to capture, qualify, and route prospects automatically based on their profile and behavior.
- **Event lead capture**: Design custom forms that collect attendee information, route VIPs to exclusive content, and score leads in real-time at conferences and trade shows.
- **Product registration workflows**: Create smart forms for warranty registration that capture customer data, route users to appropriate support resources, and identify upsell opportunities.
- **Sales qualification funnels**: Build workflows that ask qualifying questions through forms, route enterprise leads to sales while directing SMB prospects to self-service, and score every interaction with AI.
## Comparison: Linkbreakers vs basic QR tools
Basic QR generators produce static codes that redirect to a single URL with no lead capture or qualification. Linkbreakers provides a **complete customer journey system** with **custom form builders**, **smart routing logic**, **visitor journeys**, **workflow automation**, **real-time analytics**, and **integrations**. This transforms QR codes from simple redirects into sophisticated lead generation and qualification engines that capture contacts, route visitors intelligently, and help you focus on your best prospects.
## Frequently Asked Questions
### What makes Linkbreakers different from other QR code generators?
Linkbreakers goes beyond simple QR code generation by providing a complete customer journey platform. Build custom workflows with embedded forms to capture lead information, implement smart routing rules to direct visitors based on behavior and profile data, score prospects with AI to prioritize opportunities, and design on-brand QR codes that match your visual identity. Rather than just creating codes that redirect to URLs, you build end-to-end customer acquisition funnels that capture, qualify, route, and convert every visitor.
### How much control do I have over QR code design?
Linkbreakers provides enterprise-grade design control over every visual element of your QR codes. Customize background colors and gradients, dot shapes and styles, corner elements, central image size and placement, and export in multiple formats (SVG, PNG, JPEG, WebP). The template system ensures brand consistency across your organization, while the API enables programmatic generation of thousands of uniquely designed codes.
### Do I need technical knowledge to use Linkbreakers?
No, Linkbreakers is designed to be intuitive for marketers and business users without technical backgrounds. The visual workflow builder and straightforward interface make it easy to create sophisticated campaigns. Advanced features like API access and webhooks are available for technical users who want deeper integration.
### How does pricing work?
Linkbreakers offers multiple pricing tiers based on features and usage limits. Free and trial accounts provide limited functionality to explore the platform. Paid plans scale from individual users to enterprise deployments with custom needs. Visit the Linkbreakers website for current pricing details specific to your use case.
### Can I use my own domain for shortened links?
Yes, custom domain support is available on paid plans. You can configure subdomains like `go.yourcompany.com` or `links.yourbrand.com` to use for your shortened links, maintaining complete brand consistency throughout the customer journey.
### What kind of analytics does Linkbreakers provide?
Analytics include real-time scan and click tracking, geographic distribution, device and browser information, time-based activity patterns, workflow funnel analysis, conversion tracking, and custom event capture. All data is available through interactive dashboards and can be exported for further analysis.
### How do integrations work?
Linkbreakers provides webhook support for real-time integrations with CRM systems, marketing automation platforms, and custom applications. When events occur in your workflows, webhooks instantly send data to your specified endpoints. API access enables programmatic control over platform features.
### Is Linkbreakers GDPR compliant?
Linkbreakers is designed with privacy in mind and provides tools to help you maintain compliance with relevant privacy regulations. The platform allows you to configure data collection practices, provides transparency about what information is captured, and enables appropriate data handling and retention policies.
### Can multiple team members work together in Linkbreakers?
Yes, the workspace collaboration features enable teams to work together effectively. You can invite team members, assign appropriate roles and permissions, share campaigns and templates, and collaborate on optimization efforts while maintaining security through role-based access control.
### How do QR code templates work?
Templates bundle complete design specifications with descriptions, creating reusable presets for your organization. Linkbreakers provides built-in templates for common use cases, while you can create custom workspace templates that codify your specific brand guidelines. When team members create new QR codes, they select from your curated template gallery, ensuring brand consistency without requiring design expertise.
### What happens if I need to change where a QR code redirects?
One of Linkbreakers' key benefits is that QR codes and shortened links can be updated at any time without changing the code itself. You can modify destinations, update workflow steps, or completely restructure the visitor experience while maintaining the same scannable code or short link.
### What support is available if I need help?
Linkbreakers provides comprehensive help documentation, video tutorials, and direct support through email and live chat during business hours. The support team can help with technical questions, integration guidance, and campaign optimization advice.
## Conclusion
Linkbreakers represents a new generation of customer journey platforms that transform QR codes from simple redirects into complete offline-to-online relationship systems. By combining intuitive workflow builders with embedded forms, smart routing logic, AI insights, enterprise-grade design control, custom branding, comprehensive analytics, and seamless integrations, Linkbreakers empowers marketers, event organizers, businesses, and agencies to build end-to-end journeys that capture, engage, route, and convert every visitor.
The platform's workflow system sets it apart from traditional QR code generators. Where others offer simple redirects, Linkbreakers provides a complete customer journey builder with custom forms, smart routing, and AI insights, combined with enterprise-grade design control and programmatic API access. This means your QR codes do more than redirect: they connect offline engagement to online experiences, route visitors intelligently, and help you nurture stronger customer relationships while maintaining perfect on-brand design.
Whether you're engaging your first visitors at a local event or managing enterprise-scale journeys across multiple brands and regions, Linkbreakers provides the workflow tools, form builders, routing logic, AI insights, and design flexibility you need to succeed. The platform grows with your needs, supporting everything from simple interaction capture forms to complex multi-step journeys with advanced personalization, behavioral routing, and seamless CRM integration.
Ready to transform your QR codes into complete customer journeys? Visit the Linkbreakers website to create your account and start building workflows that bridge offline moments to online interactions and nurture every scan into a lasting customer relationship.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to use tags to segment and analyze QR campaigns
Source: https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns
## Short answer
This article explains how to use tags to segment and analyze qr campaigns with practical guidance, limits, and implementation details so you can apply it consistently.
Ever wonder how successful marketing teams keep their campaigns organized across dozens of different initiatives? The secret often lies in smart categorization systems that make complex projects manageable. Tags in Linkbreakers serve exactly this purpose, acting as lightweight organizational labels that transform chaotic link collections into well-structured campaign libraries.
## What are tags exactly?
Think of tags as digital sticky notes for your QR codes and links. Just like you might use colored labels to organize physical files in your office, tags provide a simple way to categorize your digital campaigns. Each tag is nothing more than a text label, words like "summer-sale," "trade-show," or "email-campaign", that you attach to your links to group related materials together.
The beauty of this system lies in its flexibility. Unlike rigid folder structures that force you to choose one category per item, tags let you apply multiple labels to the same QR code or link. Your summer sale QR code can simultaneously be tagged with "seasonal-promotion," "retail-campaign," and "high-priority," making it discoverable through any of these organizational lenses.
This approach mirrors how you naturally think about campaigns. Marketing initiatives rarely fit into neat, single categories. A product launch might involve email marketing, social media promotion, trade show displays, and print advertisements. With tags, you can reflect this multi-faceted nature by applying relevant labels that capture all aspects of each campaign element.
## How tags work in Linkbreakers
When you [create a new QR code or shortened link](https://app.linkbreakers.com/workspace/dashboard/links) in Linkbreakers, you'll find a tag input field in the "Organize your QR Code" section. This field offers an intuitive auto-completing interface that suggests existing tags as you type, preventing duplicates and maintaining consistency across your workspace.
The tagging system operates at the workspace level, meaning all team members share the same tag vocabulary. When someone creates a new tag, it becomes available for everyone in your workspace to use. This shared approach prevents the fragmentation that often occurs when different team members use slightly different terminology for the same concepts.
Adding tags follows a simple process:
1. **Start typing** in the tag field to see suggestions for existing tags
2. **Select from suggestions** to use existing tags, or continue typing to create new ones
3. **Press comma or enter** to add the tag to your link
4. **Review your tags** as removable pills before saving
5. **Remove unwanted tags** by clicking the X on any tag pill
Behind the scenes, Linkbreakers maintains a many-to-many relationship between links and tags. This technical architecture means each link can have multiple tags, and each tag can be associated with multiple links. The platform automatically handles the complexity of these relationships, cleaning up orphaned tags when they're no longer associated with any links.
## Why tags matter for campaign organization
Marketing campaigns generate lots of moving pieces. Product launches involve QR codes for different touchpoints, seasonal promotions span multiple channels, and ongoing initiatives require various link configurations. Without proper organization, finding specific campaign elements becomes like searching for a needle in a haystack.
Tags solve this problem by creating multiple pathways to the same information. Consider these common scenarios:
- **Trade show recovery** Instead of remembering exactly where you stored that trade show QR code, search for "trade-show," "lead-generation," or "Q4-events"
- **Campaign comparison** Quickly find all "seasonal-promotion" tagged content when planning new seasonal initiatives
- **Channel analysis** Filter by "email-campaign" or "social-media" to review channel-specific performance
- **Priority management** Use tags like "high-priority" or "urgent" to focus on critical campaigns
This flexibility becomes even more valuable as your campaigns scale. Early-stage marketing might involve handful of QR codes that are easy to browse manually. However, successful campaigns grow quickly, and organizations often find themselves managing hundreds of active links across dozens of simultaneous initiatives. Tags provide the organizational infrastructure needed to maintain efficiency at scale.
Consider a retail company running seasonal promotions. They might tag their spring campaign links with "spring-2024," "seasonal-promotion," and "retail-campaign." When autumn arrives and they're planning similar initiatives, they can quickly filter by "seasonal-promotion" to review what worked previously, or search "spring-2024" to find specific campaign elements for comparison.
## Advanced filtering and analytics
Tags become powerful when combined with Linkbreakers' [analytics dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors). Rather than viewing performance data for all your links at once, you can filter analytics by specific tags to understand how different campaign types perform.
This targeted analysis reveals insights that would be impossible to discover in aggregate data. Your "email-campaign" tagged links might show different geographic patterns than your "social-media" tagged content. "Trade-show" tagged QR codes could demonstrate distinct time-of-day scanning patterns compared to "retail-packaging" codes. These insights help optimize future campaigns by understanding what works best for each channel and context.
The filtering capabilities extend beyond analytics. When browsing your [links dashboard](https://app.linkbreakers.com/workspace/dashboard/links), you can filter by tag names to focus on specific campaign subsets. This targeted view makes it easy to review related campaign elements, update multiple similar links at once, or assess the performance of specific initiative categories.
Tag-based filtering also streamlines collaboration. Team members can quickly focus on their area of responsibility by filtering for relevant tags. The social media manager can filter for "social-media" and "instagram-story" tags to review their campaigns, while the events team focuses on "trade-show" and "conference" tagged content.
## Best practices for effective tagging
Successful tagging requires consistency and forethought. The most effective teams establish tagging conventions early and maintain them as their usage grows.
### Key tagging principles:
- **Establish conventions early** Create a shared document outlining standard tags and usage guidelines
- **Use hierarchical naming** Apply prefixes like "channel-email," "channel-social" for distribution channels
- **Avoid over-granular tags** "email-newsletter" works better than "tuesday-email-newsletter-week-3"
- **Align with business metrics** Match tags to how you track performance and analyze campaigns
- **Allow for evolution** Update your system as you learn, but avoid frequent major changes
### Effective naming patterns:
- **Channel-based tags** `channel-email`, `channel-social`, `channel-print`
- **Seasonal tags** `season-spring`, `season-summer`, `season-holiday`
- **Campaign type tags** `campaign-product-launch`, `campaign-lead-gen`, `campaign-retention`
- **Priority tags** `priority-high`, `priority-medium`, `priority-low`
- **Status tags** `status-active`, `status-testing`, `status-archived`
This structured approach creates visual groupings that make tag lists easier to scan and understand, while ensuring your tagging system supports both current needs and future growth.
## Integration with team workflows
Tags shine brightest in collaborative environments where multiple team members create and manage campaigns. The shared vocabulary prevents the confusion that occurs when different people use different organizational systems. New team members can quickly understand your campaign structure by reviewing the existing tag system.
The tag system integrates seamlessly with [workspace collaboration features](https://app.linkbreakers.com/workspace/dashboard/members). Role-based access control ensures that even users with limited permissions can benefit from the organizational structure that tags provide.
### Team collaboration benefits:
1. **Shared vocabulary** - All team members use the same tag system, preventing organizational fragmentation
2. **Role-based access** - Viewer roles can filter and analyze using tags without modifying campaigns
3. **Quick onboarding** - New team members understand campaign structure through existing tags
4. **Focused workflows** - Team members filter by relevant tags to focus on their responsibilities
### Agency and multi-client management:
For agencies managing multiple clients, tags provide clean separation and analysis capabilities:
1. **Client separation**: Use tags like `client-acme-corp` and `client-beta-inc` for organization
2. **Cross-client analysis**: Apply broader tags like `seasonal-promotion` for pattern analysis
3. **Workspace isolation**: Each client workspace maintains its own tag vocabulary
4. **Consistent practices**: Maintain internal tagging standards across all client work
## Technical implementation and API access
Behind the user-friendly interface, tags operate through Linkbreakers' robust API infrastructure. Technical teams can leverage the [Tags API](https://linkbreakers.com/help/api) to automate tag management, bulk-apply tags to large link collections, or integrate tagging workflows with external systems.
### API capabilities:
- **List and search tags** - Retrieve workspace tag vocabularies programmatically
- **Manage associations** - Add, remove, or update tag assignments via API calls
- **Bulk operations** - Apply tags to hundreds of links simultaneously
- **Webhook integration** - Include tag data in real-time event payloads
- **Cross-platform sync** - Synchronize tag vocabularies across multiple workspaces
### Common automation scenarios:
1. **URL-based auto-tagging** - Automatically tag links based on destination URLs
2. **Campaign bulk creation** - Apply campaign-specific tags during bulk link generation
3. **Migration assistance** - Implement new organizational systems on existing campaigns
4. **BI integration** - Flow tag-categorized performance data into business intelligence systems
5. **Cross-workspace management** - Maintain consistent tagging across multiple client accounts
## Performance and scalability considerations
Linkbreakers' tag system is designed to perform well even with large tag vocabularies and high-volume link collections. Database indexes ensure that tag-based filtering remains fast regardless of workspace size, and the platform's architecture supports workspaces with thousands of active tags across millions of links.
The auto-completion functionality in the tag input field scales efficiently, providing relevant suggestions without performance degradation as your tag vocabulary grows. Search algorithms prioritize recently used and frequently applied tags, ensuring the most relevant suggestions appear first.
Cleanup automation removes orphaned tags when they're no longer associated with any links, preventing tag vocabularies from becoming cluttered with obsolete labels. This automatic maintenance ensures the tag system remains useful and manageable over time without requiring manual pruning.
## Segmentation examples
- **By channel**: `print`, `event`, `packaging`, `outdoor`.
- **By region**: `nyc`, `london`, `sydney`.
- **By campaign**: `spring-launch`, `holiday-2025`.
- **By audience**: `retail`, `enterprise`, `partner`.
## Frequently Asked Questions
### Can I rename existing tags across all links?
Currently, tag renaming requires removing the old tag and adding a new one to each link individually. For bulk operations, consider using the API to automate this process. Future platform updates may include direct tag renaming functionality.
### How many tags can I apply to a single link?
There's no hard limit on the number of tags per link, but practical considerations suggest using 3-7 tags per link for optimal organization without overwhelming complexity.
### Are tags case-sensitive?
Tag creation is case-sensitive, but tag search and filtering are case-insensitive. "Summer-Sale" and "summer-sale" would be different tags, but searching for either would find both.
### Can I delete tags that are no longer needed?
Yes, you can delete tags through the API. When a tag is deleted, it's removed from all associated links automatically. The platform also automatically cleans up orphaned tags that are no longer associated with any links.
### Do tags affect QR code or link performance?
Tags are purely organizational metadata and don't impact the scanning, loading, or redirect performance of your QR codes and links.
### Can I see which tags are most commonly used in my workspace?
The current interface doesn't provide tag usage analytics, but this information is available through API queries for technical users who want to analyze tag adoption patterns.
### Are tags included in exported analytics data?
Yes, when exporting campaign data, tag information is included, allowing for tag-based analysis in external tools and business intelligence systems.
### Can I use special characters or spaces in tag names?
Tag names support alphanumeric characters, hyphens, and underscores. Spaces and special characters may cause issues with some integrations, so using hyphens or underscores as separators is recommended.
### How do tags work with custom domains?
Tags are associated with links regardless of which domain they use. A link using your custom domain and the same link using Linkbreakers domains would share the same tag associations.
### Can I bulk-apply tags to existing links?
Through the API, yes. The interface doesn't currently support bulk tag operations, but technical teams can use API endpoints to apply tags to multiple links simultaneously.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Are scans unlimited on Linkbreakers?
Source: https://linkbreakers.com/help/article/are-scans-unlimited-on-linkbreakers
## Short answer
Yes, scans are unlimited: no plan ever stops a QR code or link from working, however many people scan it, and Linkbreakers records every visit. What each plan limits is how many **tracked journeys** you can see each month. Free includes 500 journeys a month, Light 5,000 and Pro 50,000. Past that, visitors are still redirected, your workflows still run and the visits are still recorded, but they are locked: hidden from your analytics and not sent to your integrations until you upgrade. Upgrading reveals every locked visit. Enterprise has no monthly cap.
## Quick summary
- Scans and clicks always work, on every plan, with no overage charges on Free, Light or Pro.
- The monthly limit is on **tracked journeys**: the visits you can see in your analytics.
- 500 on Free, 5,000 on Light, 50,000 on Pro, every month.
- Past the limit, visits keep being recorded but are locked until you upgrade. New visits are visible again when the allowance refills on the first of the month, in your workspace timezone.
- Locked visits are not sent to webhooks, Slack, Zapier or any other integration, and they are not resent after an upgrade.
- Enterprise tracks every journey without a cap and is billed on usage, priced on request.
## Scans versus tracked journeys
A **scan** is someone pointing a camera at your QR code, or opening your short link. Linkbreakers answers every one of them: the visitor is sent to the destination, through any [workflow steps](https://linkbreakers.com/help/article/what-is-linkbreakers) you set up, such as forms, conditions or a contact card.
A **tracked journey** is that visit as it appears in your analytics: when and where it happened, the device, and every step the visitor went through until the last redirection. This is what your plan counts. See [What is an event in Linkbreakers](https://linkbreakers.com/help/article/what-is-an-event-in-linkbreakers) for what a journey contains.
## What each plan includes
| Plan | Tracked journeys per month | Scans |
| --- | --- | --- |
| Free | 500 | Unlimited |
| Light | 5,000 | Unlimited |
| Pro | 50,000 | Unlimited |
| Enterprise | No monthly cap, billed on usage | Unlimited |
A Pro trial tracks as many journeys as Pro.
## What happens when the month's journeys are used up
- Your QR codes and links keep working. Nobody scanning them sees an error or a different page.
- Workflows keep running: forms still collect answers and conditions still route visitors.
- Every visit is still recorded. The ones past the allowance are locked: they are hidden from your analytics, visitors, exports, the API and the Assistant, and they are not sent to webhooks, Slack or other integrations.
- New visits are visible again when the allowance refills, on the first day of next month at midnight in your [workspace](https://linkbreakers.com/help/article/what-is-a-workspace) timezone. Visits locked earlier stay locked until you upgrade.
- The dashboard tells you the limit is reached, how many visits are waiting, and which plan raises it.
To see the locked visits, upgrade: every visit locked under your previous plan becomes visible as soon as the subscription is confirmed. Integrations only receive visits from then on; locked visits are never resent to them. See [What happens when you reach your Linkbreakers plan limits](https://linkbreakers.com/help/article/what-happens-when-you-reach-your-linkbreakers-plan-limits).
## Other limits are separate
Tracked journeys are only one of the limits a plan sets. Creating links and using AI features spends platform credits, the public API has its own monthly allowance, and custom domains, team members and webhooks are totals. Scanning a QR code never spends credits or API calls. The [pricing page](https://linkbreakers.com/pricing) lists every limit by plan.
## Enterprise
Enterprise has no monthly cap on tracked journeys or the other usage limits. It is billed on what you use rather than a fixed allowance, and pricing is agreed with our team: contact [sales@linkbreakers.com](mailto:sales@linkbreakers.com).
## Frequently asked questions
### Do QR code scans count toward any limit?
Scans themselves are never limited. Each visit counts toward your plan's monthly tracked journeys, and once those are used up, visits keep working and are still recorded, but they are locked until you upgrade.
### What happens if my QR code goes viral?
Every visitor is still redirected and every visit is recorded. If the month's tracked journeys run out, the visits after that are locked: you see how many there are, and upgrading reveals all of them immediately.
### Will I be charged extra for a lot of scans?
Not on Free, Light or Pro: there are no overage charges. Enterprise is billed on usage, at a price agreed with sales.
### Does reading scan data through the API count as scans?
No. Reading analytics through the [Linkbreakers API](https://linkbreakers.com/help/api) counts toward your monthly public API calls, not toward tracked journeys.
### When does the tracked journeys allowance reset?
On the first day of each month at midnight in your workspace timezone.
---
# What's a workspace?
Source: https://linkbreakers.com/help/article/what-is-a-workspace
A workspace in Linkbreakers is an isolated environment where teams create, manage, and analyze QR code campaigns. It serves as the container for all campaign data, team members, billing, and settings.
Workspaces operate with complete data isolation. Your QR codes, analytics, team members, and configurations exist independently from other organizations on the platform. All billing and subscription management happens at the workspace level rather than per user.
## Quick summary
- Organize team collaboration through role-based access controls for Admin, Tech, and Viewer permissions
- Manage subscription billing and usage limits at the workspace level for streamlined cost control
- Configure workspace settings including timezone, country, and default link behaviors for consistent operations
- Invite team members with specific role assignments and secure email verification processes
- Monitor usage patterns across QR code creation, API consumption, and team member utilization
- Integrate with external systems through scoped API access and webhook configurations
## Why workspace isolation matters
Every action in Linkbreakers happens within a workspace - creating QR codes, analyzing [visitor data](https://linkbreakers.com/help/article/what-is-a-visitor-in-qr-analytics-and-why-it-matters), or setting up [webhooks](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers).
**Complete isolation means:**
- Your QR codes, analytics, and team data are completely separate from other organizations
- No accidental data sharing or cross-organization access
- Clean security boundaries for API integrations and webhooks
**Billing tied to workspace, not individuals:**
- Upgrade to Pro or Enterprise = entire workspace gets benefits
- [Plan limits](https://linkbreakers.com/help/article/what-happens-when-you-reach-your-linkbreakers-plan-limits) (QR codes, team members) apply workspace-wide
- No per-user licensing complexity
## Workspace roles
Linkbreakers provides three role types for [team collaboration](https://app.linkbreakers.com/workspace/dashboard/members):
| Permission | Admin | Tech | Viewer |
|-----------------------------|-------|------|--------|
| View analytics | Yes | Yes | Yes |
| Create/edit QR codes | Yes | Yes | No |
| Delete campaigns | Yes | Yes | No |
| Invite team members | Yes | No | No |
| Manage billing | Yes | No | No |
| Configure integrations | Yes | Yes | No |
| Access API tokens/webhooks | Yes | Yes | No |
**Admin:** Full workspace control including billing, member management, and all campaign operations.
**Tech:** Complete campaign access without billing permissions. Suitable for developers, analysts, and campaign managers.
**Viewer:** Read-only access for stakeholders, clients, or executives who need visibility without editing capabilities.
## Subscription plans
All billing operates at the workspace level through Stripe integration:
| Feature | Free | Pro | Enterprise |
|------------------------|---------------|------------------|-------------------|
| Billing model | Free forever | Monthly fixed | Usage-based |
| QR code limits | Limited | Increased quota | Scales with usage |
| Team members | Limited | Increased quota | Scales with usage |
| Advanced analytics | No | Yes | Yes |
| Workflow features | Basic | Advanced | Advanced |
| Best for | Testing | Regular campaigns| Large/seasonal |
When you upgrade to Pro or Enterprise, all workspace members receive the benefits. [Plan limits](https://linkbreakers.com/help/article/what-happens-when-you-reach-your-linkbreakers-plan-limits) apply workspace-wide, not per user.
## Key workspace settings
Configure your workspace through [settings dashboard](https://app.linkbreakers.com/workspace/dashboard/settings):
**Timezone:**
- Controls when monthly usage cycles reset
- Affects analytics time displays
- Ensures data aligns with your business hours (not UTC)
**Country:**
- Affects billing and tax calculations
- Enables localization features
- Ensures compliance with local regulations
**Security policies:**
- Multi-factor authentication (MFA) enforcement for all team members
- Applied workspace-wide for consistent security
**Default link behaviors:**
- Inherited settings for new QR codes
- Reduces setup time and ensures consistency
- Can still be customized per campaign
## Setting up a new workspace
**Initial configuration:**
1. Choose a clear workspace name for your team
2. Select timezone (affects billing cycles and analytics)
3. Set country (affects taxes and compliance)
4. Complete email verification
**Email verification required:**
- Activates full workspace functionality
- Prevents unauthorized workspace creation
- Once verified, you can invite team members and create campaigns
All settings can be modified later, but choosing correct values initially prevents confusion.
## Inviting team members
**Add team members with role assignments:**
1. Send email invitation from [team management](https://app.linkbreakers.com/workspace/dashboard/members)
2. Assign role (Admin, Tech, or Viewer)
3. Member receives email and verifies
4. Automatic workspace access upon verification
**Permission changes:**
- Roles can be adjusted anytime as responsibilities evolve
- No need to recreate accounts or migrate data
- Clear permissions prevent accidental access to billing or sensitive features
**Common collaboration patterns:**
- Designers create QR codes with standardized templates
- Marketers configure campaigns and [visitor tracking](https://app.linkbreakers.com/workspace/dashboard/visitors)
- Analysts review performance data and optimize
- Viewers (clients/executives) monitor without editing
## Usage monitoring
Track workspace consumption to predict when upgrades are needed:
- **QR code creation:** Monthly quota usage and peak creation periods
- **API consumption:** Integration usage patterns and optimization opportunities
- **Team member activity:** Who's actively using workspace features
- **Storage:** Analytics data and campaign asset growth
## Multiple workspace strategies
Organizations with complex structures can create multiple workspaces for different purposes:
| Strategy | Use Case | Benefits |
|---------------------|-----------------------------------|---------------------------------------------|
| Client separation | Agencies managing multiple clients| Isolated data and billing per client |
| Brand segmentation | Multi-brand enterprises | Focused campaign management per brand |
| Environment isolation| Development and testing | Protect production campaigns from testing |
| Regional separation | International operations | Localized domains and compliance per region |
**Important limitation:** QR codes cannot be moved between workspaces or merged later. Consider your organizational structure carefully when creating workspaces.
## API and webhook integration
[API access](https://linkbreakers.com/help/api) and [webhooks](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) are scoped to workspace level:
- API tokens belong to specific workspaces
- Integrations can only access their workspace data
- Natural security perimeter for custom development
- No accidental cross-workspace data access
## Security features
**Multi-factor authentication (MFA):**
- Admins can enforce MFA for all team members
- Applied workspace-wide for consistent security
- Important for sensitive campaigns and regulated industries
**Complete data isolation:**
- Zero data sharing between workspaces
- No accidental cross-organization access
- Critical for agencies managing multiple clients
**Audit trails:**
- Logs of member actions and permission changes
- Track system events for compliance
- Valuable for enterprises with regulatory requirements
## Subscription and billing cycles
**Usage cycles aligned with timezone:**
- Monthly limits reset based on your workspace timezone (not UTC)
- Predictable billing aligned with business operations
- Plan campaign launches around usage cycle timing
**What happens when you cancel:**
- Workspace reverts to Free plan limitations
- Existing campaigns continue working
- Creation limits apply, advanced features unavailable
## Scaling your workspace
**Monitor these as you grow:**
- Team member limits (upgrade before hitting constraints)
- Campaign volume and complexity trends
- API and webhook usage patterns
- Storage for analytics data and campaign history
**Proactive planning prevents:**
- Unexpected quota exhaustion during critical campaigns
- Disruption to collaboration workflows
- Limitations during peak periods
## API automation for technical teams
Use the [Linkbreakers API](https://linkbreakers.com/help/api) for programmatic workspace management:
**Automate common tasks:**
- Team member invitations and permission changes
- Usage monitoring and consumption tracking
- Settings configuration across environments
- Webhook and integration setup
**Automated compliance and governance:**
- Verify security settings programmatically
- Track usage patterns against policies
- Ensure configurations meet internal standards
- Reduce manual oversight for multiple workspaces
## Frequently Asked Questions
### How many workspaces can I create?
Each account can create multiple workspaces, but each workspace requires separate subscription management and team member limits apply individually to each workspace.
### Can I move QR codes between workspaces?
QR codes cannot be moved between workspaces due to security and billing isolation. However, you can recreate similar campaigns in different workspaces using templates and bulk creation tools.
### What happens to my workspace if I cancel my subscription?
Workspaces revert to free plan limitations when subscriptions are cancelled. Existing campaigns continue working, but creation limits apply and some advanced features become unavailable.
### Can I merge multiple workspaces together?
Workspaces cannot be merged due to data isolation requirements. Consider your organizational structure carefully when creating multiple workspaces to avoid future consolidation needs.
### How do I transfer workspace ownership to another team member?
Workspace ownership can be transferred through support requests. The new owner must have an existing account and accept the ownership transfer.
### What's the difference between workspace roles?
Admin roles have full access including billing and member management. Tech roles have complete campaign access without billing permissions. Viewer roles provide read-only access to campaigns and analytics.
### Can I customize workspace settings for different team members?
Workspace settings apply uniformly to all members. Role-based permissions control what features members can access, but settings like timezone and security policies affect everyone equally.
### How does workspace billing work with team members?
Team member limits are based on workspace subscription level. Adding members beyond plan limits requires upgrading the workspace subscription, which applies to all members.
### Can I use the same email address in multiple workspaces?
Yes, the same email address can be a member of multiple workspaces with different roles in each workspace. Each workspace membership is independent.
### What data can I export from my workspace?
Workspace data including campaigns, analytics, and team member information can be exported through the dashboard or API. Export capabilities vary by subscription level and data type.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What happens when you reach your Linkbreakers plan limits
Source: https://linkbreakers.com/help/article/what-happens-when-you-reach-your-linkbreakers-plan-limits
## Short answer
Your QR codes and links never stop working because of a plan limit. Reaching a monthly limit pauses one thing until the first day of next month, in your workspace's timezone: showing new journeys, answering API calls, or spending platform credits. Visits past the tracked journeys limit are still recorded and are locked until you upgrade. Reaching a total, such as team members or custom domains, only stops you adding more. The dashboard tells you when it happens, says until when, and shows the plan that raises the limit. You can upgrade, top up credits, or wait for the reset.
## Quick summary
- **Tracked journeys** (500 a month on Free, 5,000 on Light, 50,000 on Pro): scans keep redirecting and every visit is still recorded, but journeys after the limit are locked until you upgrade. Locked journeys are not sent to your integrations.
- **Public API calls** (250 a month on Free, 5,000 on Light, 10,000 on Pro): calls made with API tokens are refused until the reset.
- **Platform credits** (5,000 a month on Free, 30,000 on Light, 250,000 on Pro): creating links and AI features stop once fewer credits are left than the cheapest of them costs, until the reset or a top-up.
- **Custom domains, team members and webhooks** are totals: you keep what you have and cannot add more.
- **Enterprise** has no monthly caps. It is billed on usage and priced on request.
## Monthly limits
Monthly limits refill on the first day of each calendar month, at midnight in your [workspace](https://linkbreakers.com/help/article/what-is-a-workspace) timezone. They do not follow the day you signed up or upgraded.
### Tracked journeys
A tracked journey is one visit to a QR code or link, with everything the visitor does until the last redirection. Free includes 500 a month, Light 5,000 and Pro 50,000.
When the month's journeys are used up, nothing breaks. Visitors who scan your QR codes or open your links are still sent where they should go, with your workflow running as usual, and every visit is still recorded.
The visits past the allowance are locked:
- They are hidden from your analytics, visitors list, exports, the API, the MCP server and the Assistant. The dashboard shows how many are waiting.
- They are not sent to webhooks, Slack, Zapier or any other integration, and they are not resent later.
- Upgrading to a plan with a higher allowance reveals every locked visit at once, including the ones from earlier months.
- When the allowance refills on the first of the month, new visits are visible again. Visits locked before stay locked until you upgrade. See [Are scans unlimited on Linkbreakers](https://linkbreakers.com/help/article/are-scans-unlimited-on-linkbreakers).
### Public API calls
Requests made with your workspace's API tokens count against a monthly allowance: 250 on Free, 5,000 on Light and 10,000 on Pro. Past it, the API answers `429 Too Many Requests` with the code `MAX_PUBLIC_API_QUERIED_REACHED` until the reset. Using the dashboard does not count. A separate per-minute rate limit applies to every token; see [How to use the Linkbreakers API](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api).
### Platform credits
Platform credits pay for creating links and QR codes and for AI features such as the Assistant and dashboard generation. Free includes 5,000 a month, Light 30,000 and Pro 250,000. A link costs 1,000 credits, so the monthly credits pay for 5 links on Free, 30 on Light and 250 on Pro if you spend them on nothing else.
Credits count as used up once fewer are left than the cheapest credit-spending action needs, which can happen before the balance reaches zero. Purchased top-up credits are spent once the monthly credits run out, and they do not expire at the end of the month.
## Totals that do not reset
| Limit | Free | Light | Pro |
| --- | --- | --- | --- |
| Custom domains | 1 | 2 | 5 |
| Team members | 1 | 5 | 15 |
| Webhooks | 1 | 3 | 10 |
Reaching one of these only stops you adding another: connecting a domain, inviting a member or creating a webhook. Everything already set up keeps working. Removing one frees its place.
## Trials and sponsored workspaces
A Pro trial gets Pro's limits, except for webhooks and the Assistant rate, which stay at the Free plan's 1 webhook and 5 Assistant messages per minute until you subscribe. Sponsored workspaces have their own allowances. In every case, the dashboard and the API (`GET /v1/allowances`) report the limits your workspace actually has.
## How you find out
When a monthly limit is reached, the dashboard shows a message naming the limit, the day it refills and the cheapest plan that raises it. You can dismiss it for the rest of the month; a reminder stays in the header bar. Admins and technical members see an upgrade button; viewers are asked to contact an admin.
You can check usage at any time in the dashboard, or with the `allowances_list` tool in the [MCP server](https://linkbreakers.com/help/article/how-to-automate-qr-code-campaigns-with-mcp) and the Assistant.
## Raising a limit
- **Upgrade.** Light and Pro raise every limit, and the new limits apply as soon as the subscription is confirmed. See [Free plan vs Pro plan](https://linkbreakers.com/help/article/free-vs-pro-plan-comparison) and the [pricing page](https://linkbreakers.com/pricing).
- **Top up credits.** If credits are the only limit you reach, a top-up is often cheaper than a bigger plan.
- **Wait for the reset.** For a one-off spike in journeys or API calls, the allowance refills on the first of the month. Journeys locked before the reset stay locked until you upgrade.
- **Enterprise.** No monthly caps, billed on usage, priced on request through [sales@linkbreakers.com](mailto:sales@linkbreakers.com).
## Frequently asked questions
### Will my QR codes stop working when I reach a limit?
No. No plan limit ever stops a QR code or link from redirecting. Reaching the tracked journeys limit does not stop recording either: new visits are recorded and locked until you upgrade.
### When do monthly limits reset?
On the first day of each month at midnight in your workspace timezone, whatever day you signed up or upgraded.
### Why does it say my credits are used up when I still have some?
Credits count as used up once fewer are left than the cheapest action that spends them needs. A balance that cannot pay for anything is shown as used up so you are not surprised by a refused action.
### Does upgrading take effect immediately?
Yes. The new plan's limits apply as soon as the subscription is confirmed, including for anything you were blocked on. Visits locked under your previous plan become visible right away.
### Can I stop seeing the limit message?
Yes. Choose "Not now" and it stays hidden for you until the limit refills. It reappears if a limit is reached again in a later month.
---
# Are links and QR codes guaranteed to work?
Source: https://linkbreakers.com/help/article/are-links-and-qr-codes-guaranteed-to-work
## Short answer
This article explains are links and qr codes guaranteed to work with practical guidance, limits, and implementation details so you can apply it consistently.
Picture launching a major billboard campaign across fifty cities, only to discover your QR codes aren't working. That nightmare scenario keeps marketing directors awake at night. When campaigns depend on reliable link performance, understanding platform guarantees becomes crucial.
## Quick summary
- **Evaluate reliability commitments** including 99.9% uptime targets, zero-downtime deployments, and automated recovery systems
- **Understand infrastructure protection** through container orchestration, load balancing, and geographic distribution across data centers
- **Monitor campaign health** using built-in analytics, custom webhook integrations, and API-driven health checking tools
- **Implement backup strategies** including multiple QR codes, destination redundancy, and comprehensive testing procedures
- **Recognize external dependencies** that affect reliability beyond platform control like destination websites and visitor connectivity
- **Plan incident response** with predefined communication channels, backup activation procedures, and clear escalation paths
## Infrastructure reliability foundations
Linkbreakers builds reliability through multiple layers of redundancy and monitoring designed to ensure your campaigns perform when they matter most. The platform's architecture prioritizes availability and performance consistency, recognizing that QR code failures can have immediate and significant business impact for marketing campaigns.
### Container orchestration and redundancy
The platform operates on Kubernetes infrastructure with built-in failover mechanisms that maintain service availability even during individual component failures. Multiple server instances run simultaneously with a minimum of two replicas, ensuring that if one server experiences problems, others continue handling traffic without interruption. Rolling deployments implement updates without service interruption using carefully configured maximum unavailable and surge parameters that prevent service gaps during platform improvements.
Continuous system health checks occur every 10 seconds with automatic restart capabilities on failures, providing rapid recovery from transient issues while maintaining overall service availability. Dedicated CPU and memory allocation prevents resource starvation scenarios where individual campaigns or traffic spikes might affect overall platform performance.
This architecture ensures that even during platform updates or individual server failures, your QR codes continue redirecting visitors properly without the delays or failures that could damage campaign effectiveness or visitor experience.
### Load balancing and traffic distribution
Traffic distribution across multiple servers prevents any single point of failure from affecting campaign performance while optimizing response times for visitors regardless of their location or the traffic volume your campaigns generate. Automatic failover removes failed servers immediately from rotation, ensuring visitors never encounter unresponsive endpoints even during hardware or software failures.
Performance monitoring tracks response times continuously and identifies struggling instances before they impact visitor experience, enabling proactive intervention that maintains consistent performance standards. Capacity management through resource limits prevents individual campaigns from overwhelming infrastructure, ensuring that viral campaigns don't negatively affect other users' campaign performance.
Geographic distribution across multiple data center locations reduces latency and improves reliability by providing redundant infrastructure that can handle regional network issues or data center problems without affecting global service availability. These systems work transparently to maintain consistent performance regardless of traffic volume or infrastructure changes.
### Monitoring and alerting systems
Comprehensive monitoring provides early warning for potential issues while enabling rapid response to problems before they impact campaign performance. Real-time error tracking through Sentry integration captures and reports system errors immediately, providing engineering teams with detailed information needed for rapid problem resolution.
Performance metrics through Grafana monitoring track response times and system health continuously, creating comprehensive visibility into platform performance that enables proactive optimization and issue prevention. Automated alerting sends Slack notifications for critical issues, enabling rapid response from engineering teams while escalating problems appropriately based on severity and potential impact.
Health probe monitoring provides continuous application health verification with configurable failure thresholds, ensuring that problems are detected at the earliest possible stage when they're most easily resolved. This monitoring stack ensures problems are detected and addressed before they impact your campaigns, maintaining the reliability that mission-critical marketing campaigns require.
## Reliability guarantees and limitations
While Linkbreakers implements extensive reliability measures, understanding the scope and limitations of these guarantees helps set appropriate expectations.
### Service level commitments
The platform architecture supports high availability through:
- **99.9% uptime target**: Infrastructure designed for maximum 8.7 hours downtime annually
- **Zero-downtime deployments**: Platform updates without service interruption
- **Automated recovery**: Self-healing systems that restart failed components automatically
- **Performance consistency**: Resource limits ensure consistent response times even during traffic spikes
These commitments reflect engineering investments in reliability while acknowledging that absolute guarantees are impossible in distributed systems.
### Scope of reliability coverage
Reliability guarantees cover core platform functionality:
- **QR code scanning**: Redirect processing and analytics capture
- **Link resolution**: Shortened URL expansion and workflow execution
- **Analytics processing**: [Visitor tracking](https://linkbreakers.com/help/article/what-is-a-visitor-in-qr-analytics-and-why-it-matters) and [event recording](https://linkbreakers.com/help/article/what-is-an-event-in-linkbreakers)
- **API availability**: Programmatic access for integrations and management
However, reliability depends on factors beyond platform control, including visitor internet connectivity, destination website availability, and DNS infrastructure.
### Planned maintenance and updates
Scheduled maintenance uses rolling deployment strategies that maintain service availability:
> "Our deployment approach ensures your campaigns keep running even while we're improving the platform underneath."
Updates happen during low-traffic periods when possible, and the rolling deployment strategy ensures continuous service during maintenance windows.
## Factors affecting link reliability
Several factors influence overall campaign reliability, some within platform control and others dependent on external systems.
### Platform-controlled factors
Linkbreakers directly manages several reliability aspects:
- **Server infrastructure**: Multiple redundant systems with automatic failover
- **Application code**: Extensive testing and gradual deployment processes
- **Database reliability**: Redundant data storage with backup and recovery systems
- **Network connectivity**: Multiple data center locations and ISP connections
These platform-controlled elements receive continuous investment and monitoring to maximize reliability.
### External dependency considerations
Campaign reliability also depends on factors outside platform control:
- **Destination website availability**: Your campaign destinations must remain accessible
- **DNS infrastructure**: Domain name resolution depends on external DNS providers
- **Visitor connectivity**: Individual user internet connections affect access success
- **Third-party integrations**: [Webhook endpoints](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) and external APIs may experience their own reliability issues
Understanding these dependencies helps design campaigns with appropriate backup plans and monitoring.
### Campaign design impact on reliability
How you structure campaigns influences overall reliability:
- **Workflow complexity**: Simpler workflows have fewer potential failure points
- **External dependencies**: Campaigns relying on multiple external services inherit additional risk
- **Destination diversity**: Spreading campaigns across multiple destinations reduces single-point-of-failure risk
- **Monitoring implementation**: Campaigns with comprehensive tracking can identify issues faster
Thoughtful campaign design enhances overall reliability beyond platform guarantees.
## Monitoring your campaign reliability
Proactive monitoring helps identify potential issues before they impact campaign performance.
### Built-in analytics and health monitoring
The [analytics dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors) provides visibility into campaign health:
- **Scan success rates**: Track successful QR code scans versus failures
- **Response time monitoring**: Identify performance degradation trends
- **Error rate tracking**: Monitor failed redirects or workflow step failures
- **Geographic performance**: Understand regional reliability variations
Regular analytics review helps identify patterns that might indicate emerging reliability issues.
### Custom monitoring through integrations
Advanced monitoring through [webhook integrations](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enables sophisticated campaign health tracking:
1. **Real-time notifications**: Immediate alerts for failed scans or workflow errors
2. **External monitoring**: Integration with your existing monitoring infrastructure
3. **Custom alerting**: Threshold-based notifications for unusual activity patterns
4. **Performance tracking**: Detailed metrics collection for campaign optimization
These integrations enable monitoring that aligns with your existing operational procedures.
### API-driven health checking
Technical teams can implement comprehensive health monitoring using the [Linkbreakers API](https://linkbreakers.com/help/api):
- **Automated testing**: Regular API calls to verify campaign functionality
- **Performance benchmarking**: Response time tracking across different geographic locations
- **Error detection**: Programmatic identification of failed requests or invalid responses
- **Capacity monitoring**: Usage tracking to identify potential resource constraints
API-driven monitoring enables sophisticated reliability assurance for mission-critical campaigns.
## Best practices for campaign reliability
Several strategies can enhance campaign reliability beyond platform guarantees.
### Redundancy and backup strategies
Smart campaign design includes multiple layers of protection:
- **Multiple QR codes**: Create backup codes for critical campaigns
- **Destination redundancy**: Prepare alternate destinations for important landing pages
- **Campaign distribution**: Spread important campaigns across multiple links to reduce risk
- **Monitoring diversification**: Use multiple monitoring approaches for comprehensive coverage
These strategies provide insurance against various failure scenarios.
### Testing and validation procedures
Comprehensive testing before campaign launches identifies potential issues:
- **End-to-end testing**: Verify complete scan-to-destination workflows
- **Device compatibility**: Test QR codes across different devices and QR readers
- **Geographic testing**: Verify functionality from different locations where campaigns will run
- **Load testing**: Ensure destinations can handle expected traffic volumes
Thorough testing prevents many reliability issues that could affect live campaigns.
### Incident response planning
Preparing for potential issues enables rapid response when problems occur:
> "The best reliability strategy includes both prevention and rapid response when issues do occur."
Effective incident response includes predefined communication channels, backup campaign activation procedures, and clear escalation paths for different severity levels.
## Enterprise reliability features
Enterprise subscriptions include additional reliability features designed for mission-critical campaigns.
### Enhanced monitoring and support
Enterprise plans provide elevated reliability assurance:
- **Priority technical support**: Direct access to engineering teams for rapid issue resolution
- **Dedicated implementation engineering**: Specialized assistance for complex integration requirements
- **Custom SLA agreements**: Tailored service level agreements for specific organizational needs
- **Advanced monitoring**: Enhanced visibility into platform health and performance metrics
These enterprise features provide additional confidence for organizations with strict reliability requirements.
### Custom integration support
Enterprise customers receive specialized assistance for reliability-critical integrations:
- **Architecture review**: Engineering consultation for complex campaign designs
- **Integration testing**: Comprehensive testing support for webhook and API integrations
- **Performance optimization**: Specialized guidance for high-volume campaign requirements
- **Disaster recovery**: Planning assistance for business continuity scenarios
This support ensures enterprise campaigns achieve optimal reliability through proper design and implementation.
## Platform maintenance and communication
Transparent communication about platform maintenance helps you plan campaigns around potential service impacts.
### Maintenance scheduling and notification
Platform maintenance follows predictable patterns designed to minimize campaign impact:
- **Low-traffic timing**: Scheduled maintenance during periods of minimal usage when possible
- **Advanced notification**: Email alerts for any planned maintenance that might affect service
- **Rolling deployment strategy**: Updates that maintain service availability during changes
- **Emergency procedures**: Clear communication protocols for unplanned maintenance needs
This communication ensures you can plan campaign timing around any scheduled platform work.
### Status page and incident communication
Real-time platform status information helps you understand any service impacts:
- **Service status dashboard**: Current platform health and performance metrics
- **Incident notifications**: Real-time updates during any service disruptions
- **Resolution tracking**: Detailed information about problem identification and resolution progress
- **Post-incident reports**: Comprehensive analysis of significant incidents and prevention measures
Transparent status communication enables informed decision-making during any service events.
## Programmatic reliability assurance
Technical teams can implement sophisticated reliability monitoring and assurance through API integration.
### Automated health checking
Programmatic health verification enables comprehensive reliability monitoring:
- **Synthetic monitoring**: Automated QR code scanning from multiple locations
- **API health checks**: Regular verification of platform responsiveness
- **Workflow testing**: Automated testing of complex campaign workflows
- **Performance benchmarking**: Continuous response time and reliability measurement
These automated approaches provide early warning of potential reliability issues.
### Integration with monitoring systems
Platform reliability data can integrate with existing organizational monitoring:
- **Metrics export**: Platform performance data for your monitoring infrastructure
- **Alert integration**: Platform status information in your existing alerting systems
- **Dashboard integration**: Campaign health metrics in your operational dashboards
- **Incident correlation**: Platform status data for broader incident analysis
This integration provides campaign reliability information within your existing operational context.
## Frequently Asked Questions
### What specific uptime guarantees does Linkbreakers provide?
Linkbreakers targets 99.9% uptime through redundant infrastructure and automated failover, though absolute guarantees depend on factors including external dependencies and your destination website availability.
### What happens if my QR codes stop working during a campaign?
The platform includes automated failover and self-healing systems. If issues occur, monitoring systems alert engineering teams immediately for rapid resolution. Enterprise customers receive priority support for faster issue resolution.
### Can I monitor my campaign reliability in real-time?
Yes, through the analytics dashboard, webhook integrations, and API monitoring. These tools provide visibility into scan success rates, response times, and potential issues as they develop.
### Are there any single points of failure I should know about?
The platform uses redundant infrastructure to eliminate single points of failure within Linkbreakers systems. However, campaigns depend on external factors like destination website availability and visitor internet connectivity.
### How quickly are platform issues typically resolved?
Resolution time varies by issue complexity, but automated systems handle many problems immediately. The engineering team receives real-time alerts for manual issues requiring intervention.
### What backup options exist if my primary campaigns fail?
Consider creating backup QR codes, preparing alternate destinations, and implementing monitoring that enables rapid campaign switching if primary systems experience issues.
### Does campaign complexity affect reliability?
More complex workflows with multiple external dependencies have more potential failure points. Simple redirect campaigns generally achieve higher reliability than complex multi-step workflows.
### What reliability features are available for Enterprise customers?
Enterprise plans include priority support, dedicated engineering assistance, custom SLA options, and enhanced monitoring capabilities for mission-critical campaign requirements.
### How can I test campaign reliability before launching?
Implement comprehensive testing including end-to-end workflow verification, device compatibility testing, geographic testing, and load testing of destination systems.
### What should I do if I need reliability guarantees beyond standard offerings?
Enterprise customers can discuss custom SLA agreements and additional reliability measures with the sales team for specific organizational requirements that exceed standard platform offerings.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Free plan vs Pro plan: what's different
Source: https://linkbreakers.com/help/article/free-vs-pro-plan-comparison
## Short answer
This article explains free plan vs pro plan: what's different with practical guidance, limits, and implementation details so you can apply it consistently.
Choosing between Free and Pro depends on campaign volume, reporting needs, automation, and team size. This guide helps you decide quickly and links to the pages you need to validate each limit.
If you're currently blocked, start with [What happens when you reach your Linkbreakers plan limits](https://linkbreakers.com/help/article/what-happens-when-you-reach-your-linkbreakers-plan-limits) and [How do plan limits work in Linkbreakers](https://linkbreakers.com/help/article/how-do-plan-limits-work-in-linkbreakers).
## Quick answer
- Choose **Free** if you are testing a small campaign and do not need long-term reporting.
- Choose **Pro** if you run active campaigns monthly, need automation, or collaborate with a team.
- Upgrade when limits begin to affect lead capture, attribution quality, or response speed.
## Free vs Pro side-by-side comparison
| Feature | Free plan | Pro plan | What it means for the Pro plan |
| --- | --- | --- | --- |
| QR codes and links | Credit-based: 5,000 credits a month | Credit-based: 250,000 credits a month | Each link or QR code costs 1,000 platform credits, from the same monthly pool as AI features. That pays for 5 links a month on Free and 250 on Pro, and you can top up. |
| Branded links + custom domains | 1 | 5, with branded links | Use your own domain instead of linkbreak.ing, so my-site.com/my-link rather than linkbreak.ing/my-link. We issue the TLS certificate and renew it for you. |
| Scan insights | Basic data | Location, device, and advanced scan data | Know exactly who your customers are and where they come from. Get advanced insights about your audience. See much more details about who is scanning your QR codes. Get information from their city up to the GPU capability and screen size of their device. |
| Webhooks | 1 | 10 | Send scans and form submissions to Zapier, Slack, your CRM or any endpoint as they happen. |
| Team members | 1 | 15 | Invite colleagues to work on the same QR codes and campaigns, with role-based access. |
| Tracked journeys | 500 per month | 50,000 per month | A tracked journey is one scan plus everything the visitor does until the last redirection. Scans always work and every visit is recorded; past the monthly allowance, visits are locked until you upgrade. |
| Public API calls | 250 per month | 10,000 per month | Calls made with your workspace's API tokens to build integrations and automate workflows. |
| Analytics retention | 2 weeks | 2 years | Keep two full years of analytics to compare quarters and years. |
| White-labeling | Linkbreakers branding | Full white-label experience | Professional presentation without third-party branding. All forms, interactive elements, and user-facing components are completely free of Linkbreakers trademarks and logos, giving you a clean, professional appearance that maintains your brand integrity. |
| Support | Standard support | Priority support | Get help instantly when money is on the line. As a Pro user, you'll have privileged access to our support. You can contact us via email or chat and we'll get back to you quickly with priority assistance. |
## When Free is enough
Free is usually enough if you are in one of these situations:
- You are validating one small campaign.
- You can work with short reporting windows.
- You do not need webhooks or large API usage.
- You are working solo or with a very small team.
If your goal is simply to learn how scan analytics work, start with [How QR code tracking works from scan to analytics](https://linkbreakers.com/help/article/how-qr-code-tracking-works-from-scan-to-analytics).
## When Pro becomes necessary
Pro becomes the practical choice when:
- You run recurring campaigns and need predictable monthly capacity.
- You need longer analytics retention for quarterly and yearly comparisons.
- You need workflow automation through webhooks and API.
- You need multiple team members with role-based access.
- You require brand consistency across links, forms, and user-facing pages.
For related details, see [Are scans unlimited on Linkbreakers](https://linkbreakers.com/help/article/are-scans-unlimited-on-linkbreakers), [How do webhooks work in Linkbreakers](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers), and [How to invite team members to Linkbreakers](https://linkbreakers.com/help/article/how-to-invite-team-members-to-linkbreakers).
## Feature impact by business goal
### Lead generation and attribution
Higher tracked journey limits and richer scan insights make Pro better for reliable attribution across channels. For a full breakdown of collected fields, see [What data Linkbreakers collects from QR code scans](https://linkbreakers.com/help/article/what-data-linkbreakers-collects-from-qr-code-scans).
### Automation and integrations
If your process depends on notifications, CRM updates, or custom logic, Pro's higher webhook and API limits reduce operational friction. Implementation details are in [How to use the Linkbreakers API](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api).
### Team operations and governance
As teams grow, limits on members, branding, and support response times become a bottleneck. Pro supports broader collaboration and cleaner brand control.
## Frequently Asked Questions
### Is the Free plan enough for real campaigns?
It can be enough for pilot campaigns and early testing. If your campaign becomes recurring or business-critical, Pro is generally required for stable capacity and deeper reporting.
### What is the most common upgrade trigger?
The most common trigger is hitting limits on QR codes, tracked journeys, or retention while the campaign is still running successfully.
### Do I need Pro to use a custom domain?
No. Every plan includes at least one custom domain, and the Free plan is enough to put your own branding on a link or QR code instead of showing ours.
You need a paid plan only for *more*: Free includes 1, Light 2 and Pro 5. If the Free plan's domain covers what you are doing, stay where you are.
### Can I start on Free and upgrade later without changing existing QR codes?
Yes. You can start on Free and move to Pro as needs grow. Upgrading expands limits and features without forcing a workflow reset.
### Where can I verify current limits and plan behavior?
Use [What happens when you reach your Linkbreakers plan limits](https://linkbreakers.com/help/article/what-happens-when-you-reach-your-linkbreakers-plan-limits) and [How do plan limits work in Linkbreakers](https://linkbreakers.com/help/article/how-do-plan-limits-work-in-linkbreakers) for operational details.
If you're running multiple campaigns, need deeper scan data, or want a fully branded experience, Pro removes the friction that usually slows growth.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Linkbreakers uptime: zero server errors
Source: https://linkbreakers.com/help/article/linkbreakers-uptime-zero-server-errors
## Short answer
Over three months, Linkbreakers answered more than **900,000 requests** to QR codes and short links with **zero server errors**. Not a low error rate: none. Traffic grew over the period, and the error count stayed at zero every week.
## The data
900K+
requests answered in 3 months
0
server errors
13 weeks
in a row without a server error
Requests per week, measuredRequests per week, estimatedServer errors per week: 0
Every request to Linkbreakers QR codes and short links, per week, over 13 weeks. The last two weeks are counted from request logs. Earlier weeks are estimated from log volume, using the requests per log line measured in those two weeks.
## What this means for your QR codes
- **Your printed codes keep working.** A QR code on a poster, a menu or a business card resolves every time it is scanned.
- **Improvements never interrupt scans.** We ship updates often, and visitors never notice.
- **Problems fix themselves.** If part of the service stops answering, traffic moves away from it automatically.
## Limits and caveats
- The last two weeks are counted from request logs. Earlier weeks are estimated from log volume, so those bars are approximate.
- Uptime is about Linkbreakers answering. Whether the website a link sends people to is up is outside our control.
## Frequently asked questions
### Do scans fail while you ship updates?
No. A new version is ready and answering before the old one stops, so there is always a version answering.
### What counts as a server error?
Any time our service fails to answer a request it should have answered. Requests for links that do not exist are answered with a "not found", which is the correct answer, not an error.
## Sources
- Linkbreakers request logs
---
# What is a visitor in QR analytics and why it matters
Source: https://linkbreakers.com/help/article/what-is-a-visitor-in-qr-analytics-and-why-it-matters
## Short answer
This article explains what is a visitor in qr analytics and why it matters with practical guidance, limits, and implementation details so you can apply it consistently.
Every QR code scan represents a person making a conscious decision to engage with your campaign. But understanding who that person is, and how they behave across multiple interactions, requires sophisticated visitor tracking that goes far beyond simple click counting.
## Understanding visitors versus scans
The distinction between visitors and scans forms the foundation of meaningful campaign analytics. While scans represent individual interactions, visitors represent the people behind those interactions.
### The visitor concept explained
A visitor in Linkbreakers represents a unique individual who may interact with your campaigns multiple times across different devices, QR codes, and time periods. This person-centric approach provides insights that simple scan counting cannot achieve.
When someone scans your QR code for the first time, Linkbreakers creates a visitor record that becomes the central identifier for all their future interactions with your campaigns. Subsequent scans from the same person get linked to this visitor profile, building a comprehensive picture of their engagement journey.
This visitor-centric model enables sophisticated analytics like understanding how many unique people engaged with your campaign, identifying your most active users, and tracking individual journey patterns through multiple touchpoints.
### Scan events versus visitor profiles
Each QR code scan generates an [event](https://linkbreakers.com/help/article/what-is-an-event-in-linkbreakers) that gets linked to a visitor profile:
- **Events**: Individual QR code scans with timestamp, location, and device information
- **Visitors**: Persistent profiles that aggregate all events from the same person
- **Devices**: Equipment used for scanning, which can be linked to visitor profiles
- **Sessions**: Groups of related events from the same visitor within a time period
This hierarchical structure enables analysis at multiple levels, from individual scan details to comprehensive visitor behavior patterns.
### Identity resolution and visitor merging
Sophisticated identity resolution automatically connects related activities to the same visitor profile. When someone provides contact information through your [QR code workflows](https://linkbreakers.com/help/article/what-is-linkbreakers), Linkbreakers can link their previous anonymous interactions to their identified profile.
This process happens transparently, ensuring you get complete visitor journey visibility without requiring people to authenticate every time they interact with your campaigns.
## Visitor data collection and tracking
Understanding what data gets collected about visitors helps you leverage analytics effectively while respecting privacy boundaries.
### Automatic data collection
Every QR code scan automatically captures essential visitor information:
1. **Device fingerprinting**: Browser type, operating system, screen resolution, and device characteristics
2. **Geographic data**: Country, region, and city based on IP address location
3. **Network information**: Internet service provider and connection type details
4. **Temporal data**: Scan timestamps, timezone information, and session timing
This automatic collection happens without requiring any visitor action beyond scanning your QR code.
### Explicit data collection through workflows
[Interactive workflows](https://linkbreakers.com/help/article/what-is-linkbreakers) enable explicit visitor data collection through forms and input fields:
- **Contact information**: Email addresses, phone numbers, and names
- **Demographic data**: Age, location, preferences, and other relevant characteristics
- **Custom attributes**: Any additional information relevant to your campaigns
- **Behavioral preferences**: Interests, buying intent, and engagement preferences
This explicit data collection requires visitor consent and action, but provides much richer profiles for marketing and analytics purposes.
### Data enrichment and enhancement
The platform automatically enriches visitor profiles with derived insights:
- **[Visitor journey](https://linkbreakers.com/help/article/what-is-a-visitor-journey)**: How far each visit got through the link's workflow steps
- **Engagement metrics**: Frequency, recency, and depth of interactions
- **Journey analysis**: Progression through multiple campaign touchpoints
- **Conversion tracking**: Goal achievement and funnel completion analysis
This enrichment transforms raw scan data into actionable marketing intelligence.
## Visitor analytics and insights
The [visitor dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors) transforms visitor data into actionable insights for campaign optimization.
### Individual visitor profiles
Each visitor gets a comprehensive profile that includes:
- **Contact details**: Any information they've provided through workflow forms
- **Activity timeline**: Chronological history of all QR code interactions
- **Device information**: Details about all devices they've used for scanning
- **Geographic patterns**: Locations where they've engaged with your campaigns
- **Engagement scoring**: Automated assessment of their interest and qualification level
These profiles enable personalized follow-up and sophisticated audience segmentation.
### Aggregate visitor analytics
Visitor-level analytics provide campaign insights impossible with scan-only tracking:
> "Understanding visitor behavior patterns reveals campaign performance insights that raw scan counts simply cannot provide."
Key metrics include:
- **Unique visitor counts**: How many different people engaged with your campaigns
- **Return visitor rates**: Percentage of people who scan multiple times
- **Cross-campaign engagement**: Visitors who interact with multiple QR codes
- **Conversion funnel analysis**: How visitors progress through your campaign objectives
These insights enable optimization based on actual human behavior rather than just interaction volume.
### Visitor segmentation and targeting
Rich visitor data enables sophisticated audience segmentation:
- **Behavioral segments**: Based on interaction patterns and engagement frequency
- **Demographic groups**: Using collected contact and preference information
- **Geographic segments**: Regional or location-based audience groups
- **Engagement levels**: High-value versus casual visitor identification
Effective segmentation enables targeted follow-up campaigns and personalized engagement strategies.
## Privacy and data protection
Visitor tracking operates within strict privacy boundaries designed to respect individual privacy while enabling meaningful analytics.
### Data minimization principles
Linkbreakers collects only data necessary for campaign functionality and analytics:
- **Automatic collection**: Limited to essential technical information for service delivery
- **Explicit consent**: Additional data collection requires clear visitor consent through forms
- **Purpose limitation**: Collected data used only for stated campaign and analytics purposes
- **Retention policies**: Data stored only as long as necessary for legitimate business purposes
This approach balances analytics value with privacy protection.
### Visitor anonymity and identification
The system supports both anonymous and identified visitor tracking:
- **Anonymous visitors**: Tracked through device fingerprints without personal identification
- **Identified visitors**: Linked to contact information when voluntarily provided
- **Pseudonymization**: Personal identifiers separated from analytics data where possible
- **Consent management**: Clear opt-in processes for additional data collection
This flexibility accommodates both privacy-conscious analytics and personalized marketing needs.
### GDPR and compliance considerations
Visitor tracking implements privacy regulation compliance features:
- **Lawful basis**: Clear legal justification for all data processing activities
- **Data subject rights**: Visitor access, correction, and deletion capabilities
- **Cross-border transfers**: Appropriate safeguards for international data movement
- **Documentation**: Comprehensive records of data processing activities and purposes
These compliance measures ensure visitor tracking operates within applicable privacy regulations.
## Advanced visitor tracking features
Sophisticated visitor tracking capabilities support complex campaign requirements and advanced analytics needs.
### Cross-device visitor linking
Advanced identity resolution links visitor activity across multiple devices:
- **Email-based linking**: Automatic connection when visitors provide email addresses
- **Behavioral correlation**: Statistical analysis to identify likely same-person activity
- **Explicit device registration**: Visitor-initiated device linking through account creation
- **Probabilistic matching**: Machine learning approaches to cross-device identification
This capability provides complete visitor journey visibility regardless of device switching.
### Visitor journey mapping
Comprehensive journey tracking reveals how visitors interact with multiple campaign touchpoints:
1. **Entry point identification**: First QR code or campaign that introduced the visitor
2. **Progression tracking**: Sequence of interactions across different campaigns
3. **Conversion attribution**: Understanding which touchpoints drive goal achievement
4. **Drop-off analysis**: Identifying where visitors disengage from your campaigns
Journey mapping enables optimization of multi-touchpoint campaign strategies.
### Qualification and the visitor journey
The visitor record is the lead: its free key/value attributes hold whatever your workflow collects. The workflow steps on each link qualify visitors the way you choose, and the [journey](https://linkbreakers.com/help/article/what-is-a-visitor-journey) records how far each visit got through them:
- **Steps reached**: How many workflow steps the visitor reached
- **Steps total**: How many steps were on their path to an exit
- **Completed**: Whether they reached the end
- **Attributes**: The answers and data collected along the way
This lets sales teams prioritize follow-up on visitors who went through every qualification step. The journey is a fact about the visit, not a score.
## Visitor data export and integration
Visitor data can be exported and integrated with external systems for advanced analysis and marketing automation.
### Data export capabilities
Comprehensive export options support various business needs:
- **CSV exports**: Complete visitor databases with all collected attributes
- **Filtered exports**: Subsets based on geographic, behavioral, or demographic criteria
- **API access**: Programmatic visitor data retrieval through the [Linkbreakers API](https://linkbreakers.com/help/api)
- **Real-time streaming**: Live visitor updates through [webhook integrations](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers)
These export options enable integration with CRM systems, marketing automation platforms, and business intelligence tools.
### CRM and marketing automation integration
Visitor data integrates seamlessly with existing marketing technology stacks:
- **Contact synchronization**: Automatic visitor profile creation in CRM systems
- **Behavioral triggers**: Campaign automation based on visitor interaction patterns
- **Lead qualification**: Visitor attributes and journey data passed to sales processes
- **Segmentation sync**: Visitor segments for targeted email and advertising campaigns
These integrations enable visitor data to drive broader marketing and sales activities.
### Custom analytics and business intelligence
Advanced organizations can leverage visitor data for sophisticated analysis:
- **Customer journey analytics**: Multi-touchpoint attribution and path analysis
- **Predictive modeling**: Machine learning on visitor behavior patterns
- **Campaign optimization**: A/B testing and performance optimization based on visitor segments
- **ROI calculation**: Visitor lifetime value and campaign return analysis
This advanced analysis enables data-driven campaign strategy and optimization.
## Programmatic visitor management
Technical teams can leverage visitor data programmatically for sophisticated automation and integration scenarios.
### API-driven visitor operations
The visitor API enables comprehensive programmatic management:
- **Visitor retrieval**: Query visitor profiles based on various criteria
- **Attribute management**: Update visitor profiles with additional information
- **Event correlation**: Link new events to existing visitor profiles
- **Export automation**: Programmatic data extraction for integration workflows
These capabilities enable sophisticated automation and integration scenarios.
### Webhook-based visitor updates
Real-time visitor updates through webhooks enable immediate response to visitor activities:
- **New visitor notifications**: Immediate alerts when new visitors engage with campaigns
- **Profile updates**: Real-time synchronization when visitor information changes
- **Behavior triggers**: Automated responses to specific visitor action patterns
- **Qualification alerts**: Notifications when visitors reach the end of a workflow
This real-time capability enables immediate response to visitor engagement.
## Visitor vs scan examples
- **One visitor, many scans**: A person scans a QR code at a trade show, then scans again later from the follow-up email. That is 2 scans, 1 visitor.
- **Multiple visitors, one code**: Ten people scan the same poster. That is 10 scans and 10 visitors.
- **Shared devices**: A shared tablet might merge into fewer visitors, which is why estimates are explained in Linkbreakers analytics.
## Frequently Asked Questions
### How does Linkbreakers identify unique visitors across multiple scans?
Linkbreakers uses device fingerprinting, browser characteristics, and explicit identification (when provided) to link multiple scans to the same visitor profile. This creates comprehensive engagement tracking for individual people.
### What personal information does visitor tracking collect automatically?
Automatic collection includes device type, browser, geographic location (city/region level), and technical information needed for QR code functionality. No personal identification occurs without explicit visitor consent.
### Can visitors opt out of tracking while still using QR codes?
QR codes function normally regardless of tracking preferences. However, basic technical information is necessary for redirect functionality, though this can be anonymized and not linked to persistent visitor profiles.
### How long does Linkbreakers store visitor data?
Visitor data retention depends on your [workspace](https://linkbreakers.com/help/article/what-is-a-workspace) settings and applicable privacy regulations. Data is kept only as long as necessary for legitimate business purposes with options for deletion upon request.
### What's the difference between a visitor and a lead?
A visitor is anyone who scans your QR codes. A lead is a visitor who has provided contact information or met qualification criteria that indicate sales interest. All leads are visitors, but not all visitors become leads.
### Can I merge visitor profiles that represent the same person?
Yes, visitor profiles can be merged when you identify duplicates. This often happens automatically when visitors provide the same contact information through different interactions.
### How accurate is visitor location tracking?
Location tracking uses IP geolocation which is accurate to city/region level. Exact address tracking isn't possible without visitor consent and explicit location sharing through their device.
### Can I export visitor data for use in other marketing tools?
Yes, visitor data can be exported in CSV format or accessed programmatically through the API for integration with CRM systems, email platforms, and other marketing tools.
### What happens to visitor data if I cancel my Linkbreakers subscription?
Visitor data handling during subscription cancellation depends on your specific agreement and applicable privacy regulations. Contact support for information about data retention and deletion options.
### How does visitor tracking work across different QR code campaigns?
Visitor profiles aggregate interactions across all QR codes within your workspace, providing a complete picture of individual engagement across multiple campaigns and touchpoints.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How do webhooks work in Linkbreakers?
Source: https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers
## Short answer
This article explains how do webhooks work in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Imagine your CRM automatically updating the moment someone scans your trade show QR code and fills out a lead form. Or your inventory system receiving instant notifications when customers complete product registration workflows. Even better: imagine creating webhooks that trigger only for specific QR codes or links, enabling surgical precision in your automation strategies. That's the power of Linkbreakers webhooks in action.
## Understanding webhook fundamentals
Webhooks transform Linkbreakers from an isolated QR code platform into a connected piece of your broader technology ecosystem. Rather than manually checking for new [visitor](https://linkbreakers.com/help/article/what-is-a-visitor-in-qr-analytics-and-why-it-matters) activity or importing data periodically, webhooks push information to your systems instantly when important events occur.
### How webhook delivery works
When someone completes a workflow in your QR code campaign, Linkbreakers immediately sends an HTTP POST request to your specified endpoint URL. This request contains detailed information about the visitor, their responses, and the context of their interaction.
The webhook delivery happens asynchronously, meaning it doesn't slow down the visitor's experience while ensuring your systems receive timely notifications. This approach balances user experience with integration responsiveness.
### Event triggering mechanisms
Each webhook has a list of triggers, which are workflow step kinds. A webhook with no triggers fires for every kind:
- **`EXIT`**: the visitor reached the end of the workflow, such as a redirect or a contact card
- **`INTERACTION`**: the visitor completed an interactive step, such as a form submission (`FORM_SUBMIT`) or a password check (`PASSWORD_VERIFY`)
- **`ENTRY`**: the visitor entered the workflow
### Event types and headers
The body's `type` field tells you which kind of delivery you received:
| `type` | Sent when | Extra fields |
|---|---|---|
| `event.completed` | The visit reached an exit step | none |
| `step.completed` | The visitor completed a step whose kind matches the webhook's triggers | `workflowStep`, the step that was completed |
What the visitor did is named with short action names, without a prefix: `workflowStep.eventAction` and each `event.traces[].stepAction` hold values such as `FORM_SUBMIT`, `CLIENT_REDIRECT`, `PASSWORD_VERIFY`, `CONTACT_CARD` or `MULTI_LINK`, and `workflowStep.kind` and `traces[].stepKind` hold `ENTRY`, `EXIT` or `INTERACTION`. Other enums in the body use the same short form: `event.action` is `SCAN` or `CLICK`, `event.triggeredBy` is `VISITOR`, and `device.deviceType` is `MOBILE`, `DESKTOP`, `TABLET`, `NATIVE` or `UNKNOWN`. This differs from the REST API, which returns prefixed names such as `ACTION_SCAN`.
Every delivery carries these headers:
| Header | Value |
|---|---|
| `X-Linkbreakers-Event` | Always `event.completed`, for both delivery types |
| `X-Linkbreakers-Event-ID` | The event's ID |
| `X-Linkbreakers-Webhook-ID` | The webhook's ID |
Because the `X-Linkbreakers-Event` header does not distinguish the two delivery types, route on the body's `type` field, and on `workflowStep.eventAction` to tell a form submission from other steps:
```javascript
app.post('/linkbreakers-webhook', express.json(), (req, res) => {
const { type, event, workflowStep } = req.body;
if (type === 'step.completed' && workflowStep?.eventAction === 'FORM_SUBMIT') {
const submission = event.traces.find((t) => t.stepAction === 'FORM_SUBMIT');
createLead(event.visitor, submission?.stepData?.form_data);
}
res.sendStatus(200);
});
```
### QR code and link-specific webhook targeting
Here's what makes Linkbreakers webhooks truly powerful: **you can create webhooks that trigger only for specific QR codes or links**. This surgical precision enables incredibly targeted automation scenarios:
- **Product-specific automations**: Trigger different workflows for each product QR code
- **Campaign-specific notifications**: Route leads differently based on which marketing campaign they came from
- **Location-based triggers**: Different automation for QR codes placed in different physical locations
- **Event-specific workflows**: Unique handling for trade show vs. retail vs. online QR codes
This granular control means you can create highly specialized automation that responds perfectly to the context of each visitor interaction, rather than using one-size-fits-all approaches.
This trigger model ensures webhooks deliver notifications at moments when you actually need to take action rather than flooding your systems with intermediate activities.
## Webhook configuration and management
Setting up webhooks requires careful attention to endpoint configuration, security, and testing to ensure reliable integration.
### Basic webhook setup
Creating webhooks through your [webhook dashboard](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) involves several key configuration steps:
1. **Endpoint URL specification**: The HTTP endpoint where Linkbreakers will send notifications
2. **Event selection**: Choosing which workflow completions should trigger webhook delivery
3. **Authentication setup**: Configuring any required security headers or tokens
4. **Testing verification**: Confirming your endpoint receives and processes test payloads correctly
Proper configuration ensures webhooks integrate smoothly with your existing systems without causing processing errors or security vulnerabilities.
### Subscription limits and scaling
Different Linkbreakers plans provide varying webhook capacity:
- **Free plans**: 1 webhook endpoint maximum
- **Light plans**: 3 webhook endpoints
- **Pro plans**: 10 webhook endpoints for multiple integrations
- **Enterprise plans**: Unlimited webhooks with advanced features
These limits reflect the infrastructure required to support reliable webhook delivery while encouraging appropriate subscription selection based on integration complexity.
### Webhook status management
Active webhook management involves monitoring delivery status and adjusting configuration based on performance:
- **ACTIVE**: Webhook is enabled and delivering notifications
- **DISABLED**: Webhook is turned off and not sending requests
- **PAUSED**: Webhook is temporarily suspended due to delivery failures
- **AUTO-DISABLED**: Webhook automatically disabled after repeated failures
This status system protects both your systems and Linkbreakers infrastructure from problematic endpoints while providing visibility into delivery health.
## Webhook payload structure and data
Understanding webhook payload structure enables effective integration and ensures your systems can process incoming data correctly.
### Standard payload components
Every webhook includes consistent data structure, here's an example:
```json
{
"event": {
"id": "0a2d9a3c-3f5a-483e-93e1-10b5bd04ac5b",
"deviceId": "ec1d32f1-e5aa-4b12-8ad2-26da282b7261",
"device": {
"id": "ec1d32f1-e5aa-4b12-8ad2-26da282b7261",
"workspaceId": "a39dbbfb-be5e-41c8-b49a-7c9ada520fa4",
"deviceType": "DESKTOP",
"deviceBrand": "Apple",
"browserName": "Chrome",
"browserVersion": "140.0.0.0",
"browserLanguage": "en-US,en;q=0.9",
"platformName": "macOS",
"platformVersion": "10.15.7",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",
"ipAddress": "::1",
"lastUsedAt": "2025-10-10T16:12:20.516858Z",
"createdAt": "2025-10-10T16:12:20.598647Z",
"updatedAt": "2025-10-10T16:12:26.929197Z"
},
"visitorId": "5f0c2b7e-9d41-4a8e-b0f2-3e6c1a9d8b24",
"visitor": {
"id": "5f0c2b7e-9d41-4a8e-b0f2-3e6c1a9d8b24",
"workspaceId": "a39dbbfb-be5e-41c8-b49a-7c9ada520fa4",
"email": "jane@example.com",
"firstName": "Jane",
"attributes": {
"budget": "900000",
"bedrooms": "3",
"needs_parking": "true"
},
"typedAttributes": [
{
"key": "budget",
"valueText": "900000",
"valueType": "NUMBER",
"valueNumber": 900000
}
],
"createdAt": "2025-10-04T09:21:02.118204Z",
"updatedAt": "2025-10-10T16:12:26.929197Z"
},
"journey": {
"stepsReached": 2,
"stepsTotal": 5,
"completed": false
},
"action": "SCAN",
"httpMethod": "GET",
"scannedAt": "2025-10-10T16:12:20.516858Z",
"triggeredBy": "VISITOR",
"link": {
"id": "a3332d06-1c43-4a23-a34e-259fa393581c",
"shortlink": "zqVNfSC9M",
"entrypoint": "http://localhost:8081/zqVNfSC9M",
"fallbackDestination": "https://linkbreakers.com",
"workspaceId": "a39dbbfb-be5e-41c8-b49a-7c9ada520fa4",
"qrcodeDesignId": "a08d4c4e-c879-40df-b54a-648e7c33c077",
"qrcodeTemplateId": "c8296eec-208e-4f49-8e0e-804bab5152c7",
"createdAt": "2025-10-10T15:55:45.078154Z",
"updatedAt": "2025-10-10T16:04:34.138945Z",
"eventCount": 1,
"metadata": {
"property_id": "AMS-1943",
"surface": "yard_sign"
},
"tags": [
{ "id": "7c1e0f3a-2b4d-4e8f-9a6b-1d2c3e4f5a6b", "name": "amsterdam-west" }
]
},
"linkId": "a3332d06-1c43-4a23-a34e-259fa393581c",
"entrypoint": "http://localhost:8081/zqVNfSC9M",
"destination": "https://linkbreakers.com",
"traces": [
{
"stepAction": "FORM_SUBMIT",
"stepKind": "INTERACTION",
"stepData": {
"title": "Tell us what you are looking for",
"action": "submitted",
"form_data": {
"$email": "jane@example.com",
"budget": 900000,
"bedrooms": 3
}
},
"completedAt": "2025-10-10T16:12:25.004118Z"
}
],
"workspace": {
"id": "a39dbbfb-be5e-41c8-b49a-7c9ada520fa4",
"name": "hkjhkjl",
"linkSettingId": "8452f9f4-2232-4695-858a-85b270104ea5",
"timezone": "UTC",
"country": "US",
"createdAt": "2025-10-01T08:36:27.154708Z",
"updatedAt": "2025-10-01T08:36:27.154708Z"
},
"workspaceId": "a39dbbfb-be5e-41c8-b49a-7c9ada520fa4",
"createdAt": "2025-10-10T16:12:20.59916Z",
"updatedAt": "2025-10-10T16:12:27.003281Z"
},
"webhook": {
"id": "42806ec9-1085-404a-b353-75b156cb71b3",
"name": "Test Webhook",
"endpointUrl": "https://webhook-test.com/74d9a9bae65ebaa1900ca1b1553617ef",
"status": "ACTIVE",
"workspaceId": "a39dbbfb-be5e-41c8-b49a-7c9ada520fa4",
"createdBy": "a36358fe-2749-40a3-8068-e94177a8d069",
"createdAt": "2025-10-09T21:59:53.506032Z",
"updatedAt": "2025-10-10T16:12:11.194332Z",
"lastSentAt": "2025-10-10T16:12:11.194332Z",
"lastDeliveredAt": "2025-10-10T16:12:11.194332Z",
"successCount": 13
},
"workflowStep": {
"id": "3bb8a4a0-80eb-4a36-863e-03e3ed5c2a1b",
"linkId": "a3332d06-1c43-4a23-a34e-259fa393581c",
"eventAction": "CLIENT_REDIRECT",
"payload": {
"conversion_tracking": false,
"destination": "https://linkbreakers.com"
},
"canvasPosition": {
"x": 433.8118591816531,
"y": 164.3681611778236
},
"kind": "EXIT",
"createdAt": "2025-10-10T15:55:45.085099Z",
"updatedAt": "2025-10-10T15:55:45.085099Z"
},
"timestamp": "2025-10-10T16:12:28.161007Z",
"type": "step.completed",
"lbid": "2VqKhjxtKwC7pBbg"
}
```
This structure provides comprehensive context about the visitor interaction while maintaining consistent formatting across all webhook deliveries.
### LBID integration for external attribution
Every webhook payload includes the **LBID** (Linkbreakers ID) field at the root level, providing a unique identifier that connects the webhook event to the original scan or click:
- **Conversion attribution**: Use the LBID to attribute external conversions (sales, signups, etc.) back to specific QR code scans
- **Cross-platform tracking**: Connect webhook events with your internal analytics and tracking systems
- **Event correlation**: Link multiple webhook events to the same visitor journey using the LBID
The LBID is a base64-encoded identifier that remains consistent throughout the visitor's entire workflow journey, making it ideal for advanced integration scenarios where you need to track visitor behavior across multiple systems.
Learn more about [what LBID is and how to use it](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid) for visitor tracking and integration.
### Data privacy and sanitization
Webhook payloads undergo careful sanitization to protect sensitive information:
- **Internal identifiers**: Platform-specific IDs sanitized or excluded
- **QR code keys**: Security-sensitive data removed from delivery
- **Personal data**: Only explicitly provided information included
This sanitization ensures webhook integration receives necessary data while protecting platform security and visitor privacy.
### Custom attribute handling
Every webhook carries the whole lead, so your receiving system never has to call the API back to find out who the visitor is:
- **Identity**: `event.visitor` holds the email, phone, first and last name the [visitor](https://linkbreakers.com/help/article/what-is-a-visitor-in-qr-analytics-and-why-it-matters) has given, on this scan or any earlier one.
- **Custom attributes**: `event.visitor.attributes` is the flat key/value map, and `event.visitor.typedAttributes` carries the same values with their types (number, boolean, date, enum, string).
- **What happened on this scan**: `event.traces` lists each workflow step the visitor went through, with what they submitted or chose in `stepData`.
- **Physical context**: `event.link.metadata` holds the key/value pairs you set on the link (a property ID, a store, a surface), and `event.link.tags` its [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns).
Together these let a receiving system create or update the lead, route it, and know which physical object it came from in a single request.
## Webhook delivery reliability and error handling
Reliable webhook delivery requires sophisticated retry logic, error handling, and monitoring to ensure integrations work consistently.
### Delivery retry mechanisms
Linkbreakers implements robust retry logic for webhook delivery failures:
1. **Immediate retry**: First retry happens immediately after initial failure
2. **Exponential backoff**: Subsequent retries use increasing delays
3. **Maximum attempts**: Up to 3 total delivery attempts per webhook
4. **Failure tracking**: Comprehensive logging of delivery attempts and failures
This retry logic handles temporary network issues and endpoint unavailability while avoiding excessive load on failing systems.
### Timeout and response handling
Webhook delivery includes reasonable timeout and response expectations:
- **30-second timeout**: Maximum time allowed for endpoint response
- **HTTP status validation**: 2xx responses considered successful delivery
- **Error classification**: Different handling for temporary versus permanent failures
- **Response logging**: Detailed tracking of endpoint responses for debugging
These parameters balance integration reliability with system resource management.
### Auto-disable protection
Repeated delivery failures trigger automatic webhook protection:
- **10 consecutive failures**: Threshold for automatic webhook disabling
- **Email notifications**: Alerts sent when webhooks are auto-disabled
- **Manual re-enabling**: Webhooks require explicit reactivation after auto-disable
- **Status visibility**: Clear indication of webhook status in dashboard
This protection prevents problematic integrations from overwhelming either your systems or Linkbreakers infrastructure.
## Integration patterns and use cases
Webhooks enable numerous integration scenarios that connect QR code campaigns with broader business processes.
### CRM and lead management integration
Customer relationship management integration represents one of the most valuable webhook applications:
- **Instant lead creation**: New visitor records automatically created in CRM systems
- **Contact enrichment**: Existing contact records updated with new interaction data
- **Journey updates**: How far each visitor got through the workflow, synchronized with sales team tools
- **Activity logging**: Complete visitor journey tracking within CRM timelines
This integration ensures sales teams have immediate visibility into campaign-generated leads without manual data entry or import processes.
### Marketing automation triggers
Webhook data can trigger sophisticated marketing automation workflows:
> "Webhooks transform static QR code campaigns into dynamic, responsive marketing systems that adapt to visitor behavior in real-time."
Common automation scenarios include:
- **Email sequence initiation**: Welcome series triggered by form completion
- **Segmentation updates**: Visitor behavior driving audience segment assignment
- **Personalization data**: Campaign responses informing content customization
- **Cross-channel coordination**: QR code interactions triggering social media or advertising actions
### Integration with automation platforms
Linkbreakers webhooks integrate seamlessly with popular automation platforms, making it incredibly easy to build powerful workflows:
- **[Make.com](https://linkbreakers.com/help/article/advanced-qr-code-workflows-with-make-com)**: Create sophisticated multi-step automation with conditional logic and data transformation
- **[Zapier](https://linkbreakers.com/help/article/automate-your-lead-generation-with-qr-codes-zapier)**: Connect with 6,000+ apps for instant lead capture and CRM integration
- **Custom integrations**: Use our [REST API](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api) for building specialized automation workflows. See our [tech stack integration guide](https://linkbreakers.com/help/article/how-to-integrate-linkbreakers-with-existing-tech-stack) for comprehensive implementation approaches
These platforms make webhook automation accessible to both technical and non-technical teams, enabling anyone to create powerful QR code automation without writing code.
These automations create seamless visitor experiences that respond intelligently to campaign engagement.
### Business intelligence and analytics
Webhook data streams into analytics platforms for comprehensive campaign analysis:
- **Real-time dashboards**: Live visitor activity feeding executive dashboards
- **Conversion tracking**: Goal completion data flowing into attribution models
- **Performance optimization**: Visitor behavior insights driving campaign refinement
- **ROI calculation**: Complete funnel data enabling accurate return measurement
This analytics integration provides comprehensive visibility into campaign performance and business impact.
### Targeted automation scenarios that will transform your business
The ability to create QR code-specific webhooks opens up automation possibilities that most businesses haven't even considered:
**Product registration automation**: Different QR codes on different products can trigger unique warranty registration, support ticket routing, and customer onboarding workflows. A QR code on a high-end appliance might trigger immediate white-glove support assignment, while a code on a consumable product triggers automated reorder reminders.
**Event management automation**: QR codes at different booths or locations can trigger location-specific follow-up sequences. A scan at your main booth might add prospects to your primary sales funnel, while a scan at a co-marketing partner's booth could trigger joint follow-up campaigns.
**Inventory and fulfillment automation**: QR codes on packaging can trigger different supply chain workflows. B2B customer scans might trigger bulk reorder workflows, while individual consumer scans trigger personalized product recommendations and loyalty program updates.
**Multi-location business automation**: Franchise or multi-location businesses can use location-specific QR codes to trigger region-appropriate automation. Different pricing, local promotions, regional staff assignments, and compliance requirements can all be handled automatically based on which specific QR code was scanned.
These targeted automation scenarios demonstrate why granular webhook control is so powerful for businesses that need sophisticated, context-aware automation strategies.
## The incredible automation possibilities with Make.com and Zapier
Here's what makes Linkbreakers webhooks truly transformative: seamless integration with the world's most powerful automation platforms. You don't need to be a developer to create sophisticated automation that responds intelligently to specific QR code interactions.
### Zero-code automation that rivals custom development
**With Make.com integration**:
- Create complex decision trees that route prospects differently based on which specific QR code they scanned
- Build sophisticated data transformation workflows that enrich webhook data before sending to your CRM
- Orchestrate multi-step processes across dozens of business applications
- Implement conditional logic that adapts automation based on the [visitor journey](https://linkbreakers.com/help/article/what-is-a-visitor-journey), geographic data, device types, and campaign context
**With Zapier integration**:
- Connect QR code scans to over 6,000 business applications instantly
- Create automated lead capture that flows from scan to CRM in seconds
- Build follow-up sequences that trigger based on specific QR code interactions
- Generate personalized QR codes automatically when new leads enter your funnel
### Real-world automation scenarios that transform businesses
**E-commerce automation**: QR codes on different products trigger unique customer journeys. Premium product scans might trigger white-glove onboarding, while consumable product scans trigger automated reorder sequences.
**Event management automation**: Trade show QR codes at different booths trigger location-specific follow-up workflows, ensuring prospects receive relevant content based on exactly where they engaged with your brand.
**Multi-location business automation**: Franchise locations can have QR codes that trigger region-specific pricing, local promotions, and appropriate sales team assignment, so every response happens automatically.
**Product registration automation**: Different QR codes on different products trigger unique warranty workflows, support ticket routing, and customer success programs.
**Lead qualification automation**: Marketing QR codes trigger nurturing sequences, while sales collateral QR codes trigger immediate sales team notifications with full context.
The best part? These sophisticated automation workflows can be built by anyone using Make.com or Zapier's visual builders, which means no coding is required. You get enterprise-grade automation capability with consumer-friendly setup.
## Security considerations and best practices
Webhook security requires attention to authentication, data protection, and endpoint validation to ensure safe integration.
### Endpoint authentication
Securing webhook endpoints prevents unauthorized access and data manipulation:
- **API key validation**: Include authentication tokens in webhook headers
- **Signature verification**: Cryptographic signatures for payload validation
- **IP whitelisting**: Restrict webhook sources to Linkbreakers infrastructure
- **HTTPS requirements**: Encrypted delivery for data protection in transit
These security measures ensure webhook data comes from legitimate sources and remains protected during delivery.
### Data handling and privacy
Responsible webhook data handling protects visitor privacy and complies with regulations:
- **Data minimization**: Process only necessary information from webhook payloads
- **Retention policies**: Implement appropriate data storage and deletion schedules
- **Access controls**: Limit webhook data access to authorized systems and personnel
- **Audit logging**: Track webhook data processing for compliance and security review
These practices ensure webhook integrations operate responsibly and maintain visitor trust.
### Error handling and monitoring
Robust webhook integration includes comprehensive error handling and monitoring:
1. **Graceful degradation**: Systems continue operating even during webhook delivery failures
2. **Duplicate detection**: Handle potential duplicate webhook deliveries appropriately
3. **Payload validation**: Verify incoming webhook data before processing
4. **Performance monitoring**: Track webhook processing performance and optimize as needed
These practices ensure webhook integrations remain reliable and performant even under unusual conditions.
## Advanced webhook features and customization
Sophisticated integration scenarios benefit from advanced webhook capabilities and customization options.
### Conditional webhook delivery
Advanced webhook configuration can include conditional delivery logic:
- **Event filtering**: Webhooks triggered only for specific workflow types
- **Attribute-based routing**: Different endpoints for different visitor characteristics
- **Geographic routing**: Regional webhook endpoints based on visitor location
- **Campaign-specific webhooks**: Dedicated integrations for particular QR code campaigns
This conditional logic enables sophisticated integration architectures that route data appropriately based on context.
### Webhook transformation and enrichment
Webhook payloads can be transformed and enriched before delivery:
- **Data formatting**: Payload structure customized for receiving system requirements
- **Additional context**: Enriched with related campaign or historical data
- **Calculated fields**: Derived data such as the visitor journey included in delivery
- **External data fusion**: Combined with third-party data sources for enhanced context
These transformations enable webhook data to integrate seamlessly with existing system requirements.
## Programmatic webhook management
Technical teams can manage webhooks programmatically through the [Linkbreakers API](https://linkbreakers.com/help/api) for sophisticated automation and integration scenarios. For detailed implementation guidance, see our [API integration guide](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api) and [analytics implementation guide](https://linkbreakers.com/help/article/analytics).
### API-driven webhook operations
Comprehensive webhook management through API endpoints:
- **Webhook creation**: Programmatically configure new webhook endpoints
- **Status management**: Enable, disable, or pause webhooks through API calls
- **Delivery monitoring**: Query webhook delivery status and error logs
- **Configuration updates**: Modify webhook settings without manual dashboard access
This programmatic control enables webhook management to integrate with deployment pipelines and infrastructure automation.
### Monitoring and observability
API access enables sophisticated webhook monitoring and observability:
- **Delivery metrics**: Track webhook success rates and performance trends
- **Error analysis**: Programmatic access to delivery failure details
- **Performance optimization**: Identify and resolve webhook delivery issues
- **Capacity planning**: Monitor webhook usage patterns for scaling decisions
This observability enables proactive webhook management and optimization.
## Frequently Asked Questions
### What events trigger webhook delivery in Linkbreakers?
Webhooks trigger on the workflow step kinds you select as triggers: `EXIT` when a visit reaches the end of the workflow (body `type` is `event.completed`), and `INTERACTION` or `ENTRY` when a matching step is completed (body `type` is `step.completed`, with the step in `workflowStep`). A webhook with no triggers fires for all of them. The `X-Linkbreakers-Event` header is always `event.completed`, so route on the body's `type`.
### How quickly are webhooks delivered after visitor actions?
Webhook delivery happens within seconds of visitor action completion. The exact timing depends on payload processing and network conditions but is typically near real-time.
### What happens if my webhook endpoint is temporarily unavailable?
Linkbreakers retries webhook delivery up to 3 times with exponential backoff. If all attempts fail, the webhook is marked as failed but your visitor data remains available through the dashboard and API.
### Can I receive webhooks for historical visitor data?
Webhooks only trigger for new visitor actions occurring after webhook configuration. Historical data can be retrieved through API queries or dashboard exports.
### How do I verify that webhooks are coming from Linkbreakers?
Implement endpoint authentication using API keys, verify payload signatures, and consider IP whitelisting to ensure webhook authenticity.
### What should I do if webhooks are auto-disabled due to failures?
Investigate and resolve the endpoint issues causing failures, then manually re-enable the webhook through your dashboard. Review delivery logs to understand failure causes.
### Can I configure different webhooks for different campaigns?
Yes. A webhook can be limited to a single link with its link filter (`linkId` in the API), so each campaign's QR code can post to its own endpoint. Without a link filter, a webhook receives events from every link in the [workspace](https://linkbreakers.com/help/article/what-is-a-workspace), and the payload's `event.link` (its metadata and tags) lets your receiving system route them.
### What data privacy considerations apply to webhook payloads?
Webhook payloads include only data explicitly provided by visitors or necessary for integration. Sensitive platform data is sanitized, and you're responsible for handling received data appropriately.
### How can I test webhook integration during development?
Use webhook testing tools like ngrok for local development, implement test endpoints that log incoming payloads, and use the webhook test functionality in your dashboard.
### Are there limits on webhook payload size or delivery frequency?
Webhook payloads are optimized for efficiency, and delivery frequency scales with your visitor activity. Enterprise customers can discuss specific requirements for high-volume scenarios.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What is a multi-link page?
Source: https://linkbreakers.com/help/article/what-is-a-multi-link-page
## Short answer
This article explains what is a multi-link page with practical guidance, limits, and implementation details so you can apply it consistently.
A multi-link page transforms a single QR code into an interactive experience that presents visitors with multiple destination choices. Instead of redirecting everyone to the same URL, it displays an interface where people can select from various options like social media profiles, contact information, portfolio links, or custom forms.
This approach maximizes the utility of each QR code while providing valuable insights into visitor preferences and behavior patterns.
## Quick summary
- Create interactive experiences with multiple destination choices from a single QR code
- Design workflow steps that collect visitor information and guide them through sophisticated journeys
- Implement conditional routing that shows different options based on visitor behavior or preferences
- Track detailed analytics about visitor choices and engagement patterns for optimization
- Build progressive profiling workflows that gather information across multiple interactions
- Integrate multi-link pages with CRM systems and marketing automation platforms
:::try-ai-prompt {"prompt":"Create a multi-link page with three buttons: 'View Portfolio', 'Book a Consultation', and 'Download Brochure'.","description":"Try creating a multi-link page with the AI builder."}:::
## The evolution beyond simple links
Most people think QR codes only redirect to one destination. You scan, you land on a webpage, end of story. But that's like using a smartphone only to make phone calls. You're missing the real potential.
A multi-link page transforms a single QR code into an interactive experience that can present multiple destinations, collect information, and guide visitors through sophisticated workflows. Think of it as the difference between a road sign pointing in one direction and a smart GPS that adapts its route based on your preferences.
> "Traditional QR codes are static billboards. Multi-link pages are interactive conversations."
## How multi-link pages work in Linkbreakers
At its core, a multi-link page is a **workflow step** within Linkbreakers' intelligent routing system. When someone scans your QR code, they don't immediately jump to a final destination. Instead, they enter a carefully crafted sequence of interactive steps.
Here's what happens behind the scenes:
1. **QR scan triggers workflow entry**
2. **Interactive page displays multiple options**
3. **Visitor clicks their preferred button**
4. **System routes to appropriate next step or destination**
5. **Analytics capture every interaction**
Each button on your multi-link page can lead somewhere different. One might take visitors to your Instagram, another to your email signup form, and yet another might trigger a completely different workflow based on their interests.

## Real-world applications that actually work
### The networking powerhouse
Sarah, a freelance graphic designer, replaced her traditional business cards with QR code stickers. Her multi-link page offers visitors these options:
- View portfolio (routes to Behance)
- Schedule consultation (Calendly booking)
- Follow on social media (Instagram)
- Download contact info (vCard)
- Request quote (custom form)
Each choice tells Sarah something valuable about her prospects. Portfolio viewers are serious potential clients. Social followers might refer others. Quote requesters are ready to buy.
### The restaurant revolution
Marco's Italian bistro uses multi-link pages on table tents. Diners can choose:
- View today's specials
- Join loyalty program
- Leave feedback
- Order takeout
- Reserve for next visit
The same QR code serves multiple purposes while tracking which options customers prefer. Marco discovered that 67% of table scans lead to loyalty signups, but only 12% result in immediate takeout orders. This insight shifted his marketing strategy completely.
### The event management game-changer
TechCrunch 2024 used multi-link pages for attendee badges. One scan offered:
- Download conference app
- Connect with speakers on LinkedIn
- Access presentation slides
- Provide session feedback
- Network with other attendees
Instead of printing different QR codes for each function, one code handled everything. Event organizers tracked which sessions generated the most engagement and which speakers people wanted to connect with most.
## The technical magic behind the curtain
Linkbreakers implements multi-link functionality through what we call **workflow steps**. These aren't just fancy redirects - they're intelligent components that can:
- Display custom interactive interfaces
- Collect visitor information progressively
- Apply conditional logic based on responses
- Route to different destinations dynamically
- Track comprehensive analytics throughout
You can chain multiple workflow steps together. Maybe your multi-link page leads to a quick survey, then based on those answers, visitors see different social media options. Or perhaps they fill out contact details first, then get personalized product recommendations.
The system supports everything from simple contact card sharing (like Linktree) to complex lead qualification funnels that rival expensive marketing automation platforms.
## Why this matters for your business
Traditional link-in-bio tools force you to choose: either send everyone to the same place, or create multiple QR codes for different purposes. Multi-link pages eliminate that compromise.
More importantly, they transform passive scanning into active engagement. Instead of hoping visitors remember to check out your other social profiles, you can present those options immediately and track which ones resonate.
Consider these statistics from our customer base:
- Multi-link pages see **3.2x higher engagement** than single-destination QR codes
- Visitors spend **45% more time** interacting with content
- **73% of businesses** report better lead quality from workflow-captured data
- **89% of users** prefer choosing their next action rather than being forced down one path
## Building your first multi-link page
Creating a multi-link page in Linkbreakers starts with understanding your visitor's journey. What are the different things someone might want after scanning your QR code?
You can set this up through our [workflow system](https://app.linkbreakers.com/workspace/dashboard) or programmatically via our comprehensive API. The process involves:
1. **Designing your interactive interface**
2. **Defining button destinations**
3. **Setting up analytics tracking**
4. **Testing the complete experience**
For developers and advanced users, our [API documentation](https://linkbreakers.com/help/api) provides complete control over workflow creation. You can build multi-link experiences that integrate with your existing systems and trigger complex business logic.
## Advanced multi-link strategies
The real power emerges when you start thinking beyond simple redirects. Consider these advanced patterns:
**Conditional routing**: Different buttons appear based on visitor location, device type, or previous interactions.
**Progressive profiling**: Each workflow step collects a bit more information, building comprehensive visitor profiles over time.
**A/B testing workflows**: Show different multi-link options to different visitor segments and measure which performs better.
**Integration triggers**: Button clicks can fire webhooks, update CRM records, or trigger marketing automation sequences.
**Dynamic content**: Multi-link pages can display different options based on time of day, inventory levels, or external data sources.
## Measuring success beyond click counts
Traditional link tracking tells you how many people clicked. Multi-link page analytics tell you how people think.
Which options do visitors choose most often? At what point do they drop off? How does behavior differ between mobile and desktop users? Between different traffic sources?
This granular insight helps optimize not just your QR code campaigns, but your entire customer experience. When you know that 80% of restaurant QR scans lead to menu views but only 15% result in loyalty signups, you can redesign the experience to improve conversion.
## The future is interactive
We're moving beyond the era of passive consumption toward active, choice-driven experiences. Multi-link pages represent this shift in microcosm.
Instead of bombarding people with everything at once (traditional websites) or forcing them down predetermined paths (single QR codes), multi-link pages respect visitor agency while providing business intelligence.
This approach scales from personal networking to enterprise marketing campaigns. The same fundamental concept works whether you're a solo consultant sharing contact information or a Fortune 500 company orchestrating complex customer journeys.
## Frequently asked questions
**Can I change my multi-link page options after printing QR codes?**
Absolutely. That's the beauty of dynamic QR codes. Your printed QR code stays the same, but you can update the multi-link page options, destinations, and even the entire workflow anytime through your dashboard.
**How many buttons can I add to a multi-link page?**
While there's no hard technical limit, we recommend 3-6 primary options for optimal user experience. Too many choices can overwhelm visitors. You can always chain workflow steps for more complex paths.
**Do multi-link pages work on all devices?**
Yes. The interactive interfaces are fully responsive and optimized for smartphones, tablets, and desktop computers. The experience adapts automatically to screen size and capabilities.
**Can I track which buttons people click?**
Every interaction is tracked with detailed analytics including device type, location, timestamp, and user behavior patterns. You can see exactly how people engage with each option.
**How fast do multi-link pages load?**
Multi-link pages are optimized for speed with global CDN delivery. Average load times are under 2 seconds worldwide, ensuring visitors don't bounce before seeing their options.
**Can I customize the visual design?**
Yes, through our [page theme system](https://app.linkbreakers.com/workspace/dashboard). You can match your brand colors, add logos, and create cohesive visual experiences. Premium plans offer complete white-label customization.
**Do multi-link pages support languages other than English?**
The system supports full internationalization. You can create multi-language workflows and even show different button options based on visitor location or browser language preferences.
**Can I integrate multi-link page data with my CRM?**
Yes, through our webhooks and [API integration system](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks). Every button click and form submission can trigger real-time updates to your existing business systems.
**What happens if someone bookmarks a multi-link page URL?**
The workflow maintains state consistency. Bookmarked multi-link pages continue working, though visitors might miss earlier workflow steps. You can configure fallback behaviors for direct access scenarios.
**Are there any limits on workflow complexity?**
Basic plans support straightforward multi-link workflows. Advanced plans unlock conditional logic, complex branching, and integration capabilities. Check our pricing for specific feature availability.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What is role-based access control in Linkbreakers?
Source: https://linkbreakers.com/help/article/what-is-role-based-access-control-in-linkbreakers
## Short answer
This article explains what is role-based access control in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Managing team access across marketing campaigns requires delicate balancing. You want teammates to collaborate effectively without accidentally disrupting live campaigns or accessing sensitive billing information. Role-based access control (RBAC) in Linkbreakers solves this challenge by providing structured permission systems that protect your operations while enabling productive teamwork.
## Quick summary
- **Configure three core roles** including Admin (complete control), Tech (campaign access), and Viewer (read-only) permissions
- **Implement security protection** against accidental disruption, unauthorized access, and sensitive information exposure
- **Establish role assignment** strategies based on job functions, minimum permissions, and operational boundaries
- **Enable team collaboration** through shared vocabularies, onboarding procedures, and escalation processes
- **Leverage advanced features** like multi-factor authentication, session monitoring, and API access control
- **Manage role transitions** including permission escalation, knowledge transfer, and access cleanup procedures
## Understanding role-based access fundamentals
Role-based access control operates on a simple principle: different team members need different levels of access to do their jobs effectively. Instead of giving everyone full access or restricting everyone to basic permissions, RBAC creates specific roles with carefully designed permission sets that match common job functions.
In Linkbreakers, every workspace operates with a three-tier role system that covers the spectrum from read-only oversight to complete administrative control. This structured approach means you don't need to worry about complex permission configurations or security gaps that might expose sensitive information to unauthorized team members.
The role system integrates seamlessly with [workspace management](https://linkbreakers.com/help/article/how-workspaces-function-in-linkbreakers), ensuring access controls remain consistent across your entire team collaboration environment. When you invite new team members, you assign them specific roles that immediately determine what features they can access and what operations they're allowed to perform.
This systematic approach prevents the common problems that occur when access control is handled ad-hoc. Team members never wonder whether they're supposed to have access to specific features, and administrators don't waste time troubleshooting permission-related issues that arise from inconsistent access policies.
## The three core roles explained
Linkbreakers implements a role hierarchy designed around common marketing team structures and responsibilities. Each role provides specific capabilities while maintaining clear boundaries that protect sensitive operations and information.
### Admin role: Complete workspace control
Admin roles provide unrestricted access to every aspect of your Linkbreakers workspace, making this role appropriate for business owners, marketing directors, and other senior stakeholders who need comprehensive oversight capabilities.
Admins can manage all aspects of [team collaboration](https://app.linkbreakers.com/workspace/dashboard/members), including inviting new members, adjusting existing permissions, and removing team members when needed. This people management capability ensures workspace access remains current as team composition changes over time.
Billing and subscription management falls exclusively within admin permissions, protecting sensitive financial information while ensuring appropriate stakeholders can handle plan upgrades, payment updates, and usage monitoring. Only admins can access billing history, modify payment methods, or change subscription levels.
Campaign operations remain fully accessible to admins, who can create QR codes, configure workflows, analyze performance data, and manage all technical integrations. This comprehensive access enables admins to troubleshoot any issues, assist team members, and maintain oversight of all marketing activities.
The admin role also includes workspace configuration capabilities, allowing modification of [workspace settings](https://app.linkbreakers.com/workspace/dashboard/settings), security policies, and organizational parameters that affect the entire team's experience.
### Tech role: Complete campaign access without billing
Tech roles provide comprehensive access to campaign creation, management, and analysis while excluding billing and administrative functions. This permission set perfectly matches the needs of marketing managers, campaign specialists, data analysts, and other professionals who need to do their jobs effectively without access to sensitive business operations.
Campaign management capabilities include full QR code creation, workflow configuration, and performance analysis access. Tech users can create sophisticated campaigns, analyze [visitor data](https://app.linkbreakers.com/workspace/dashboard/visitors), and configure complex integrations without any functional limitations.
Technical integration access enables tech role users to configure [webhooks](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks), manage [API tokens](https://app.linkbreakers.com/workspace/dashboard/api-tokens), and access all developer features needed for sophisticated marketing automation and data integration projects.
Analytics and reporting capabilities remain fully accessible, allowing tech users to generate insights, export data, and analyze campaign performance across all workspace campaigns. This access level enables data-driven decision making without requiring elevated administrative permissions.
The tech role specifically excludes billing access, team member management, and workspace configuration changes. This boundary protects sensitive business operations while ensuring tech users can focus on campaign effectiveness without administrative distractions.
### Viewer role: Read-only access for stakeholders
Viewer roles provide read-only access designed for stakeholders who need campaign visibility without the ability to modify anything. This role works perfectly for clients, executives, external partners, and other individuals who need reporting access without operational involvement.
Campaign visibility includes the ability to browse all workspace QR codes, review workflow configurations, and understand how campaigns are structured. Viewers can see campaign settings, understand targeting parameters, and review technical configurations without the risk of accidental modifications.
Analytics access enables viewers to review performance reports, examine [visitor insights](https://linkbreakers.com/help/article/what-is-visitor-tracking-in-linkbreakers), and understand campaign effectiveness through comprehensive dashboard access. This reporting capability supports stakeholder communication and strategic decision making without operational risk.
Data export capabilities allow viewers to generate reports and extract analytics data for external analysis or presentation purposes. However, these export capabilities don't extend to sensitive configuration information or operational data that might compromise security.
The viewer role explicitly prevents all modification capabilities, ensuring viewers cannot accidentally disrupt live campaigns, modify configurations, or access sensitive operational features. This protective boundary enables confident stakeholder access without security concerns.
## Security benefits of role-based access
Implementing structured role-based access provides multiple layers of protection that safeguard your campaigns and business operations while enabling effective team collaboration.
### Protection against accidental disruption
Marketing campaigns often involve live QR codes printed on materials, embedded in advertisements, or distributed to customers. Accidental modifications to these active campaigns can disrupt business operations and damage customer experiences.
Role-based permissions prevent accidental campaign disruption by ensuring only appropriate team members can modify live campaigns. Viewer roles eliminate modification risk for stakeholders who need visibility but shouldn't change operational configurations. Tech roles provide campaign access for qualified team members while preventing access to billing and administrative functions that could cause broader operational issues.
This layered protection approach means you can confidently grant access to team members and stakeholders without worrying about accidental disruption of critical marketing infrastructure. The permission boundaries are designed to prevent common mistakes while maintaining operational flexibility for qualified team members.
### Sensitive information protection
Marketing operations involve sensitive information including billing details, strategic campaign data, team member information, and technical configurations that could be misused if inappropriately accessed.
Admin role restrictions ensure only authorized personnel can access billing information, payment methods, and subscription details. This financial information protection prevents unauthorized access to sensitive business data while ensuring appropriate stakeholders can handle necessary billing operations.
Technical configuration protection prevents unauthorized access to [API tokens](https://app.linkbreakers.com/workspace/dashboard/api-tokens), webhook configurations, and other technical settings that could compromise security if mishandled. Only admin and tech roles can access these sensitive technical configurations.
Team member information protection ensures personal details, contact information, and role assignments remain accessible only to authorized administrators. This privacy protection supports team member confidentiality while enabling necessary people management operations.
### Audit trail and accountability
Role-based access creates clear accountability by ensuring all workspace activities can be traced to specific individuals with appropriate permissions. This traceability supports both security monitoring and operational troubleshooting by providing clear records of who performed specific actions.
Action attribution becomes straightforward when role permissions clearly define who can perform which operations. If campaign configurations change unexpectedly, the role system narrows investigation scope by identifying which team members have the necessary permissions to make such modifications.
Permission verification enables quick security auditing by reviewing team member roles against their job responsibilities and access needs. Regular role reviews ensure access remains appropriate as team responsibilities evolve and organizational structures change.
## Implementing effective role management
Successful role-based access control requires thoughtful planning and consistent management practices that align permissions with team structure and operational needs.
### Role assignment strategies
Effective role assignment starts with understanding each team member's actual job responsibilities and access requirements rather than defaulting to broad permissions that might create security vulnerabilities.
**Start with minimum necessary permissions**: Begin by assigning the lowest role that enables each team member to complete their responsibilities effectively. You can always elevate permissions later if legitimate needs arise, but starting with broad access creates unnecessary security exposure.
**Align roles with job functions**: Marketing managers typically need tech role access for campaign creation and analysis. Finance staff might need admin access for billing oversight. External stakeholders usually need only viewer permissions for reporting and oversight purposes.
**Consider operational boundaries**: Team members who manage day-to-day campaigns need tech access, while those involved in strategic oversight might need only viewer permissions. People responsible for business operations and team management require admin access for subscription and team management capabilities.
**Plan for role evolution**: Team responsibilities change over time as people develop new skills, take on additional responsibilities, or shift focus areas. Design your role assignments to accommodate natural career progression and responsibility changes.
### Team onboarding and role clarity
New team members should understand their access level and permissions from their first day to prevent confusion and ensure productive collaboration from the beginning.
**Document role expectations**: Create clear documentation explaining what each role can and cannot do within your Linkbreakers workspace. This reference material helps new team members understand their boundaries while ensuring consistent understanding across your team.
**Provide role-specific training**: Tailor onboarding training to each team member's assigned role, focusing on features and capabilities they'll actually use rather than overwhelming them with information about features they can't access.
**Establish escalation procedures**: Team members should know how to request additional permissions or assistance when their current role doesn't enable necessary work. Clear escalation procedures prevent frustration while maintaining security boundaries.
**Regular permission reviews**: Schedule periodic reviews of team member roles to ensure access remains appropriate as responsibilities evolve. These reviews identify opportunities to adjust permissions based on changing job functions or operational needs.
### Multi-workspace role considerations
Organizations using multiple Linkbreakers workspaces need to consider how role assignments interact across different workspace environments and client relationships.
**Consistent role standards**: Establish organization-wide standards for role assignments that can be applied consistently across different workspaces while accommodating specific project needs and client requirements.
**Cross-workspace collaboration**: Team members might need different role levels in different workspaces based on their involvement with specific projects or clients. Document these variations to prevent confusion and ensure appropriate access in each context.
**Client workspace management**: Agency relationships often involve granting clients viewer access to dedicated workspaces while maintaining admin control over operational aspects. Plan these permission structures to balance client visibility with operational security.
## Advanced access control features
Beyond basic role assignments, Linkbreakers provides additional access control features that enhance security and enable sophisticated team management approaches.
### Multi-factor authentication enforcement
Workspace administrators can require multi-factor authentication (MFA) for all team members, creating organization-wide security policies that ensure consistent protection regardless of individual security preferences.
MFA enforcement at the workspace level means security policies apply uniformly to all team members rather than relying on individual security awareness and compliance. This systematic approach protects against credential compromise while ensuring consistent security practices across your entire team.
The enforcement capability becomes particularly valuable for organizations handling sensitive campaigns, working in regulated industries, or managing client data that requires enhanced security protections. Admin roles control MFA policies, ensuring security decisions align with organizational requirements.
### Session management and access monitoring
The platform provides visibility into team member activity patterns and session behavior, enabling administrators to monitor access usage and identify potential security concerns before they become problems.
Activity monitoring helps identify unusual access patterns that might indicate compromised credentials or inappropriate usage without invasive surveillance that undermines team trust. This balanced approach provides necessary security oversight while respecting team member privacy.
Session duration controls and automatic timeout features ensure inactive sessions don't create security vulnerabilities, while login history provides audit trails that support security reviews and compliance requirements when necessary.
### Integration permissions and API access
Role-based access extends to technical integrations and API usage, ensuring programmatic access aligns with team member permissions and organizational security policies.
[API token](https://app.linkbreakers.com/workspace/dashboard/api-tokens) creation and management requires appropriate role permissions, preventing unauthorized technical access that could bypass user interface security controls. Only admin and tech roles can create API tokens, ensuring technical integrations remain under appropriate oversight.
Webhook configuration access follows role permissions, meaning only qualified team members can configure automated integrations that might affect campaign operations or data handling. This technical access control prevents unauthorized automation while enabling sophisticated integration projects for qualified team members.
## Troubleshooting common access issues
Understanding how to resolve common role-related problems helps maintain smooth team operations and prevents access issues from disrupting marketing activities.
### Permission escalation requests
Team members occasionally need temporary or permanent permission increases to handle specific projects or evolving responsibilities. Handle these requests through structured processes that balance operational needs with security requirements.
**Document permission requests**: Require clear justification for permission increases, including specific features needed, duration of increased access, and business justification for the elevation. This documentation supports security reviews and ensures permission changes align with legitimate business needs.
**Temporary access procedures**: Establish procedures for granting temporary permission increases for specific projects, including automatic permission reductions when projects complete. This approach accommodates legitimate needs without creating permanent security exposure.
**Regular access reviews**: Schedule periodic reviews of permission escalations to ensure temporary increases don't become permanent without appropriate justification. These reviews maintain security posture while accommodating legitimate operational needs.
### Role transition management
When team members change roles or responsibilities, their Linkbreakers access should be updated to match their new functions while ensuring continuity of operations they're involved in.
**Transition planning**: Plan role changes in advance when possible, ensuring new team members are ready to assume responsibilities before reducing previous team member access. This planning prevents operational gaps while maintaining security boundaries.
**Knowledge transfer**: Ensure departing or transitioning team members share relevant passwords, configuration details, and operational knowledge with their replacements before access levels change. This transfer prevents operational disruptions while maintaining security.
**Access cleanup**: Remove or reduce permissions promptly when team members leave or change roles to prevent unauthorized access accumulation. However, coordinate these changes with operational needs to avoid disrupting ongoing campaigns or projects.
## API and programmatic access management
Technical teams can leverage the [Linkbreakers API](https://linkbreakers.com/help/api) to programmatically manage role assignments and access control, enabling sophisticated automation and integration scenarios.
### Automated team member management
Large organizations can automate team member invitation, role assignment, and access management through API integration with HR systems, directory services, and identity management platforms.
**Directory integration**: Synchronize Linkbreakers workspace membership with organizational directory services, ensuring access remains current as team composition changes through automated processes rather than manual management overhead.
**Role automation**: Automatically assign appropriate roles based on job titles, department memberships, or other organizational attributes that indicate appropriate access levels. This automation ensures consistent role assignment while reducing manual administrative overhead.
**Access lifecycle management**: Automatically manage access lifecycle events including onboarding, role transitions, and offboarding through integration with organizational systems that track employment status and role changes.
### Compliance and audit automation
Automated compliance monitoring and audit trail generation support organizational security requirements and regulatory compliance through programmatic access to role and activity information.
**Access reporting**: Generate automated reports showing current team member roles, permission assignments, and access patterns for security reviews and compliance auditing purposes. These reports provide comprehensive visibility into workspace access without manual data collection overhead.
**Policy enforcement**: Monitor role assignments and permission usage for compliance with organizational policies, automatically flagging exceptions or policy violations for administrative review and correction.
**Audit trail generation**: Provide comprehensive audit trails showing permission changes, role assignments, and administrative actions for compliance documentation and security reviews.
## Frequently Asked Questions
### Can I create custom roles beyond admin, tech, and viewer?
Currently, Linkbreakers uses a three-role system designed to cover common team scenarios. Custom role creation isn't available, but the existing roles accommodate most organizational structures through their comprehensive permission sets.
### How do I change someone's role after they've been invited?
Admin role users can modify team member roles through the [team management interface](https://app.linkbreakers.com/workspace/dashboard/members). Role changes take effect immediately without requiring re-invitation.
### Can the same person have different roles in different workspaces?
Yes, email addresses can be associated with different roles across multiple workspaces. Each workspace membership is independent, allowing flexible role assignment based on specific project involvement.
### What happens if the only admin leaves the organization?
Contact Linkbreakers support to transfer workspace ownership to another team member. This process requires verification to ensure legitimate ownership transfer and prevent unauthorized access.
### Can viewer role users export analytics data?
Yes, viewer role users can export analytics reports and performance data. However, they cannot access operational configurations or sensitive business information like billing details.
### How does role-based access work with API integration?
API tokens inherit the permissions of the user who creates them. Tech and admin roles can create API tokens, while viewer roles cannot. API access respects the same permission boundaries as user interface access.
### Can I temporarily elevate someone's permissions for specific projects?
Admin users can change role assignments as needed. However, consider security implications and establish clear procedures for temporary access increases, including automatic reduction when projects complete.
### What's the difference between tech and admin roles for day-to-day campaign management?
For campaign creation and management, tech and admin roles have identical capabilities. The difference lies in billing access, team member management, and workspace configuration permissions that admin roles provide.
### How do I audit who has access to what in my workspace?
The team management interface shows current role assignments for all workspace members. For detailed access auditing, admin roles can review team member lists and role assignments through the dashboard.
### Can role permissions be customized for specific campaigns or QR codes?
Role permissions apply workspace-wide rather than to specific campaigns. All team members with appropriate roles can access all campaigns within their workspace, ensuring consistent collaboration capabilities across all marketing initiatives.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What's an event in Linkbreakers?
Source: https://linkbreakers.com/help/article/what-is-an-event-in-linkbreakers
An event in Linkbreakers is a digital record created when someone scans a [QR code](https://linkbreakers.com/help/article/how-do-qr-codes-work) or interacts with a [link](https://linkbreakers.com/help/article/whats-a-link).
Each event captures comprehensive data: timestamp, device information, geographic location, browser details, and behavioral context. Events are linked to [visitor profiles](https://linkbreakers.com/help/article/whats-a-visitor) and power [analytics](https://linkbreakers.com/help/article/analytics) for campaign optimization.
## Quick summary
- Capture comprehensive interaction data including device details, location, and timing for every QR code scan
- Differentiate between first visits (`visitType` VISIT_TYPE_FIRST) and return visits (VISIT_TYPE_RETURNING), and between QR code scans (ACTION_SCAN) and direct link clicks (ACTION_CLICK)
- Track workflow progression through forms, password screens, and multi-step campaign experiences
- Analyze geographic and demographic patterns to optimize campaign targeting and performance
- Export event data for external business intelligence analysis and custom reporting systems
- Integrate events with webhook notifications to trigger automated workflows in external systems
## Events vs visitors vs scans
| Concept | Definition | Relationship |
|--------------------|-----------------------------------------------|---------------------------------------|
| Event | Individual QR code scan record with full data| One scan = one event |
| [Visitor](https://linkbreakers.com/help/article/whats-a-visitor) | Person who scans QR codes | One visitor = multiple events |
| Scan | Physical action of reading a QR code | One scan creates one event |
Example: One visitor scans your QR code three times. This creates:
- 1 visitor profile
- 3 events (each with timestamp, device, location data)
- 3 scans (the physical actions)
Each event includes unique timestamp, device information, location data, and behavioral context for that specific interaction.
### Event lifecycle and processing
When someone scans your QR code, a sophisticated processing pipeline kicks into action:
1. **Event creation**: Initial event record with basic scan information
2. **Device tracking**: Device fingerprinting and identification
3. **Visitor linking**: Association with existing or new visitor profiles
4. **Geographic enrichment**: Location data enhancement based on IP address
5. **Analytics processing**: Aggregation and reporting pipeline updates
6. **Webhook delivery**: Real-time notifications to [configured endpoints](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers)
This pipeline ensures every scan generates comprehensive data while maintaining fast response times for the scanning experience.
## Event data structure and information
Events capture comprehensive information about each QR code interaction, providing rich context for analytics and business intelligence.
### Core event attributes
Every event includes fundamental information about the interaction:
- **Unique identifiers**: Event ID, link ID, and [workspace](https://linkbreakers.com/help/article/what-is-a-workspace) ID for data organization
- **Temporal data**: Precise timestamp of when the scan occurred
- **HTTP context**: Request method (GET, POST, etc.) and entry point information
- **Relationship links**: Connections to visitor profiles, devices, and the visit's journey
This core data provides the foundation for all event-based analytics and processing.
### Device and technical information
Events capture detailed technical context about the scanning environment:
- **Device characteristics**: Platform (mobile/desktop), browser type, operating system
- **Network information**: Internet service provider and connection details
- **Geographic data**: Country, region, and city based on IP geolocation
- **Technical metadata**: Screen resolution, device capabilities, and other fingerprinting data
This technical information enables sophisticated audience analysis and campaign optimization based on how people actually interact with your QR codes.
### Behavioral and interaction context
Events capture behavioral insights beyond technical details:
- **Action classification**: QR code scan (ACTION_SCAN) vs direct link click (ACTION_CLICK), and first visit (VISIT_TYPE_FIRST) vs return visit (VISIT_TYPE_RETURNING)
- **Session information**: How this event relates to other recent interactions
- **[Workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) progression**: Which campaign step triggered the event
- **Engagement quality**: Time spent, actions taken, interaction depth
This behavioral data enables meaningful engagement analysis beyond simple scan counting.
## Event types and classification
| Event Type | Description | Use Case |
|---------------------------|--------------------------------------------------|---------------------------------------|
| ACTION_SCAN | QR code scan | Offline placement tracking |
| ACTION_CLICK | Direct link click | Online channel tracking |
| VISIT_TYPE_FIRST | First visit from this device to this link | New audience acquisition tracking |
| VISIT_TYPE_RETURNING | Return visit from the same device | Re-engagement measurement |
| Form submission | Visitor completes contact form | Lead generation tracking |
| Workflow step progression | Movement through multi-stage campaign | Funnel optimization |
| Goal completion | Achievement of campaign objective | Conversion tracking |
| Workflow abandonment | Incomplete interaction | Friction point identification |
| API-triggered | Programmatic interaction via [API](https://linkbreakers.com/help/api)| Integration monitoring|
| [Webhook](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) delivery | External system notification | Integration audit trail |
Event classification helps distinguish between new audience acquisition, existing visitor re-engagement, and workflow progression analysis.
## Event analytics and insights
Event data powers sophisticated analytics that reveal campaign performance patterns and optimization opportunities.
### Time-series analysis
Event timestamps enable comprehensive temporal analysis:
- **Hourly patterns**: Understanding when your audience is most active
- **Daily trends**: Weekly patterns that inform campaign timing
- **Seasonal variations**: Long-term engagement cycles and campaign planning
- **Real-time monitoring**: Live campaign performance through the [analytics dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors)
This temporal analysis helps optimize campaign timing and predict engagement patterns.
### Geographic and demographic insights
Event location data reveals audience distribution and regional performance:
1. **Geographic heat maps**: Understanding where your campaigns achieve strongest engagement
2. **Regional performance comparison**: Optimizing campaigns for different markets
3. **International expansion insights**: Identifying opportunities for global campaign scaling
4. **Local optimization**: Tailoring campaigns for specific geographic audience preferences
Geographic analysis becomes particularly valuable for campaigns with physical touchpoints or regional marketing strategies.
### Device and platform analysis
Technical event data reveals how audiences interact with your campaigns:
- **Mobile versus desktop usage**: Understanding preferred interaction methods
- **Browser compatibility**: Ensuring optimal experience across different platforms
- **Operating system trends**: Audience technology preferences and capabilities
- **Network performance**: How connection quality affects engagement success
This technical analysis ensures campaigns work optimally for your actual audience's technology environment.
## Event aggregation and reporting
Individual events get aggregated into meaningful metrics that drive campaign optimization decisions.
### Real-time aggregation
Events flow into real-time reporting systems that provide immediate campaign visibility:
- **Live scan counts**: Current activity levels across all campaigns
- **Performance dashboards**: Real-time metrics for active campaign monitoring
- **Alert systems**: Automated notifications for unusual activity patterns
- **Trending analysis**: Emerging patterns in visitor behavior and engagement
Real-time aggregation enables responsive campaign management and immediate optimization opportunities.
### Historical trend analysis
Long-term event aggregation reveals patterns that inform strategic decisions:
- **Campaign lifecycle analysis**: How engagement evolves from launch through maturity
- **Audience behavior evolution**: Changes in visitor interaction patterns over time
- **Seasonal performance cycles**: Understanding predictable engagement variations
- **Growth trend identification**: Recognizing successful campaign scaling patterns
Historical analysis provides context for current performance and informs future campaign planning.
### Cross-campaign correlation
Event data enables analysis across multiple campaigns:
- **Visitor journey mapping**: How people move between different QR code campaigns
- **Campaign synergy identification**: Which campaign combinations enhance overall performance
- **Audience overlap analysis**: Shared audiences across different initiatives
- **Attribution modeling**: Which campaigns contribute to conversion outcomes
Cross-campaign event analysis reveals audience journey patterns and optimizes overall marketing strategy beyond individual campaign performance.
## Event-driven automation and integration
Events trigger automated processes that connect QR code campaigns with broader business systems.
### Webhook event notifications
Events drive [webhook notifications](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) that integrate campaigns with external systems:
- **Real-time lead notifications**: Immediate alerts when visitors complete forms
- **CRM synchronization**: Automatic contact creation and update triggers
- **Marketing automation**: Email sequence initiation based on specific event patterns
- **Business intelligence**: Live data feeds for executive dashboards and reporting
Event-driven webhooks transform static campaigns into responsive, integrated marketing systems.
### Custom automation workflows
Sophisticated organizations build custom automation based on event patterns:
- **Behavioral triggers**: Automated responses to specific visitor interaction sequences
- **Performance optimization**: Dynamic campaign adjustments based on event analysis
- **Audience segmentation**: Automatic group assignment based on event characteristics
- **Conversion tracking**: Goal achievement monitoring and attribution analysis
These automations enable campaigns that adapt and optimize automatically based on actual visitor behavior.
## Event data export and external analysis
Event data can be exported for advanced analysis in external business intelligence and analytics platforms.
### Export formats and options
Comprehensive export capabilities support various analytical needs:
- **CSV exports**: Complete event datasets for spreadsheet analysis
- **API extraction**: Programmatic event data retrieval for custom applications
- **Real-time streaming**: Live event feeds for immediate processing
- **Filtered exports**: Specific event subsets based on time, geography, or campaign criteria
These export options enable event data integration with existing analytical workflows and business intelligence systems.
### Advanced analytics applications
Event data supports sophisticated analytical applications:
- **Machine learning models**: Predictive analytics based on historical event patterns
- **Customer journey analysis**: Multi-touchpoint attribution and path optimization
- **Campaign ROI calculation**: Complete funnel analysis from scan to conversion
- **Audience behavior modeling**: Understanding and predicting visitor engagement patterns
Advanced analytics transforms event data into strategic business intelligence that drives optimization and growth.
## Event privacy and data protection
Event processing respects visitor privacy while capturing necessary information for campaign optimization and business intelligence.
### Data minimization practices
Event collection follows privacy-conscious data minimization principles:
- **Essential information only**: Events capture only data necessary for functionality and analysis
- **Automatic anonymization**: Personal identifiers separated from analytical data where possible
- **Consent-based collection**: Additional data collection requires explicit visitor consent
- **Purpose limitation**: Event data used only for stated campaign and analytical purposes
These practices ensure event tracking provides value while respecting visitor privacy expectations.
### Compliance and regulatory considerations
Event processing implements features that support privacy regulation compliance:
- **Data subject rights**: Event data access, correction, and deletion capabilities
- **Lawful basis documentation**: Clear justification for event data collection and processing
- **Cross-border transfer safeguards**: Appropriate protections for international event data movement
- **Audit trail maintenance**: Comprehensive logging of event data processing activities
Compliance features ensure event tracking operates within applicable privacy regulations and organizational policies.
## Programmatic event management
Technical teams can leverage event data programmatically for sophisticated integration and automation scenarios.
### API-driven event analysis
The events API enables comprehensive programmatic event management:
- **Event retrieval**: Query events based on time, geography, campaign, or visitor criteria
- **Real-time monitoring**: Programmatic access to live event streams
- **Batch processing**: Efficient handling of large event datasets for analysis
- **Custom integration**: Event data integration with existing technical infrastructure
These capabilities enable sophisticated automation and integration workflows based on event data.
### Performance monitoring and optimization
Programmatic event access enables advanced performance monitoring:
- **Campaign health monitoring**: Automated detection of performance anomalies
- **Optimization automation**: Dynamic campaign adjustments based on event analysis
- **Capacity planning**: Event volume monitoring for infrastructure scaling decisions
- **Quality assurance**: Automated validation of event data integrity and completeness
This monitoring enables proactive campaign management and optimization based on comprehensive event analysis.
## Frequently Asked Questions
### What's the difference between an event and a scan?
A scan is the physical action of reading a QR code, while an event is the comprehensive digital record of that scan including all contextual information like device details, location, and timing.
### How long are events stored in Linkbreakers?
Event retention depends on your subscription plan and workspace settings. Data is kept as long as necessary for legitimate business purposes with options for longer retention on higher-tier plans.
### Can I export event data for analysis in external tools?
Yes, events can be exported in CSV format or accessed programmatically through the API for integration with business intelligence tools, CRM systems, and custom analytics platforms.
### Do events include personal information about visitors?
Events include only technical information necessary for functionality plus any data explicitly provided by visitors through workflow forms. Personal identification requires visitor consent.
### How do events relate to visitor profiles?
Events are linked to visitor profiles, enabling analysis of individual visitor journeys across multiple interactions. One visitor can generate many events over time.
### Can I filter events based on specific criteria?
Yes, events can be filtered by time period, geographic location, campaign, visitor characteristics, and other criteria through both the dashboard interface and API queries.
### What triggers event creation beyond QR code scanning?
Currently, events are primarily triggered by QR code scans and workflow interactions. Future platform development may include additional event types for other visitor actions.
### How accurate is the geographic information in events?
Event location data uses IP geolocation which is accurate to city/region level. Exact address information isn't available without explicit visitor location sharing permission.
### Can events be modified or deleted after creation?
Events are immutable records of visitor interactions and cannot be modified. However, they can be deleted as part of data retention policies or privacy regulation compliance.
### How do events integrate with webhook notifications?
Events trigger webhook notifications when visitors complete workflow milestones, enabling real-time integration with external systems based on visitor actions captured in event data.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What is visitor tracking in Linkbreakers?
Source: https://linkbreakers.com/help/article/what-is-visitor-tracking-in-linkbreakers
## Short answer
This article explains what is visitor tracking in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Understanding who engages with your marketing campaigns transforms simple QR code scanning from anonymous interactions into meaningful customer relationships. Visitor tracking in Linkbreakers captures comprehensive engagement data that reveals not just what happened, but who made it happen and why they engaged with your campaigns.
## Quick summary
- **Build persistent visitor profiles** that aggregate multiple interactions across devices, campaigns, and time periods for comprehensive engagement histories
- **Capture automatic technical data** including device characteristics, geographic location, timing, and engagement quality without requiring visitor identification
- **Implement privacy-first practices** with data minimization, consent management, and regulatory compliance while maintaining effective analytics
- **Enable cross-device identification** through email linking and behavioral analysis to understand complete visitor journeys across multiple devices
- **Integrate with marketing systems** via APIs for CRM synchronization, marketing automation triggers, and business intelligence platforms
- **Leverage behavioral segmentation** to identify high-value visitors, qualification levels, and personalized engagement opportunities based on interaction patterns
## The foundation of visitor tracking
Every QR code scan represents a person making a conscious decision to engage with your content. Visitor tracking captures this human element by connecting individual scans to persistent visitor profiles that build comprehensive pictures of engagement patterns, preferences, and journey progression over time.
Traditional analytics platforms focus on clicks and page views, treating each interaction as an isolated event. Visitor tracking takes a fundamentally different approach by understanding that people interact with campaigns multiple times across different devices, locations, and contexts. This person-centric perspective provides insights that simple event counting cannot achieve.
The tracking system operates at multiple levels simultaneously. Individual scan events capture immediate context like location, device, and timing. [Visitor profiles](https://linkbreakers.com/help/article/whats-a-visitor) aggregate these events into comprehensive engagement histories. Device fingerprinting connects related activities across sessions. Geographic analysis reveals movement patterns and location preferences that inform campaign optimization.
This multi-layered approach enables analysis ranging from granular event details to broad audience insights, supporting both operational optimization and strategic planning. Marketing teams can understand immediate campaign performance while building long-term customer intelligence that drives sustained success.
## Automatic data collection mechanisms
Visitor tracking begins the moment someone scans your QR code, automatically capturing essential information that provides context for understanding engagement patterns and campaign effectiveness.
### Technical fingerprinting and device identification
Each device accessing your campaigns provides distinctive technical characteristics that enable identification and tracking across multiple interactions. Browser fingerprinting analyzes combinations of user agent strings, screen resolutions, installed plugins, and system configurations that create unique signatures for individual devices.
Operating system detection reveals whether visitors use iOS, Android, Windows, or other platforms, while browser identification shows preferences for Safari, Chrome, Firefox, or specialized apps. Screen resolution and device orientation provide insights into device types, from smartphones and tablets to desktop computers and specialized scanning equipment.
Network characteristics including IP addresses, connection types, and service provider information add geographic and demographic context that helps understand audience composition and engagement patterns. However, this technical data collection operates within privacy boundaries that respect visitor anonymity while enabling meaningful analytics.
The combination of these technical signals creates device fingerprints that enable recognition when the same device scans multiple QR codes or returns to previous campaigns, building comprehensive engagement histories without requiring explicit identification or account creation.
### Geographic and temporal context capture
Location intelligence provides crucial context for understanding campaign performance, audience behavior, and optimization opportunities. IP-based geolocation identifies visitor countries, regions, and cities with accuracy sufficient for campaign analysis while respecting privacy boundaries.
Geographic data reveals campaign reach, audience distribution, and performance variations across different markets. Regional engagement patterns might indicate seasonal preferences, cultural differences, or market penetration opportunities that inform strategic planning and resource allocation decisions.
Temporal analysis captures scan timing, session duration, and interaction sequences that reveal when audiences engage with campaigns most effectively. Time zone normalization ensures accurate analysis across global campaigns, while local time analysis reveals optimal engagement windows for different markets and audience segments.
Seasonal pattern detection identifies recurring engagement cycles that align with business rhythms, holidays, or industry-specific events. This temporal intelligence supports campaign timing optimization and resource planning that aligns marketing efforts with natural audience engagement patterns.
### Engagement depth and interaction quality
Beyond basic scan counting, visitor tracking captures engagement quality signals that reveal how meaningful interactions actually are. Time spent viewing content, progression through [workflow steps](https://linkbreakers.com/help/article/how-do-i-create-forms-in-my-qr-code-workflows), and completion of desired actions provide insights into campaign effectiveness and audience interest levels.
Form completion rates, field-level abandonment patterns, and submission quality indicate which campaigns successfully capture visitor attention and drive meaningful engagement. Bounce rates and immediate exits reveal campaigns that might need optimization to better match visitor expectations or improve user experience.
Return visit analysis identifies visitors who engage with campaigns multiple times, indicating sustained interest and higher value engagement. Repeat engagement patterns reveal which campaigns build lasting relationships and which drive one-time interactions, supporting optimization strategies that emphasize relationship building over transaction volume.
Cross-campaign engagement tracking reveals visitors who interact with multiple QR codes or campaigns, indicating broader organizational relationships and higher lifetime value potential. These insights support audience segmentation and personalized engagement strategies that leverage comprehensive visitor understanding.
## Privacy-first tracking approach
Effective visitor tracking requires balancing comprehensive analytics with strong privacy protection that respects visitor preferences and complies with applicable regulations while providing meaningful business insights.
### Data minimization and purpose limitation
Linkbreakers implements data minimization principles that collect only information necessary for legitimate campaign analytics and optimization purposes. Automatic data collection focuses on technical information required for QR code functionality and basic performance analysis, avoiding unnecessary personal information collection.
Purpose limitation ensures collected data serves specific, declared purposes related to campaign performance, visitor experience improvement, and business analytics rather than broader surveillance or unrelated commercial activities. This focused approach builds visitor trust while providing necessary business intelligence.
Data retention policies automatically remove visitor information that's no longer needed for legitimate business purposes, ensuring storage footprints remain appropriate for actual usage requirements. Retention periods align with business needs and regulatory requirements rather than indefinite data accumulation.
Anonymization techniques separate personally identifiable information from analytics data where possible, enabling performance analysis and optimization without requiring persistent personal identification. This approach supports data-driven decision making while minimizing privacy exposure.
### Consent management and visitor control
Visitor tracking operates within consent management frameworks that provide appropriate control over data collection while maintaining campaign functionality and basic analytics necessary for service delivery.
Explicit consent mechanisms enable additional data collection through [interactive forms](https://linkbreakers.com/help/article/how-to-create-a-form) and engagement workflows where visitors actively provide information in exchange for content, services, or personalized experiences. This opt-in approach ensures additional data collection aligns with visitor expectations and desires.
Granular consent options allow visitors to control different aspects of data collection and usage, enabling informed decisions about privacy trade-offs rather than all-or-nothing choices that might prevent valuable service access or campaign engagement.
Consent persistence respects visitor choices across multiple interactions and campaign exposures, ensuring privacy preferences remain effective over time rather than requiring repeated consent decisions that create friction and diminish user experience.
Data subject rights implementation provides visitors with access to their collected information, correction capabilities for inaccurate data, and deletion options where technically feasible and legally required, supporting individual privacy control within business operational requirements.
### Compliance with privacy regulations
Visitor tracking systems implement comprehensive privacy regulation compliance that addresses GDPR, CCPA, and other applicable frameworks while maintaining campaign functionality and business value.
Lawful basis establishment ensures all data collection activities have appropriate legal justification, whether through legitimate interests for basic analytics, contract fulfillment for service delivery, or explicit consent for enhanced personalization and marketing activities.
Cross-border data transfer protections implement appropriate safeguards for international campaign operations, ensuring visitor data receives consistent protection regardless of geographic scope or technical infrastructure distribution.
Privacy policy integration provides clear, accessible information about data collection practices, usage purposes, and visitor rights through documentation that helps visitors make informed decisions about campaign engagement and data sharing.
Regular compliance auditing verifies ongoing adherence to privacy requirements as regulations evolve, business practices change, and technical systems develop. This systematic approach ensures sustained compliance rather than one-time implementation that becomes outdated.
## Advanced tracking capabilities
Sophisticated visitor tracking features support complex campaign requirements and advanced analytics needs that go beyond basic performance monitoring.
### Cross-device visitor identification
Modern visitors interact with campaigns across multiple devices throughout extended engagement journeys. Advanced tracking capabilities connect related activities to provide comprehensive visitor understanding regardless of device switching patterns.
Email-based linking automatically connects visitor activities when visitors provide email addresses through forms or authentication systems. This explicit identification enables definitive cross-device connection while respecting visitor privacy through voluntary information sharing.
Probabilistic device linking analyzes behavioral patterns, timing correlations, and contextual signals to identify likely same-person activity across different devices. Machine learning algorithms analyze engagement patterns, geographic consistency, and temporal clustering to suggest device relationships with statistical confidence levels.
Household-level analysis identifies related devices within shared locations, enabling understanding of family or organizational engagement patterns that involve multiple people using different devices for related campaign interactions.
Device preference analysis reveals how visitors choose different devices for different interaction types, supporting optimization strategies that align campaign design with natural device usage patterns and preferences.
### Behavioral segmentation and profiling
Comprehensive visitor tracking enables sophisticated audience segmentation based on engagement patterns, preferences, and behavioral characteristics that reveal distinct audience segments with different needs and optimization requirements.
Engagement level segmentation identifies high-value visitors who demonstrate sustained interest, frequent interaction, or deep engagement with campaign content compared to casual visitors who engage minimally or sporadically. This segmentation supports targeted optimization and personalized engagement strategies.
Journey stage analysis reveals where visitors are in their relationship with your organization, from initial awareness through evaluation, conversion, and ongoing engagement. Understanding journey progression enables appropriate messaging and campaign optimization for different relationship stages.
Interest profiling analyzes interaction patterns across different campaign types, content categories, and engagement opportunities to understand individual visitor preferences and priorities. This intelligence supports personalized content recommendations and targeted campaign development.
Geographic behavior analysis identifies location-based engagement patterns that reveal lifestyle characteristics, mobility patterns, and regional preferences that inform location-based marketing strategies and geographic expansion planning.
### Finding visitors by their attributes
Every answer a visitor gives in a form is stored on their profile as an attribute, such as `budget`, `timeline` or `interested_in`. On the **Visitors** page, **Filter by attribute** narrows the list to the visitors whose attributes match, for example everyone with a budget of at least 800000 who plans to buy within six months.
- Pick an attribute, a condition and a value. The conditions offered depend on how the attribute was captured: numbers can be compared (at least, at most, greater than), dates can be before or after a day, and text can equal, contain or start with a value.
- Add several filters to narrow further. A visitor has to match all of them.
- **is set** and **is not set** find visitors who did or did not answer a question, and work on `$email` and `$phone` too.
- The filters use the same conditions as [visitor data conditions](https://linkbreakers.com/help/article/how-to-use-visitor-data-conditions) in workflows, so a segment you find here routes the same way in a workflow.
- **Export CSV** exports exactly the visitors the filters match.
The same filters are available in the API (`POST /v1/visitors/search`), the MCP server (`visitors_list`) and the in-app Assistant.
### Visitor journeys and qualification
Each visit records a [visitor journey](https://linkbreakers.com/help/article/what-is-a-visitor-journey): how many of the link's workflow steps the visitor reached, how many steps were on their path to an exit, and whether they reached the end. It is a fact about the visit, not a score.
Qualification comes from the workflow you design. The questions you put in form steps become visitor attributes, and the journey shows whether the visitor answered them all or stopped partway.
The journey appears in the dashboard Live view, in event CSV exports, in webhook payloads, in Slack notifications, and in the API with `include=journey`, so your sales tools can act on it as soon as a visit happens.
## Integration with marketing technology
Visitor tracking provides maximum value when integrated with broader marketing technology stacks that leverage comprehensive visitor intelligence for automated campaigns and sophisticated customer relationship management.
### CRM synchronization and customer data platforms
Comprehensive visitor tracking data integrates seamlessly with customer relationship management systems to provide sales teams with complete engagement context and marketing teams with campaign performance intelligence.
Contact synchronization automatically creates CRM records when visitors provide contact information through campaigns, ensuring lead capture workflows operate smoothly without manual data transfer or duplicate record management overhead.
Engagement history synchronization provides sales teams with complete interaction context when following up with leads, including campaign exposure history, content preferences, and behavioral patterns that inform personalized outreach strategies.
Attribution reporting reveals how visitors discover campaigns, what content drives engagement, and which touchpoints contribute to conversion outcomes, supporting marketing attribution analysis and budget optimization decisions.
Customer lifecycle integration connects visitor tracking data with broader customer journey analysis, enabling understanding of how campaign engagement contributes to long-term customer relationships and business value creation.
### Marketing automation and personalization
Real-time visitor tracking enables sophisticated marketing automation that responds immediately to engagement patterns and behavioral triggers rather than delayed batch processing that misses immediate opportunity windows.
Behavioral trigger automation initiates personalized email sequences, targeted content delivery, and customized engagement workflows based on specific visitor actions or engagement patterns that indicate particular interests or qualification levels.
Dynamic content personalization adapts campaign messaging, offers, and user experience based on visitor history, preferences, and behavioral characteristics captured through comprehensive tracking systems.
Audience segmentation automation creates and maintains dynamic visitor segments based on evolving behavioral patterns, ensuring marketing campaigns target appropriate audiences with relevant messaging that aligns with demonstrated preferences and interests.
Cross-campaign optimization leverages visitor insights to improve campaign targeting, content selection, and timing across entire marketing portfolios rather than optimizing individual campaigns in isolation.
### Business intelligence and analytics platforms
Visitor tracking data provides comprehensive datasets for sophisticated business intelligence analysis that reveals strategic insights and optimization opportunities across organizational marketing activities.
**Performance dashboard integration** provides real-time visibility into visitor engagement patterns, campaign effectiveness, and audience development for executive reporting and operational monitoring systems.
**Predictive analytics development** leverages comprehensive visitor datasets to build machine learning models that predict conversion outcomes, optimize campaign targeting, and identify growth opportunities based on historical patterns and behavioral analysis.
**ROI calculation and attribution modeling** connects visitor engagement data with business outcomes to calculate marketing return on investment and understand multi-touchpoint attribution patterns that inform budget allocation and strategic planning decisions.
**Competitive analysis and market intelligence** reveals audience behavior patterns, engagement preferences, and campaign performance trends that inform competitive positioning and market development strategies.
## Visitor tracking optimization strategies
Maximizing visitor tracking value requires strategic approaches to data collection, analysis, and optimization that align tracking capabilities with business objectives and campaign goals.
### Tracking implementation best practices
Effective visitor tracking requires thoughtful implementation that balances comprehensive data collection with performance, privacy, and user experience considerations.
**Campaign tagging strategies** ensure tracking data supports meaningful analysis by implementing consistent [tagging systems](https://linkbreakers.com/help/article/how-to-use-tags-in-linkbreakers) that enable performance comparison and optimization across different campaign types and marketing initiatives.
**Data quality management** maintains tracking accuracy through validation processes, cleanup procedures, and monitoring systems that identify and correct data quality issues that might compromise analysis accuracy or lead to incorrect optimization decisions.
**Performance monitoring** ensures tracking systems operate efficiently without impacting QR code scanning speed or user experience while providing comprehensive data collection that supports business intelligence requirements.
**Privacy compliance verification** maintains ongoing adherence to privacy regulations and organizational policies through regular auditing, documentation updates, and process improvements that ensure visitor rights protection.
### Analysis and optimization workflows
Converting visitor tracking data into actionable insights requires systematic analysis approaches that identify optimization opportunities and measure improvement effectiveness over time.
**Cohort analysis implementation** tracks visitor engagement patterns over time to understand how relationship development progresses and identify factors that influence long-term engagement and conversion outcomes.
**A/B testing integration** leverages visitor tracking data to measure campaign variation effectiveness, identify optimization opportunities, and validate improvement strategies through statistical analysis of engagement pattern changes.
**Attribution modeling development** analyzes multi-touchpoint visitor journeys to understand how different campaigns and interaction types contribute to desired outcomes, supporting budget allocation and strategic planning decisions.
**Predictive optimization** uses historical visitor behavior patterns to predict campaign performance, identify high-value visitors, and optimize targeting strategies based on data-driven insights rather than intuition or traditional demographics.
## Frequently Asked Questions
### What visitor information does tracking collect automatically?
Automatic collection includes device characteristics, browser information, geographic location (city/region level), scan timing, and technical data necessary for QR code functionality. Personal identification requires explicit visitor consent through forms or authentication.
### How does visitor tracking work across multiple devices?
Cross-device tracking uses email-based linking when visitors provide contact information, probabilistic behavioral analysis for anonymous visitors, and device fingerprinting to connect related activities while respecting privacy boundaries.
### Can visitors opt out of tracking while still using QR codes?
QR codes function normally with minimal tracking required for basic redirect functionality. However, comprehensive visitor analytics requires some data collection, though this can be anonymized and not linked to persistent visitor profiles.
### How long does Linkbreakers store visitor tracking data?
Data retention depends on workspace settings, subscription level, and applicable privacy regulations. Data is kept only as long as necessary for legitimate business purposes with options for deletion upon request.
### What's the difference between visitor tracking and visitor profiling?
Tracking refers to data collection processes, while profiling involves analysis and segmentation based on collected data. Both operate within privacy boundaries and consent management frameworks that respect visitor preferences.
### How does visitor tracking integrate with CRM and marketing automation systems?
Visitor data can be exported or synchronized through API integration, enabling CRM record creation, marketing automation triggers, and customer journey analysis in external systems while maintaining data consistency.
### Does visitor tracking comply with GDPR and other privacy regulations?
Yes, visitor tracking implements comprehensive privacy compliance including consent management, data minimization, retention policies, and visitor rights support that addresses GDPR, CCPA, and other applicable privacy frameworks.
### Can I customize what visitor data is collected and analyzed?
Tracking parameters can be configured through workspace settings, and additional data collection is available through form workflows and explicit consent mechanisms that allow visitors to control their information sharing.
### How accurate is visitor location tracking through QR code scans?
Location accuracy depends on IP geolocation, which provides city/region level accuracy. Precise location tracking requires device GPS permission and explicit visitor consent through mobile applications rather than QR code scanning.
### What happens to visitor tracking data if I cancel my subscription?
Data handling during subscription changes follows your agreement terms and applicable privacy regulations. Contact support for specific information about data retention and deletion options during account transitions.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How do plan limits work in Linkbreakers?
Source: https://linkbreakers.com/help/article/how-do-plan-limits-work-in-linkbreakers
## Short answer
This article explains how do plan limits work in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Plan limits in Linkbreakers balance platform accessibility with sustainable operations, providing generous quotas that accommodate most business needs while encouraging upgrades as usage scales. Understanding how these limits work helps you plan campaigns effectively and choose the right subscription level for your organization.
## Quick summary
- Understand multi-dimensional limits covering QR codes, team members, API usage, and storage allocation
- Monitor monthly quota resets that align with your workspace timezone settings
- Track usage patterns through real-time monitoring and analytics to optimize plan value
- Upgrade instantly to higher plans when reaching limits to access expanded quotas
- Implement optimization techniques like campaign consolidation and efficient API usage
- Choose appropriate subscription levels based on business needs and growth projections
## Understanding the limit structure
Linkbreakers implements multi-dimensional limits that address different aspects of platform usage rather than simple per-feature restrictions. This approach provides flexibility for diverse usage patterns while ensuring fair resource allocation across all users.
### Resource-based limitations
**QR code creation quotas** limit how many QR codes and shortened links you can create within your subscription period, encouraging thoughtful campaign planning while accommodating both high-volume and strategic usage patterns.
**Team member restrictions** control workspace collaboration capacity based on subscription level, balancing collaboration needs with operational costs while providing clear upgrade paths as teams grow.
**API usage limits** regulate programmatic access to protect platform performance while enabling sophisticated integrations and automation for technical users who need extensive API capabilities.
**Storage allocation** manages data retention for analytics, visitor information, and campaign assets, ensuring sustainable operations while providing generous capacity for typical business intelligence and historical analysis needs.
These resource limits work together to create balanced usage profiles that support diverse business models while maintaining platform sustainability and performance quality.
### Usage cycle management
**Monthly quota resets** align with your [workspace](https://linkbreakers.com/help/article/how-workspaces-function-in-linkbreakers) timezone settings, ensuring limit resets occur at predictable times that align with business operations rather than arbitrary UTC timestamps that might disrupt campaign planning.
**Prorated adjustments** handle mid-cycle subscription changes by calculating appropriate quota adjustments that prevent overage penalties while ensuring fair resource allocation during transition periods.
**Rollover policies** determine whether unused quota capacity carries forward to subsequent periods, with different policies for different subscription levels and resource types based on usage patterns and operational requirements.
**Grace period handling** provides temporary quota extensions during subscription transitions, payment processing delays, or other administrative situations that might temporarily affect service continuity.
This cycle management ensures predictable resource availability that supports business planning while accommodating the administrative realities of subscription management and organizational change.
### Fair usage principles
**Resource sharing optimization** ensures platform resources remain available for all users through intelligent load balancing and capacity management that prevents individual users from consuming excessive shared resources.
**Abuse prevention measures** identify and restrict usage patterns that might compromise platform reliability or negatively impact other users while maintaining generous limits for legitimate business activities.
**Performance protection** maintains response times and service quality through usage management that prevents overload conditions while accommodating legitimate high-volume usage scenarios within appropriate subscription levels.
**Sustainable growth support** provides upgrade paths and limit increases that accommodate business growth while maintaining platform economics that enable continued service development and reliability improvements.
These principles ensure limits serve legitimate operational purposes rather than arbitrary restrictions, supporting user success while maintaining platform sustainability.
## Free plan limitations and capabilities
The free plan provides permanent access to core Linkbreakers functionality with limitations designed to support experimentation, small projects, and evaluation while encouraging upgrades as usage needs expand.
### Core feature access with constraints
**QR code creation quota** allows meaningful experimentation with campaign creation while encouraging upgrade when projects scale beyond initial testing or small-scale deployment scenarios.
**Team collaboration limits** support small teams or individual usage while providing clear upgrade paths when collaboration needs expand to accommodate growing teams or client relationships.
**Analytics retention** provides sufficient historical data for basic performance analysis while encouraging upgrade when long-term trend analysis or comprehensive business intelligence becomes important for strategic planning.
**Integration capabilities** offer essential API access for basic automation while reserving advanced integration features and higher usage limits for paid subscriptions that support more sophisticated technical requirements.
These constraints balance accessibility with sustainability, ensuring free users can evaluate platform capabilities and run small projects while providing clear value propositions for paid upgrades.
### Strategic limitations for upgrade encouragement
**Advanced feature restrictions** reserve sophisticated workflow capabilities, detailed analytics, and premium integrations for paid subscriptions while providing sufficient functionality for meaningful evaluation and small-scale usage.
**Priority support differences** offer community support for free users while providing dedicated support channels and faster response times for paid subscribers who require reliable assistance for business-critical operations.
**Brand visibility** includes Linkbreakers branding on free plan campaigns while offering white-label options for paid subscribers who need brand consistency across their marketing materials and customer touchpoints.
**Export and backup limitations** provide basic data access while offering comprehensive export capabilities and backup options for paid subscribers who need sophisticated data management and business continuity planning.
These strategic differences create clear value propositions for upgrades while ensuring free users receive sufficient capability for evaluation and legitimate small-scale usage scenarios.
### Graduation pathway to paid plans
**Usage monitoring and notifications** help free users understand their consumption patterns and receive timely upgrade recommendations when usage approaches limits, preventing unexpected service restrictions during critical campaign periods.
**Feature preview access** occasionally provides temporary access to premium features during trial periods, helping users understand upgrade value propositions through hands-on experience rather than theoretical feature descriptions.
**Flexible upgrade timing** accommodates immediate needs through instant upgrade processing while providing granular billing that ensures users pay only for subscription periods they actually use rather than forcing arbitrary billing cycles.
**Data preservation guarantees** ensure campaign configurations, visitor data, and analytics history transfer seamlessly to paid subscriptions without data loss or service interruption during upgrade processes.
This graduation pathway creates smooth transitions that support business growth while maintaining service continuity and data integrity throughout subscription changes.
## Pro plan benefits and expanded limits
Pro subscriptions dramatically increase usage quotas while adding advanced features that support professional marketing operations, team collaboration, and sophisticated campaign management requirements.
### Substantially increased quotas
**QR code creation capacity** expands to accommodate professional marketing volumes while remaining generous enough to support diverse campaign strategies without restrictive campaign planning or artificial usage constraints.
**Team collaboration expansion** supports larger teams with role-based access controls that enable sophisticated collaboration workflows while maintaining security boundaries and operational efficiency across expanded team structures.
**Enhanced API limits** provide extensive programmatic access that supports sophisticated automation, integration projects, and custom development scenarios while maintaining platform performance and reliability for all users.
**Extended data retention** maintains comprehensive historical datasets that support long-term trend analysis, strategic planning, and compliance requirements that become important as organizations mature and expand their analytics capabilities.
These expanded quotas eliminate most usage constraints for professional marketing operations while providing clear headroom for growth and campaign scaling without immediate upgrade pressure.
### Professional feature access
**Advanced workflow capabilities** enable sophisticated campaign logic, multi-step user experiences, and complex automation that supports professional marketing strategies and customer journey optimization rather than simple redirect functionality.
**White-label customization** removes Linkbreakers branding and enables custom domain usage that maintains brand consistency across all customer touchpoints while providing professional appearance and trust indicators.
**Priority support access** provides dedicated support channels, faster response times, and specialized assistance that ensures reliable support for business-critical campaigns and time-sensitive operational requirements.
**Enhanced integration options** support sophisticated technical integrations with CRM systems, marketing automation platforms, and business intelligence tools that become essential as marketing operations mature and scale.
These professional features address the sophisticated requirements that emerge as organizations move beyond basic QR code usage to comprehensive marketing automation and customer relationship management.
### Business continuity and reliability
**Service level agreements** provide uptime guarantees and performance commitments that support business-critical campaign deployment while ensuring reliable service delivery for important marketing initiatives and customer-facing campaigns.
**Enhanced security features** include advanced access controls, audit logging, and compliance capabilities that meet organizational security requirements and regulatory obligations as business usage becomes more sophisticated and sensitive.
**Backup and recovery capabilities** protect campaign configurations, visitor data, and historical analytics through comprehensive backup systems that ensure business continuity and data preservation for critical organizational assets.
**Dedicated infrastructure allocation** provides performance isolation and resource guarantees that prevent usage impacts from other platform users while ensuring consistent performance during peak usage periods or high-volume campaigns.
These reliability enhancements support professional usage scenarios where campaign performance and data integrity become critical business requirements rather than nice-to-have conveniences.
## Enterprise scaling and unlimited usage
Enterprise subscriptions eliminate most traditional limits while providing usage-based billing that scales with actual consumption, supporting large-scale operations without arbitrary constraints or usage planning complications.
### Consumption-based billing model
**Usage-based metering** charges for actual platform consumption rather than arbitrary limits, providing cost predictability while accommodating variable campaign volumes and seasonal usage patterns without upgrade pressure or overage penalties.
**Flexible resource allocation** adapts automatically to usage patterns without requiring manual capacity planning or subscription adjustments, enabling responsive campaign scaling while maintaining cost efficiency based on actual business value generation.
**Volume discount structures** provide economic incentives for high-volume usage while maintaining fair pricing for smaller consumption levels, supporting diverse organizational needs and usage patterns within unified billing frameworks.
**Transparent usage reporting** provides detailed consumption analytics and cost forecasting that enables budget planning and usage optimization while ensuring billing transparency and enabling informed resource allocation decisions.
This consumption model aligns costs with business value while removing usage constraints that might limit marketing effectiveness or organizational growth.
### Enterprise-grade capabilities
**Dedicated infrastructure** provides performance isolation, security enhancement, and customization options that meet enterprise requirements for reliability, compliance, and operational control while maintaining platform benefits and development velocity.
**Custom integration support** includes technical consultation, integration development assistance, and specialized API access that enables sophisticated enterprise system integration while leveraging existing technology investments and operational procedures.
**Compliance and governance features** address regulatory requirements, audit capabilities, and data governance needs that become critical for large organizations operating in regulated industries or complex compliance environments.
**Service level guarantees** provide contractual uptime commitments, performance standards, and support response times that enable confident deployment of business-critical campaigns while ensuring reliable service delivery for customer-facing operations.
These enterprise capabilities address the complex requirements that emerge as QR code campaigns become integral to large-scale marketing operations and customer experience delivery.
### Organizational scaling support
**Multi-workspace management** enables complex organizational structures with appropriate isolation, access controls, and resource allocation across different business units, brands, or client relationships while maintaining centralized administrative oversight.
**Advanced user management** provides sophisticated team administration, role customization, and access governance that scales with large teams and complex organizational hierarchies while maintaining security and operational efficiency.
**Global deployment capabilities** support international operations with region-specific compliance, localization features, and data residency options that meet diverse regulatory requirements while maintaining unified operational management.
**Strategic consulting access** includes business strategy consultation, campaign optimization guidance, and technical architecture advice that helps organizations maximize platform value while aligning with broader business objectives and marketing strategies.
This organizational support ensures enterprise subscriptions provide not just technical capabilities but strategic partnership that supports business growth and operational excellence.
## Limit monitoring and optimization
Understanding your usage patterns and optimizing resource consumption helps maximize plan value while avoiding unexpected constraints or upgrade pressure during critical campaign periods.
### Usage tracking and analytics
**Real-time consumption monitoring** provides immediate visibility into quota usage across all limit categories, enabling proactive planning and resource optimization before limits affect campaign operations or business activities.
**Historical usage analysis** reveals usage patterns, seasonal variations, and growth trends that inform subscription planning and help predict future resource requirements based on actual business patterns rather than theoretical estimates.
**Quota utilization optimization** identifies efficiency opportunities and resource allocation improvements that maximize plan value while ensuring sufficient capacity for business growth and campaign scaling without wasteful over-provisioning.
**Alert and notification systems** provide advance warning when usage approaches limits, enabling proactive response through usage optimization, campaign timing adjustment, or subscription upgrades before constraints affect business operations.
This monitoring capability transforms limit management from reactive constraint handling to proactive resource optimization that supports business planning and operational efficiency.
### Strategic usage planning
**Campaign timing optimization** leverages quota reset schedules and usage patterns to optimize campaign launch timing and resource allocation throughout subscription cycles while maximizing campaign effectiveness and resource efficiency.
**Resource allocation strategies** distribute usage across different limit categories based on business priorities and value generation, ensuring critical capabilities receive priority while optimizing overall plan value and operational flexibility.
**Seasonal adjustment planning** accommodates predictable usage variations through subscription management strategies that align resource availability with business cycles while maintaining cost efficiency and operational capability.
**Growth accommodation strategies** plan subscription upgrades and resource scaling based on business growth projections and usage trend analysis rather than reactive constraint responses that might disrupt business operations during growth periods.
This strategic approach ensures limits support business objectives rather than constraining growth or operational efficiency through better planning and resource management.
### Optimization techniques and best practices
**Campaign consolidation strategies** combine related campaigns and optimize QR code usage to maximize value within quota constraints while maintaining campaign effectiveness and visitor experience quality.
**API efficiency optimization** reduces programmatic usage through efficient query design, caching strategies, and batch operations that accomplish integration objectives while minimizing quota consumption and maintaining system performance.
**Data retention management** balances historical analysis needs with storage efficiency through strategic data archival and retention policies that preserve essential intelligence while optimizing resource usage and compliance requirements.
**Team collaboration optimization** structures workspace access and permissions to maximize collaboration efficiency while minimizing team member quota usage through appropriate role assignment and resource sharing strategies.
These optimization techniques help organizations maximize plan value while maintaining operational flexibility and supporting business growth within subscription constraints.
## Frequently Asked Questions
### How do monthly quotas reset and when does my billing cycle start?
Monthly quotas reset on the first day of each calendar month at midnight in your workspace timezone, whatever day you signed up or upgraded.
### What happens if I reach my plan limits before the reset?
When you reach plan limits, affected features become unavailable until the next quota reset or subscription upgrade. Existing campaigns continue working, but new creation is restricted until quotas refresh or plans are upgraded.
### Can I upgrade mid-cycle and get immediate access to higher limits?
Yes, upgrades take effect immediately with prorated billing adjustments. Your new quota limits apply right away, and you're charged the difference for the remaining billing period.
### Do unused quotas carry over to the next billing period?
Quota rollover policies vary by subscription level and resource type. Free plans typically don't include rollover, while Pro and Enterprise subscriptions may offer limited rollover for certain quota types.
### How are team member limits counted across multiple workspaces?
Team member limits apply per workspace rather than per account. The same person can be a member of multiple workspaces, with each workspace counting toward its own subscription limits.
### What API rate limits apply to different subscription levels?
API rate limits increase with subscription level, from basic limits for free accounts to generous limits for Pro subscriptions and consumption-based limits for Enterprise accounts. Specific limits are documented in the API documentation.
### Can I temporarily exceed limits during important campaigns?
Enterprise subscriptions include consumption-based billing that automatically accommodates usage spikes. Pro and Free subscriptions have fixed limits, but you can upgrade instantly when additional capacity is needed.
### How do limits work for seasonal businesses with variable usage?
Consider subscription management strategies that align with seasonal patterns, such as upgrading before peak seasons and downgrading during low periods, or choose Enterprise subscriptions with consumption-based billing.
### What happens to my data if I downgrade my subscription?
Data preservation depends on the specific downgrade scenario. Generally, existing data remains accessible but creation limits apply immediately. Contact support for specific data retention questions during plan changes.
### Are there ways to optimize usage to maximize my plan value?
Yes, through campaign consolidation, efficient API usage, strategic data retention, and optimal team collaboration structures. Monitor your usage patterns and implement optimization strategies that align with your business priorities.
---
# What is Linkbreakers reliability and uptime?
Source: https://linkbreakers.com/help/article/what-is-linkbreakers-reliability-and-uptime
## Short answer
This article explains what is linkbreakers reliability and uptime with practical guidance, limits, and implementation details so you can apply it consistently.
When someone scans your QR code, they expect immediate access to your content. Linkbreakers reliability ensures that expectation is met consistently through robust infrastructure, proactive monitoring, and comprehensive redundancy systems that keep your campaigns accessible when visitors need them most.
## Quick summary
- Maintain 99.9% uptime through multi-layered infrastructure redundancy and automated failover systems
- Monitor service performance in real-time with automated alerts and predictive issue detection
- Implement comprehensive disaster recovery and business continuity procedures for major incidents
- Provide transparent service level agreements with uptime commitments and service credits
- Scale infrastructure automatically to handle traffic spikes and viral campaign scenarios
- Communicate service status clearly through real-time updates and planned maintenance notices
## Understanding service reliability fundamentals
Reliability in QR code platforms extends beyond simple uptime statistics to encompass response times, geographic accessibility, and consistent performance under varying load conditions. A truly reliable service ensures visitors can access campaigns quickly and consistently regardless of when, where, or how they engage with your QR codes.
### Multi-layered reliability architecture
**Infrastructure redundancy** operates across multiple data centers and cloud regions, ensuring service continuity even when individual components experience failures or maintenance requirements. This geographic distribution also optimizes response times for visitors accessing campaigns from different global locations.
**Load balancing and scaling** automatically distributes traffic across healthy servers while seamlessly handling usage spikes during viral campaigns, seasonal promotions, or high-traffic events without service degradation or visitor experience impacts.
**Database replication** maintains real-time data synchronization across multiple database instances, ensuring campaign configurations, visitor data, and analytics remain accessible and consistent even during hardware failures or maintenance windows.
**Automated failover systems** detect service issues immediately and redirect traffic to healthy infrastructure components without requiring manual intervention, minimizing service disruption duration and maintaining campaign accessibility during infrastructure issues.
This multi-layered approach ensures reliability extends throughout the entire service architecture rather than relying on single points of failure that could disrupt campaign operations.
### Performance consistency and optimization
**Response time guarantees** maintain fast QR code redirects and campaign loading regardless of traffic volume or geographic location, ensuring visitor experience remains consistently smooth and professional across all campaign interactions.
**Geographic optimization** delivers content from edge locations closest to visitors, reducing latency and improving loading speeds while maintaining global accessibility for international campaigns and distributed audiences.
**Caching strategies** optimize frequently accessed campaign content and reduce server load while ensuring visitors receive fresh content when campaigns are updated or modified, balancing performance with content accuracy.
**Capacity planning** continuously monitors usage patterns and scales infrastructure proactively to accommodate growth and usage spikes before they affect service performance or visitor experience quality.
These performance optimizations ensure reliability includes not just service availability but consistent, fast response times that meet visitor expectations for digital interactions.
### Monitoring and alerting systems
**Real-time service monitoring** continuously tracks service health, performance metrics, and error rates across all infrastructure components, enabling immediate detection of issues before they significantly impact visitor experience or campaign effectiveness.
**Predictive monitoring** analyzes performance trends and usage patterns to identify potential issues before they occur, enabling proactive maintenance and optimization that prevents service disruptions rather than simply responding to them.
**Automated alert systems** notify operations teams immediately when issues arise, providing detailed context and impact assessment that enables rapid response and effective problem resolution with minimal service impact.
**Third-party monitoring validation** uses external monitoring services to verify service availability and performance from visitor perspectives, ensuring monitoring systems accurately reflect actual user experience rather than internal system status alone.
This comprehensive monitoring ensures service issues are detected and resolved quickly while maintaining visibility into actual visitor experience quality.
## Service level agreements and commitments
Linkbreakers provides clear service level commitments that establish reliability expectations and ensure business confidence in platform dependability for critical marketing campaigns and customer-facing operations.
### Uptime guarantees and measurements
**99.9% uptime commitment** represents industry-leading availability standards that accommodate necessary maintenance while ensuring campaigns remain accessible for the vast majority of visitor access attempts throughout each month.
**Planned maintenance windows** are scheduled during low-traffic periods with advance notice, allowing campaign creators to plan around maintenance schedules while minimizing visitor impact and ensuring transparent communication about service availability.
**Uptime calculation methodology** excludes planned maintenance from availability calculations while including all unplanned outages, providing transparent and fair measurement of service reliability that aligns with business operational needs.
**Public status reporting** maintains transparent communication about service status, ongoing issues, and maintenance schedules through accessible status pages that provide real-time information for campaign creators and technical teams.
These commitments provide clear expectations and accountability while ensuring service reliability meets professional marketing requirements and business operational needs.
### Performance standards and guarantees
**Response time commitments** ensure QR code redirects complete within specified timeframes under normal operating conditions, maintaining visitor experience quality and preventing abandonment due to slow loading or technical issues.
**Geographic performance guarantees** provide consistent response times across global regions through edge infrastructure and content delivery networks that optimize performance regardless of visitor location or network conditions.
**Scaling capacity assurances** accommodate traffic spikes and viral campaign scenarios through automatic scaling systems that maintain performance during high-demand periods without requiring manual intervention or advance capacity planning.
**Error rate thresholds** maintain service quality standards by ensuring error rates remain below specified levels while providing clear escalation procedures when issues exceed acceptable thresholds.
These performance standards ensure reliability encompasses both availability and experience quality that meets professional marketing requirements and visitor expectations.
### Business impact protection
**Service credit programs** provide financial compensation when service levels don't meet committed standards, ensuring business accountability and risk mitigation for organizations depending on platform reliability for critical operations.
**Priority support for business-critical issues** provides expedited response and resolution for outages or performance issues that significantly impact business operations, ensuring rapid attention to high-impact situations.
**Escalation procedures** ensure critical issues receive appropriate attention and resources while maintaining clear communication about resolution progress and expected timelines for business continuity planning.
**Impact assessment and communication** provides clear information about service issues, affected functionality, and business impact to enable informed decision making and contingency planning during service disruptions.
This business focus ensures reliability commitments align with actual business needs and provide appropriate protection for organizations depending on platform availability.
## Infrastructure and technical architecture
Linkbreakers reliability depends on robust technical architecture designed for fault tolerance, scalability, and global accessibility that maintains service quality under diverse operating conditions.
### Cloud infrastructure and redundancy
**Multi-cloud architecture** leverages multiple cloud providers and regions to prevent vendor-specific outages from affecting service availability, while providing geographic diversity that optimizes performance for global audiences.
**Auto-scaling capabilities** automatically adjust infrastructure capacity based on traffic patterns and demand spikes, ensuring performance remains consistent during viral campaigns or seasonal usage increases without manual intervention.
**Data replication strategies** maintain real-time data synchronization across multiple locations and infrastructure components, ensuring campaign configurations and visitor data remain accessible even during hardware failures or data center issues.
**Network redundancy** utilizes multiple internet connections, routing paths, and network providers to ensure connectivity remains available even when individual network components experience issues or maintenance requirements.
This infrastructure design eliminates single points of failure while providing the scalability needed to maintain performance under varying operating conditions and usage patterns.
### Security and operational resilience
**DDoS protection systems** automatically detect and mitigate distributed denial of service attacks that might disrupt service availability, ensuring campaigns remain accessible even during malicious traffic attempts.
**Intrusion detection and prevention** monitors for security threats and unauthorized access attempts while maintaining service availability through automated threat response systems that protect infrastructure without impacting legitimate usage.
**Backup and disaster recovery** maintains comprehensive data protection and service restoration capabilities that ensure rapid recovery from catastrophic events while preserving campaign data and configuration integrity.
**Change management procedures** ensure infrastructure updates and maintenance activities follow structured processes that minimize disruption risk while enabling continuous improvement and security enhancement.
These security measures ensure reliability extends beyond technical availability to include protection against malicious activities and security threats that might disrupt campaign operations.
### Performance optimization and caching
**Global content delivery networks** cache campaign content at edge locations worldwide, reducing loading times for visitors while providing redundancy that maintains availability even when origin servers experience issues.
**Intelligent traffic routing** automatically directs visitors to the fastest and most reliable infrastructure endpoints based on real-time performance monitoring and geographic optimization algorithms.
**Database query optimization** ensures analytics and campaign management operations remain responsive even with large datasets and high query volumes through efficient indexing and caching strategies.
**Resource allocation management** dynamically adjusts computing resources based on demand patterns and performance requirements, ensuring consistent response times without over-provisioning that increases costs unnecessarily.
This optimization ensures reliability includes not just availability but consistent performance that meets visitor expectations for responsive digital experiences.
## Incident response and communication
When service issues occur despite preventive measures, comprehensive incident response procedures ensure rapid resolution and clear communication that minimizes business impact and maintains stakeholder confidence.
### Detection and response procedures
**Automated incident detection** identifies service issues immediately through comprehensive monitoring systems that analyze performance metrics, error rates, and system health indicators across all infrastructure components.
**Escalation protocols** ensure appropriate expertise and resources are engaged quickly based on incident severity and impact assessment, providing structured response that balances urgency with effective problem-solving approaches.
**Root cause analysis procedures** systematically investigate incident causes to prevent recurrence while maintaining focus on immediate service restoration that minimizes ongoing business impact for affected users.
**Resolution verification** confirms service restoration and performance normalization through comprehensive testing and monitoring before declaring incidents resolved, ensuring solutions are complete and sustainable.
These procedures ensure incidents receive appropriate attention and resources while maintaining systematic approaches that enable effective resolution and prevent recurrence.
### Communication and transparency
**Real-time status updates** provide immediate information about service issues, affected functionality, and resolution progress through accessible channels that enable stakeholders to stay informed about service status.
**Impact assessment communication** clearly explains how incidents affect different platform features and user activities, enabling informed decision making about business operations and contingency planning during service disruptions.
**Resolution timeline estimates** provide realistic expectations about restoration timeframes based on incident complexity and resolution progress, enabling business continuity planning and stakeholder management during extended issues.
**Post-incident summaries** explain incident causes, resolution actions, and prevention measures after service restoration, providing transparency and accountability while demonstrating continuous improvement commitment.
This communication approach ensures stakeholders have the information needed for business continuity planning while maintaining transparency and accountability for service reliability.
### Learning and improvement processes
**Incident review and analysis** systematically examines each service issue to identify improvement opportunities and implement preventive measures that reduce likelihood of similar incidents affecting future operations.
**Process optimization** continuously refines incident response procedures based on experience and industry best practices, ensuring response effectiveness improves over time while maintaining rapid resolution capabilities.
**Infrastructure enhancement** implements improvements identified through incident analysis, including additional redundancy, monitoring enhancements, or architectural changes that strengthen overall service reliability.
**Team training and development** ensures operations teams maintain current skills and knowledge for effective incident response while staying updated on evolving technologies and best practices for service reliability.
This continuous improvement approach ensures service reliability increases over time through learning from experience and proactive enhancement of systems and procedures.
## Business continuity and disaster recovery
Comprehensive disaster recovery capabilities ensure service restoration and business continuity even during major incidents or catastrophic events that might affect significant infrastructure components.
### Data protection and recovery
**Automated backup systems** continuously protect campaign data, visitor information, and platform configurations through geographically distributed backup storage that remains accessible even during major infrastructure failures.
**Point-in-time recovery** enables restoration of service and data to specific timestamps, ensuring minimal data loss and precise recovery that maintains business continuity and preserves critical information integrity.
**Cross-region replication** maintains real-time data synchronization across multiple geographic regions, enabling rapid service restoration in alternative locations when primary infrastructure experiences extended outages.
**Recovery testing procedures** regularly validate backup systems and recovery procedures through controlled testing that ensures disaster recovery capabilities remain effective without affecting production operations.
These data protection measures ensure business continuity and minimize impact from catastrophic events while maintaining comprehensive protection for critical business data and configurations.
### Service restoration capabilities
**Alternative infrastructure activation** enables rapid service migration to backup infrastructure and alternative geographic regions when primary systems experience extended outages or catastrophic failures.
**Graduated restoration procedures** prioritize critical functionality during recovery processes while ensuring systematic restoration that maintains service quality and prevents secondary issues during recovery operations.
**Communication during recovery** provides regular updates about restoration progress and expected timelines while maintaining transparency about recovery activities and any temporary service limitations during restoration.
**Business impact minimization** focuses recovery efforts on functionality most critical to business operations while ensuring comprehensive restoration that returns full service capability as quickly as possible.
This restoration approach ensures business continuity during major incidents while maintaining systematic recovery processes that prevent additional issues during restoration activities.
### Long-term resilience planning
**Capacity planning and scaling** anticipates growth and usage pattern changes to ensure infrastructure capacity remains adequate for business needs while maintaining performance and reliability standards.
**Technology refresh cycles** systematically update infrastructure components and software systems to maintain security, performance, and reliability while preventing aging technology from becoming reliability risks.
**Vendor relationship management** maintains diverse supplier relationships and avoids single points of failure in critical infrastructure dependencies while ensuring consistent service delivery across all platform components.
**Industry best practice adoption** continuously evaluates and implements emerging reliability practices and technologies that enhance service dependability while maintaining operational efficiency and cost effectiveness.
This long-term planning ensures reliability improvements continue over time while anticipating and preparing for future challenges and opportunities that might affect service delivery.
## Frequently Asked Questions
### What uptime percentage does Linkbreakers guarantee?
Linkbreakers maintains 99.9% uptime, which allows for approximately 8.77 hours of downtime per year including planned maintenance. Actual uptime typically exceeds this commitment through robust infrastructure and proactive maintenance.
### How are planned maintenance windows scheduled and communicated?
Planned maintenance is scheduled during low-traffic periods with at least 48 hours advance notice through status page notifications and email alerts. Maintenance windows are designed to minimize impact on campaign operations.
### What happens to QR codes during service outages?
During rare outages, QR codes may temporarily be inaccessible or redirect slower than normal. However, infrastructure redundancy and geographic distribution minimize the likelihood and impact of such disruptions.
### Do you offer service level agreement credits for downtime?
Yes, service credits are available when uptime commitments aren't met, with specific terms varying by subscription level. Pro and Enterprise subscriptions include formal SLA terms and credit procedures.
### How do you monitor service performance and reliability?
Comprehensive monitoring systems track service health, response times, and error rates in real-time across all infrastructure components, with additional third-party monitoring from visitor perspectives to ensure accurate performance assessment.
### What happens if there's a major outage affecting my important campaign?
Priority support provides immediate attention to business-critical issues, with dedicated resources for rapid resolution. Status page updates provide real-time information, and post-incident analysis ensures prevention of similar issues.
### Can I get notifications about service status and maintenance?
Yes, you can subscribe to status page notifications that provide real-time updates about service health, planned maintenance, and any issues that might affect campaign operations.
### How does geographic distribution affect reliability for international campaigns?
Global infrastructure and content delivery networks provide consistent performance worldwide while offering redundancy that maintains service availability even when regional infrastructure experiences issues.
### What backup and disaster recovery measures are in place?
Comprehensive backup systems, cross-region data replication, and disaster recovery procedures ensure service restoration and data protection even during major infrastructure failures or catastrophic events.
### How do you handle traffic spikes from viral campaigns?
Auto-scaling infrastructure automatically accommodates traffic increases without performance degradation, while load balancing ensures consistent response times even during unexpected viral campaign scenarios.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What's a link?
Source: https://linkbreakers.com/help/article/whats-a-link
A link in Linkbreakers is a trackable URL that powers QR codes and campaigns. Links provide analytics, workflow capabilities, and destination management that extends beyond basic URL shortening.
You manage them under **Configure → Links** in the dashboard. For a tour of that page, see [How to manage your links in Linkbreakers](https://linkbreakers.com/help/article/how-to-manage-your-links-in-linkbreakers).
Unlike traditional URL shorteners that only redirect traffic, Linkbreakers links capture [visitor data](https://linkbreakers.com/help/article/whats-a-visitor), enable interactive experiences through [workflows](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation), and allow destination updates without reprinting physical QR codes.
## Quick summary
- Update destinations anytime without reprinting QR codes or redistributing materials
- Track visitor profiles, location, device type, and behavioral patterns for every scan
- Add interactive workflows: forms, password gates, conditional routing, multi-step journeys
- Use your own custom domain while maintaining all tracking capabilities
- Integrate with CRM and marketing tools through APIs and webhooks
- Share links directly (not just via QR codes) while keeping same analytics
## Links vs traditional URL shorteners
| Feature | Traditional Shorteners | Linkbreakers Links |
|----------------------------|------------------------|-------------------|
| Destination redirects | Yes | Yes |
| Click counting | Basic | Comprehensive |
| Visitor profiles | No | Yes |
| Location tracking | No | Yes |
| Device/browser data | No | Yes |
| Update destination | No | Yes |
| Interactive workflows | No | Yes |
| Form integration | No | Yes |
| Password protection | No | Yes |
| Conditional routing | No | Yes |
| CRM integration | No | Yes |
| API access | Limited | Full |
Linkbreakers links provide [visitor analytics](https://linkbreakers.com/help/article/whats-a-visitor), [workflow automation](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation), and [API integration](https://linkbreakers.com/help/api) that transform links into marketing infrastructure.
## Links and QR codes (the relationship)
**Every QR code contains a link** (but not every link needs a QR code):
- QR codes are the scannable visual representation of your link
- Regenerate QR design anytime without changing the link (analytics stay intact)
- Share links directly via email, social, SMS (same tracking as QR scans)
- Consistent experience across all channels (QR codes, direct links, etc.)
**Flexible omnichannel campaigns:**
- Physical materials (print, packaging, signage) via QR codes
- Digital channels (email, ads, social) via direct links
- All traffic tracked under same link with unified analytics
## Creating and configuring links
**Basic setup:**
1. Set destination URL (website, PDF, video, app, any URL)
2. Add descriptive name for internal organization
3. Apply [tags](https://linkbreakers.com/help/article/how-to-use-tags-in-linkbreakers) for filtering and campaign management
4. Optionally customize slug (e.g., linkbreakers.com/spring-sale)
**Access controls:**
- Geographic restrictions (block or allow specific countries)
- Time-based availability (schedule start/end dates)
- Password protection for gated content
## Advanced link features
**Interactive workflows:**
- Collect visitor information through forms
- Add password gates or authentication steps
- Conditional routing based on responses or location
- Multi-step visitor journeys
**A/B testing:**
- Test different destinations systematically
- Compare workflow variations
- Data-driven optimization
**Geolocation targeting:**
- Route visitors to different destinations by location
- Localized campaigns for regional content
- Improve relevance and conversions
**Scheduled campaigns:**
- Auto-activate at future date/time
- Auto-deactivate when promotion ends
- No manual intervention needed
## Analytics capabilities
**What you track per link:**
- Individual [visitor profiles](https://linkbreakers.com/help/article/whats-a-visitor) (aggregated across multiple scans)
- Device type and operating system
- Geographic location (country, region, city)
- Scan timestamps and frequency patterns
- Return visitor identification
- Workflow completion rates
- Time spent on destination pages
**Behavioral insights:**
- Journey mapping through multi-step workflows
- Content preference patterns
- Peak engagement times
- Cross-campaign visitor correlation
- Friction points in conversion funnels
**Performance optimization:**
- Compare campaigns to identify best practices
- Seasonal pattern recognition
- ROI tracking and budget optimization
- Industry benchmarking context
## Custom domains
Use your own domain instead of Linkbreakers.com ([setup guide](https://app.linkbreakers.com/workspace/dashboard/custom-domains)):
**Benefits:**
- Brand consistency (use yourbrand.com instead of generic shortener)
- Visitor trust (recognizable domain increases clicks)
- Professional appearance
- All analytics and workflow features preserved
**Technical setup:**
- Simple DNS record update (CNAME or A record)
- Automatic SSL certificate provisioning and renewal
- Fast global redirects maintained
- No ongoing technical maintenance required
**Multiple domain strategies:**
- Different domains per campaign type or business unit
- Regional domains for international campaigns (e.g., uk.yourbrand.com, de.yourbrand.com)
- Separate brands or product lines
- Compliance with industry regulations
## Interactive workflows (beyond simple redirects)
**Add steps before destination:**
- Custom forms to collect contact info, preferences, or qualification data
- Password gates for exclusive content
- Conditional routing based on responses or visitor attributes
- Multi-step sequences (form → password → destination)
**Lead qualification:**
- Progressive profiling across multiple visits
- Behavioral scoring based on engagement depth
- Conversion funnel tracking to identify bottlenecks
- Automatic CRM integration for qualified leads
**Example workflow:**
1. Visitor scans QR code
2. Sees form collecting email and role
3. Conditionally routed based on role (sales → demo, support → docs)
4. Lead automatically created in CRM
5. Analytics track entire journey
**Personalization:**
- Dynamic destination routing based on visitor attributes
- Content customization per visitor segment
- Cross-visit continuity (remember returning visitors)
- Real-time personalization based on form responses
## API and business system integration
Use the [Linkbreakers API](https://linkbreakers.com/help/api) for programmatic link management:
**Automate link operations:**
- Bulk link creation for campaigns
- Update workflows and settings programmatically, including the destination, which lives on the link's redirect workflow step (`PATCH /v1/links/{linkId}/workflow-steps/{stepId}`)
- Export analytics data to BI systems
- Webhook notifications for real-time engagement tracking
**CRM and marketing automation:**
- Sync visitor data to Salesforce, HubSpot, etc.
- Trigger email sequences based on link interactions
- Create sales opportunities from qualified leads
- Feed campaign data into analytics platforms
**Custom integrations:**
- Build specialized workflows for your business
- Automated compliance and data handling
- Performance-based optimization (auto-adjust based on metrics)
- Audience segmentation and personalization at scale
## Frequently Asked Questions
### What's the difference between a link and a QR code in Linkbreakers?
A link is the underlying smart URL that provides tracking, analytics, and workflow capabilities. A QR code is the visual representation that makes the link easily scannable. Every QR code contains a link, but links can also be shared directly.
### Can I change where my link goes after I've printed QR codes?
Yes! You can update link destinations at any time without affecting printed QR codes. This flexibility allows you to update campaigns, fix broken links, or redirect to seasonal content without reprinting materials. The destination is stored on the redirect step of the link's workflow, so you change it there, in the workflow editor or through the workflow steps API, rather than on the link itself.
### How do links track visitors while maintaining privacy?
Links collect technical information necessary for functionality (device type, location, timing) while requiring explicit consent for personal information through forms. All data collection follows privacy regulations and visitor preferences.
### What happens if my destination website goes down?
Links include error handling that provides graceful failure messages rather than broken experiences. You can also update destinations immediately when issues are discovered, ensuring visitor experience remains professional.
### Can I use my own domain for links instead of Linkbreakers domains?
Yes, custom domains are available and maintain all analytics and workflow capabilities while providing brand consistency. Setup requires simple DNS configuration that most organizations can implement quickly.
### How do workflows and forms integrate with links?
Links can include interactive steps before reaching destinations, including forms, authentication, conditional logic, and multi-step sequences. These workflows collect information and qualify visitors while maintaining smooth user experience.
### What analytics do links provide beyond basic click counting?
Links provide comprehensive visitor profiles, geographic insights, device information, engagement depth analysis, return visitor tracking, and behavioral patterns that reveal campaign effectiveness and audience characteristics.
### Can I create links programmatically through an API?
Yes, the Linkbreakers API provides comprehensive programmatic access for link creation, configuration management, analytics retrieval, and workflow automation that supports technical integration and automation scenarios.
### How do links work with marketing automation and CRM systems?
Links integrate with business systems through APIs and webhooks that synchronize visitor data, trigger automated processes, and provide engagement context for sales and marketing activities.
### What's the maximum number of links I can create?
Link limits depend on your subscription plan, with generous quotas that accommodate most business needs. Enterprise subscriptions provide consumption-based billing that scales with actual usage without arbitrary limits.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How smart QR codes can replace traditional analytics tools
Source: https://linkbreakers.com/help/article/how-smart-qr-codes-can-replace-traditional-analytics-tools
## Short answer
This article explains how smart qr codes can replace traditional analytics tools with practical guidance, limits, and implementation details so you can apply it consistently.
Traditional web analytics face mounting challenges in today's privacy-conscious digital landscape. Cookie restrictions, attribution gaps, and the complex offline-to-online tracking puzzle have marketers searching for reliable alternatives. Smart QR codes emerge as an elegant solution, providing direct, measurable connections between physical touchpoints and digital engagement.
## The cracks in traditional analytics
Web analytics platforms built their foundations on assumptions that no longer hold true. Third-party cookies, once the backbone of user tracking, crumble under increasing browser restrictions and privacy regulations. Safari's Intelligent Tracking Prevention, Firefox's Enhanced Tracking Protection, and Chrome's eventual cookie deprecation create attribution blind spots that traditional analytics can't resolve.
The attribution challenge becomes even more complex when offline marketing enters the equation. How do you measure the impact of a billboard campaign? Can you attribute a website conversion to a print advertisement someone saw three days earlier? Traditional analytics tools excel at tracking digital journeys but struggle to connect offline touchpoints with online conversions.
> "The fundamental problem with traditional analytics is that they're reactive rather than intentional. They try to piece together user journeys after the fact, but QR codes let you design those journeys from the beginning."
Privacy concerns add another layer of complexity. Consumers increasingly demand transparency about data collection, while regulations like GDPR require explicit consent for tracking. This creates a paradox where the data you need for effective marketing becomes harder to collect through traditional means.
Consider a typical offline marketing scenario. You place advertisements in three different magazines, each targeting different demographics. Traditional analytics might show increased website traffic during the campaign period, but connecting specific visits to specific publications remains nearly impossible. You're left making educated guesses about which investments drove results.
## QR codes as intentional analytics
Smart QR codes flip the analytics paradigm from reactive tracking to intentional measurement. Instead of trying to reconstruct user behavior after the fact, you create direct, measurable pathways from offline touchpoints to digital experiences. Each scan represents an explicit decision to engage, providing clean, unambiguous data about campaign performance.
The beauty lies in their simplicity. When someone scans a QR code from your magazine advertisement, you know exactly which publication drove that engagement. When a conference attendee scans a booth QR code, you capture both their interest and the precise moment it occurred. This directness eliminates the guesswork that plagues traditional attribution models.
Linkbreakers takes this concept further by transforming each scan into a structured data collection opportunity. Rather than simply redirecting users to your website, [smart QR codes can include interactive workflows](https://app.linkbreakers.com/workspace/dashboard/links) that gather information, qualify leads, and provide personalized experiences based on the source and context of the scan.
The intentional nature of QR code scanning creates higher-quality data. Unlike passive web analytics that capture anonymous browsing behavior, QR code interactions represent deliberate engagement from users who chose to act. This intentionality often correlates with higher conversion rates and more meaningful business outcomes.
Geographic tracking becomes precise and actionable. When you deploy QR codes across multiple locations, retail stores, trade shows, outdoor advertising, you gain granular insights into which locations drive the most engagement. The [visitors dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors) shows exactly where your audience is located and how they're responding to different geographic placements.
## QR codes vs Google Analytics (GA) in practice
GA excels at tracking on-site behavior, but it struggles with **offline attribution** and **cookie-restricted environments**. Smart QR codes start the journey with a known source, so you get clean attribution from the first click and can still pass UTM parameters into GA for on-site analysis. QR analytics don’t replace GA for web behavior, but they **replace the missing offline layer** that GA can’t see.
## Offline advantage
Because scans happen at the physical touchpoint, QR analytics capture intent at the moment of interest. That makes it possible to compare placements, creative variants, and regions with high confidence, even when users move between devices or don’t accept cookies.
:::register-linkbreakers-banner {"headline":"Turn every scan into measurable insight","description":"Linkbreakers workflows capture context from each QR engagement so you can close the attribution gap in your offline campaigns.","ctaHref":"https://app.linkbreakers.com/workspace/sign-up/wizard?ref=help-smart-qr"}:::
## Real-world applications across industries
### Print advertising and direct mail
Magazine and newspaper advertisements traditionally offered little measurable feedback. Smart QR codes change this by providing direct attribution for print placements. Each publication can feature a unique QR code that tracks not just scans, but also the complete visitor journey through any subsequent workflows.
A financial services company might place advertisements in three different trade publications, each featuring a QR code with a unique campaign identifier. The analytics reveal not just which publication drove the most scans, but also which audience segments are most engaged and likely to convert. This granular data enables more informed media buying decisions for future campaigns.
Direct mail campaigns benefit enormously from QR code integration. Personalized mailers can include QR codes that identify specific recipients when scanned, enabling sophisticated follow-up sequences. A real estate agent might send neighborhood-specific mailers with QR codes that provide instant access to recently sold home reports while capturing the scanner's contact information for targeted follow-up.
### Product packaging and point-of-sale
Physical products offer prime real estate for QR codes that connect brands with customers at crucial moments. Unlike traditional product analytics that rely on retailer data sharing, QR codes on packaging provide direct insights into customer engagement patterns.
Consumer electronics companies place QR codes on packaging that streamline product registration while capturing valuable customer data. The analytics reveal not just registration rates, but also when customers typically register (immediately after purchase vs. weeks later), which features they're most interested in, and what additional products they might need.
Restaurants leverage QR codes on table tents and menus to gather customer feedback, promote loyalty programs, and drive repeat visits. The data shows which menu items generate the most interest, what promotions drive the highest engagement, and how customer preferences vary by location and time of day.
### Events and trade shows
Events present unique measurement challenges that QR codes solve elegantly. Traditional event analytics rely on badge scans and manual lead capture, creating incomplete pictures of attendee engagement. QR codes enable comprehensive tracking of attendee interactions throughout the entire event experience.
Conference organizers place QR codes on session signs that track attendance patterns, gathering data about which topics resonate most with different attendee segments. Exhibitors use booth QR codes that instantly capture visitor information while providing immediate access to product demonstrations or literature downloads.
The [live events tracking](https://app.linkbreakers.com/workspace/dashboard/live) capability shows real-time engagement patterns, enabling event organizers to adjust programming on the fly. If certain sessions show unexpectedly high or low engagement, organizers can adapt their approach for maximum impact.
### Retail environments
Physical retail stores struggle to measure the effectiveness of in-store marketing materials and product displays. QR codes bridge this gap by providing direct attribution for in-store engagement activities.
Clothing retailers place QR codes on product displays that provide styling advice, size guides, or complementary product suggestions. The analytics reveal which displays drive the most engagement and how that engagement correlates with sales performance. This data informs future merchandising decisions and helps optimize store layouts for maximum impact.
Grocery stores use QR codes on shelf talkers to provide recipe ideas, nutritional information, or manufacturer coupons. The scan data shows which product categories generate the most customer interest and what types of additional information customers value most.
## How Linkbreakers transforms QR codes into analytics powerhouses
### Detailed scan analytics and visitor insights
Every QR code scan through Linkbreakers generates rich analytical data that goes far beyond simple click counting. The platform captures device types, operating systems, geographic locations, scan timestamps, and referring sources to build comprehensive visitor profiles.
The [visitor tracking system](https://linkbreakers.com/help/article/what-is-visitor-tracking-in-linkbreakers) follows individuals through their entire journey, from initial scan through any subsequent workflow steps to final destination. This end-to-end visibility enables funnel analysis that shows where visitors drop off and what factors influence conversion rates.
Time-based analytics reveal engagement patterns that inform strategic decisions. You might discover that QR codes in coffee shops receive the most scans during morning hours, while retail displays perform best during weekend shopping periods. This temporal data enables optimized deployment strategies that maximize engagement during peak periods.
Geographic insights prove particularly valuable for multi-location campaigns. The analytics show not just where scans occur, but also how engagement patterns vary by region, demographic, or local market conditions. This granular geographic data supports location-specific optimization and more targeted future campaigns.
### Workflow-based data collection
Traditional analytics capture what happened, but smart QR codes enable you to design what happens next. Linkbreakers' [workflow system](https://linkbreakers.com/help/article/whats-a-workflow) transforms each scan into an opportunity for structured data collection and lead qualification.
A simple workflow might collect the visitor's email address and company name before providing access to a whitepaper or product demo. More sophisticated workflows can segment visitors based on their responses, providing personalized content and routing qualified leads directly to sales teams.
The workflow analytics show completion rates for each step, identifying where visitors drop off and what adjustments might improve conversion rates. This granular funnel analysis enables data-driven optimization that improves campaign performance over time.
Progressive profiling becomes possible through multi-touch campaigns where the same QR code gathers different information based on whether someone has scanned it before. First-time visitors might provide basic contact information, while returning visitors receive more advanced content in exchange for additional qualifying details.
### Custom event tracking and conversion measurement
Beyond standard analytics, Linkbreakers enables [custom event tracking](https://linkbreakers.com/help/article/what-are-events-in-linkbreakers) that measures specific business outcomes important to your organization. Define conversion events like email signups, demo requests, or purchase completions to track the true business impact of your QR code campaigns.
Event tracking works seamlessly with workflow steps, automatically capturing when visitors complete specific actions or reach certain milestones in their journey. This outcome-focused measurement proves campaign ROI more effectively than traditional vanity metrics like impressions or reach.
The platform's webhook system enables real-time event forwarding to your existing analytics and marketing automation platforms, ensuring QR code campaign data integrates seamlessly with your broader measurement ecosystem.
## Integration with existing analytics platforms
### Google Analytics and UTM parameter support
Smart QR codes don't replace your existing analytics infrastructure, they enhance it. Linkbreakers preserves UTM parameters throughout the entire visitor journey, ensuring QR code scans appear correctly attributed in Google Analytics and other web analytics platforms.
The [UTM builder functionality](https://linkbreakers.com/help/article/what-is-a-utm-builder-in-linkbreakers) helps create properly formatted tracking parameters that maintain attribution from QR code scan through final website conversion. This ensures your existing analytics dashboards show the complete customer journey without attribution gaps.
When visitors scan QR codes and complete workflows before reaching your website, all the original campaign parameters travel with them. Your Google Analytics reports show clear attribution from specific QR code campaigns to website conversions, enabling comprehensive cross-channel measurement.
### CRM and marketing automation integration
The real power emerges when QR code data flows directly into your customer relationship management and marketing automation systems. Linkbreakers' [webhook support](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enables real-time data synchronization with platforms like Salesforce, HubSpot, Marketo, and custom applications.
When someone scans a QR code and provides their contact information through a workflow, that data instantly appears in your CRM with full context about the campaign source, scan location, and visitor behavior. Sales teams receive warm leads with complete attribution history, enabling more effective follow-up conversations.
Marketing automation platforms can trigger personalized email sequences based on QR code scan behavior. Someone who scans a product QR code but doesn't complete the workflow might receive a follow-up email with a special offer, while complete workflow finishers enter a different nurture sequence focused on product education.
### Data warehouse and business intelligence integration
For organizations with sophisticated analytics infrastructure, Linkbreakers provides [API access](https://linkbreakers.com/help/api) that enables automated data extraction for warehouse loading and business intelligence analysis. QR code scan data can join with customer records, sales data, and other business metrics to provide comprehensive performance insights.
The programmatic access enables custom reporting and analysis that answers specific business questions. Which geographic regions show the highest QR code engagement rates? How does scan behavior correlate with customer lifetime value? What seasonal patterns affect campaign performance? These questions become answerable when QR code data integrates with broader business data sets.
## Building a comprehensive measurement strategy
### Designing campaigns for measurement
Effective QR code analytics begin with intentional campaign design that prioritizes data collection and measurement from the outset. Rather than adding tracking as an afterthought, smart campaigns structure every element around measurable outcomes.
Start by defining specific business objectives for each campaign. Are you trying to drive email signups, generate sales leads, increase brand awareness, or gather customer feedback? Clear objectives inform workflow design and help determine what data to collect at each step.
Create unique QR codes for each campaign element to enable granular attribution. Different publications, geographic locations, and audience segments should feature distinct codes that provide clear performance attribution. This granular approach reveals which elements drive the best results and deserve increased investment.
### Combining online and offline measurement
The most powerful analytics strategies combine QR code data with traditional web analytics to create comprehensive customer journey maps. QR codes provide clean attribution for offline touchpoints, while web analytics track subsequent online behavior and conversions.
Use [custom domains](https://app.linkbreakers.com/workspace/dashboard/custom-domains) for QR code destinations to maintain brand consistency while enabling clear traffic source identification in web analytics. When visitors land on your website through branded QR code links, their source attribution remains clear throughout their session.
Implement cross-device tracking strategies that account for QR code scans on mobile devices that lead to purchases on desktop computers. The [Linkbreakers ID (LBID)](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid) provides persistent visitor identification that bridges device gaps and ensures accurate attribution.
### Privacy-compliant measurement
Smart QR code analytics can provide rich insights while respecting visitor privacy and complying with relevant regulations. The intentional nature of QR code scanning creates natural consent moments where visitors choose to engage and can be transparently informed about data collection.
Design workflows that clearly communicate what information you're collecting and how it will be used. This transparency builds trust while ensuring compliance with privacy regulations. Visitors who understand the value exchange are more likely to provide accurate information and complete workflows.
Implement data retention policies that align with your business needs and regulatory requirements. [Learn more about how Linkbreakers handles data collection and privacy](https://linkbreakers.com/help/article/what-data-does-linkbreakers-collect-when-someone-scans-my-qr-code) to ensure your campaigns maintain appropriate privacy standards.
## Advanced analytics capabilities through the API
For organizations with custom analytics needs, the [Linkbreakers API](https://linkbreakers.com/help/api) provides programmatic access to all platform functionality and data. This enables sophisticated automation and integration scenarios that extend beyond standard analytics dashboards.
Automate QR code generation for large-scale campaigns where thousands of unique codes need creation with specific tracking parameters. The API enables bulk operations that would be impractical through manual dashboard interactions.
Build custom reporting dashboards that combine QR code analytics with other business data sources. API access enables real-time data extraction that supports custom visualizations and automated alert systems based on campaign performance thresholds.
Implement advanced segmentation and personalization logic that adapts QR code destinations based on scan context, visitor history, or external data sources. The API provides the flexibility to create sophisticated campaign experiences that respond dynamically to visitor behavior.
## Frequently Asked Questions
### How accurate is QR code attribution compared to traditional web analytics?
QR code attribution is typically more accurate than traditional web analytics because it creates direct, intentional connections between offline touchpoints and online engagement. Unlike cookies or pixel tracking that can be blocked or degraded, QR code scans represent explicit user actions that provide clean attribution data.
### Can QR codes track repeat visitors like traditional analytics platforms?
Yes, Linkbreakers maintains visitor profiles that track repeat scans and enable progressive profiling over multiple interactions. The [Linkbreakers ID (LBID)](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid) provides persistent visitor identification that works across devices and sessions.
### How do QR codes integrate with existing Google Analytics setups?
QR codes preserve UTM parameters throughout workflow journeys, ensuring proper attribution in Google Analytics. All campaign tracking parameters travel from QR code scan through any workflow steps to final destination, maintaining complete attribution chains in your existing analytics reports.
### What happens to attribution if visitors don't complete QR code workflows?
Even incomplete workflow interactions provide valuable analytics data. You can track how far visitors progress through workflows, identify common drop-off points, and optimize workflows for higher completion rates. Partial interactions still provide geographic, device, and timing data for campaign optimization.
### Can QR codes measure offline-to-online conversions?
Yes, QR codes excel at measuring offline-to-online conversions by providing direct attribution from physical touchpoints to digital outcomes. Combined with proper UTM parameter implementation and conversion tracking, QR codes enable comprehensive measurement of how offline marketing drives online results.
### How do privacy regulations affect QR code analytics?
QR code analytics can be highly privacy-compliant because scanning represents intentional user engagement where consent can be clearly obtained. Design workflows that transparently communicate data collection practices and provide value in exchange for information to maintain regulatory compliance.
### What level of technical expertise is required to implement QR code analytics?
Basic QR code analytics require no technical expertise, the Linkbreakers dashboard provides comprehensive analytics for all campaigns. Advanced integrations like API access and custom webhooks benefit from technical knowledge but aren't required for most use cases.
### How do QR codes perform compared to traditional call-to-action methods?
QR codes often outperform traditional call-to-action methods because they eliminate friction in the engagement process. Instead of requiring visitors to remember and type URLs, QR codes provide instant access while capturing precise attribution data about the source of engagement.
### Can QR code analytics replace traditional marketing measurement entirely?
While QR codes provide superior measurement for offline-to-online attribution, they work best as part of a comprehensive measurement strategy that includes traditional web analytics, social media tracking, and other data sources. The goal is enhanced measurement rather than complete replacement.
### How reliable is QR code scanning across different devices and apps?
QR code scanning is highly reliable across modern devices and apps. Built-in camera apps on smartphones universally support QR code scanning, and the technology works consistently across different operating systems and QR code reader applications.
## The future of intentional analytics
Smart QR codes represent a shift toward more intentional, privacy-conscious analytics that prioritize meaningful engagement over passive tracking. As traditional analytics tools face increasing restrictions, direct engagement methods like QR codes provide sustainable alternatives that respect user privacy while delivering superior attribution data.
The technology continues evolving with enhanced visual customization options, more sophisticated workflow capabilities, and deeper integration possibilities. Organizations that embrace QR codes as analytics tools position themselves ahead of privacy regulation changes and cookie deprecation challenges.
Rather than fighting against privacy trends, smart QR codes work with them by creating transparent, valuable exchanges where visitors willingly engage in exchange for relevant content and experiences. This approach builds stronger customer relationships while providing the measurement data needed for effective marketing optimization.
The most successful marketing organizations will combine traditional analytics strengths with QR code capabilities to create comprehensive measurement strategies that work regardless of privacy regulation changes or technology platform restrictions. This hybrid approach ensures sustainable, accurate measurement for years to come.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What is a QR code landing page?
Source: https://linkbreakers.com/help/article/what-is-a-qr-code-landing-page
A QR code landing page is a dedicated web page designed specifically for visitors who scan a QR code. Landing pages are optimized for mobile devices, focused on a single conversion goal, and typically include forms, calls-to-action, or interactive elements that direct links to regular websites cannot provide.
Unlike redirecting QR codes directly to existing website pages, dedicated landing pages enable targeted messaging, visitor data collection, and conversion optimization specifically for QR code scan traffic.
## Quick summary
- Create dedicated mobile-optimized pages for QR code visitors instead of redirecting to general website pages
- Focus each landing page on a single conversion goal (form submission, purchase, registration, download)
- Collect visitor data through embedded forms before showing destination content
- Personalize content based on scan location, device type, or visitor attributes
- Track conversion rates and optimize landing pages through A/B testing
- Use [workflows](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) to create multi-step landing experiences
## Landing pages vs direct website links
| Approach | Purpose | Mobile Optimization | Data Collection | Conversion Focus | Personalization |
|---|---|---|---|---|---|
| QR Landing Page | Single conversion goal | Mobile-first design | Built-in forms and tracking | Focused on one action | Customized for QR visitors |
| Direct Website Link | General information | Responsive but not QR-specific | Separate form setup needed | Multiple navigation options | Generic website experience |
| [Workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) Landing Page | Multi-step journey | Mobile-optimized sequence | Progressive data collection | Guided conversion path | Conditional routing |
## Why dedicated landing pages improve QR code performance
Redirecting QR codes directly to existing website pages often results in poor conversion rates because general websites are not optimized for the QR code scanning context.
### Mobile-first design requirements
QR code visitors scan on mobile devices with specific expectations:
- **Fast loading times** on cellular connections (minimize images, optimize assets)
- **Thumb-friendly interfaces** with large tap targets and minimal scrolling
- **Vertical layouts** optimized for portrait phone orientation
- **Clear visual hierarchy** guiding visitors to the primary action
General website pages designed for desktop browsers often fail these mobile-first requirements, resulting in bounce rates and abandoned conversions.
### Single conversion focus
Landing pages eliminate navigation distractions:
- **No header navigation** that encourages visitors to browse away
- **Limited exit points** keeping focus on the conversion goal
- **Clear call-to-action** prominently displayed above the fold
- **Minimal cognitive load** with focused messaging and simple choices
This focused approach increases conversion rates compared to general website pages with multiple navigation options and competing information.
### Contextual relevance
Landing pages can reference the QR code scanning context:
- **Location-specific messaging** when QR codes appear in specific venues
- **Campaign-specific offers** unique to the QR code placement
- **Time-sensitive promotions** aligned with event timing
- **Source acknowledgment** that confirms visitors are in the right place
This contextual relevance builds trust and improves engagement compared to generic website pages that don't acknowledge the scanning context.
## Types of QR code landing pages
Different business goals require different landing page approaches for optimal conversion performance.
| Landing Page Type | Primary Goal | Key Elements | Use Cases |
|---|---|---|---|
| Lead Generation | Collect contact information | [Form fields](https://linkbreakers.com/help/article/how-do-i-create-forms-in-my-qr-code-workflows), privacy policy, value proposition | Trade shows, print ads, business cards |
| Product Information | Educate about offering | Product images, specifications, demo videos, purchase CTA | Packaging, retail displays, catalogs |
| Event Registration | Sign up attendees | Event details, registration form, calendar add | Posters, flyers, event materials |
| Content Access | Deliver gated resources | Content preview, access form, download button | Whitepapers, guides, exclusive content |
| Purchase Transaction | Complete sale | Product details, pricing, checkout flow | Physical product QR codes, menus |
| App Download | Install mobile app | App benefits, store badges, installation instructions | Print materials, packaging, advertisements |
### Lead generation landing pages
Lead capture landing pages collect visitor information in exchange for access or resources:
- **Minimal form fields** reducing friction (name, email, optional phone)
- **Clear value proposition** explaining what visitors receive
- **Privacy assurance** building trust through transparent data usage
- **Immediate gratification** delivering promised content or access instantly
These landing pages work effectively for trade shows, networking events, and print advertising where capturing contact information enables follow-up marketing.
### Product showcase landing pages
Product-focused landing pages educate visitors and drive purchase decisions:
- **High-quality images** showcasing product features and benefits
- **Technical specifications** providing detailed information
- **Social proof** including reviews, testimonials, and ratings
- **Clear purchase path** with prominent buy or inquiry buttons
Product landing pages work for packaging QR codes, retail displays, and marketing materials where product education drives conversion.
### Event registration landing pages
Event-focused landing pages simplify registration and confirmation:
- **Event logistics** including date, time, location, and agenda
- **Registration form** collecting attendee information
- **Calendar integration** enabling one-click calendar addition
- **Confirmation messaging** providing immediate registration confirmation
Event landing pages reduce registration friction for conferences, workshops, webinars, and local events promoted through QR codes.
## Key elements of effective QR landing pages
High-converting landing pages share common structural and design patterns optimized for mobile QR code visitors.
### Visual design principles
Mobile-optimized visual design improves engagement and conversion:
- **Minimal navigation** removing header menus and sidebar distractions
- **Vertical scrolling** designing for single-column mobile layouts
- **Large typography** ensuring readability on small screens
- **Sufficient whitespace** preventing cluttered, overwhelming interfaces
- **Brand consistency** using colors and fonts matching overall brand identity
Visual design should prioritize clarity and simplicity over comprehensive information density.
### Conversion-focused content
Content should drive visitors toward the single conversion goal:
- **Compelling headline** immediately communicating value proposition
- **Concise copy** explaining benefits without excessive detail
- **Benefit-focused messaging** emphasizing visitor outcomes rather than features
- **Trust indicators** including security badges, testimonials, or guarantees
- **Clear call-to-action** using action-oriented button text
Content should answer "what's in it for me" within seconds of page load.
### Form optimization
Form design significantly impacts completion rates:
- **Minimal required fields** requesting only essential information
- **Smart defaults** pre-filling known information when possible
- **Inline validation** providing immediate feedback on errors
- **Mobile-friendly inputs** using appropriate keyboards for different field types
- **Progress indicators** showing multi-step form progression
Forms should balance information collection needs with visitor friction tolerance.
## Building landing pages with Linkbreakers
[Linkbreakers workflows](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) enable interactive landing page experiences without external website development.
### Form-based landing pages
Create data collection landing pages directly within Linkbreakers:
- **Custom form fields** collecting name, email, phone, and custom attributes
- **Conditional logic** showing different fields based on previous responses
- **Required validation** ensuring data quality before progression
- **Skip options** allowing visitors to bypass forms when appropriate
Form workflows enable lead generation without building separate landing page infrastructure. Learn more about [creating forms in QR code workflows](https://linkbreakers.com/help/article/how-do-i-create-forms-in-my-qr-code-workflows).
### Multi-step landing experiences
Combine workflow steps for sophisticated landing page sequences:
1. **Welcome screen** with campaign messaging and value proposition
2. **Data collection form** capturing visitor information
3. **Conditional routing** personalizing subsequent steps based on responses
4. **Final destination** delivering promised content or resources
Multi-step workflows create guided experiences that improve conversion compared to simple form submissions.
### Visual customization with page themes
[Page themes](https://linkbreakers.com/help/article/whats-a-page-theme) control landing page visual presentation:
- **Background colors and images** creating branded experiences
- **Typography settings** controlling font families and sizes
- **Button styling** customizing call-to-action appearance
- **Container layouts** adjusting spacing and visual structure
Page themes enable branded landing experiences without custom development.
### External landing page integration
For complex landing page requirements, [links](https://linkbreakers.com/help/article/whats-a-link) can redirect to external landing pages while maintaining tracking:
- **Existing landing page platforms** like Unbounce, Instapage, or custom websites
- **Full design control** over landing page appearance and functionality
- **Scan tracking** through Linkbreakers analytics
- **URL parameter passing** for personalization and source tracking
This hybrid approach combines custom landing page capabilities with Linkbreakers tracking infrastructure.
## Landing page analytics and optimization
[Analytics](https://linkbreakers.com/help/article/analytics) reveal landing page performance and optimization opportunities.
### Key performance metrics
Track metrics that indicate landing page effectiveness:
- **Conversion rate** measuring percentage of visitors completing the goal
- **Bounce rate** indicating visitors who leave without interaction
- **Time on page** revealing engagement depth
- **Form completion rate** showing percentage who start and finish forms
- **Drop-off points** identifying where visitors abandon the funnel
These metrics identify which landing pages perform well and which require optimization.
### A/B testing approaches
Test variations to improve conversion performance:
- **Headline testing** comparing different value propositions
- **Form field testing** determining optimal information collection
- **Call-to-action testing** experimenting with button text and placement
- **Visual design testing** comparing layouts and styling approaches
Systematic testing reveals what resonates with your specific audience.
### Mobile responsiveness testing
Ensure landing pages work across devices:
- **Different screen sizes** from small phones to tablets
- **Various browsers** including Safari, Chrome, and in-app browsers
- **Connection speeds** testing performance on 3G/4G/5G networks
- **Orientation changes** verifying portrait and landscape functionality
Mobile testing prevents technical issues that reduce conversion rates.
## Frequently Asked Questions
### What's the difference between a landing page and a website page?
A landing page is designed for a single conversion goal with minimal distractions, while a website page typically includes navigation, multiple content sections, and diverse exit points. Landing pages are optimized specifically for converting QR code scan traffic.
### Do I need to build a separate website to create QR code landing pages?
No. Linkbreakers [workflow features](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) enable form-based landing pages directly within the platform. For more complex requirements, you can use external landing page builders while maintaining Linkbreakers tracking.
### How do I collect visitor data through QR code landing pages?
Add form workflow steps to your [link](https://linkbreakers.com/help/article/whats-a-link) configuration. Forms can collect email, phone, name, and custom fields before visitors reach the final destination. All form submissions are tracked in your [workspace](https://linkbreakers.com/help/article/what-is-a-workspace) analytics.
### Can I personalize landing pages based on who scans the QR code?
Yes, through conditional [workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) routing based on location, device type, time of day, or form responses. This enables targeted experiences for different visitor segments scanning the same QR code.
### How do I track landing page performance?
Linkbreakers [analytics](https://linkbreakers.com/help/article/analytics) track all visitor interactions including form submissions, conversion rates, time on page, and drop-off points. Data is available through the dashboard and [API](https://linkbreakers.com/help/api).
### What makes a QR code landing page convert well?
Effective landing pages are mobile-optimized, focused on a single goal, load quickly, minimize form fields, communicate clear value propositions, and match visitor expectations from the QR code context.
### Can I A/B test different landing page variations?
Yes, create multiple [links](https://linkbreakers.com/help/article/whats-a-link) with different workflow configurations or destination landing pages, then compare performance metrics to identify the most effective approach.
### Do landing pages work for both products and services?
Yes. Product landing pages focus on specifications, images, and purchase paths, while service landing pages emphasize benefits, testimonials, and contact forms. The optimal structure depends on your specific conversion goal.
### How do I make landing pages load faster on mobile?
Optimize images, minimize external scripts, use mobile-first design, leverage browser caching, and test on actual mobile networks. Fast loading is critical since QR code visitors often scan on cellular connections.
### Can I use my own domain for QR code landing pages?
Yes. Linkbreakers supports [custom domains](https://linkbreakers.com/help/article/whats-a-custom-domain) for all links, enabling branded landing page URLs. For external landing pages, redirect your Linkbreakers link to any URL while maintaining scan tracking.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What's a media?
Source: https://linkbreakers.com/help/article/whats-a-media
## Short answer
This article explains what's a media with practical guidance, limits, and implementation details so you can apply it consistently.
In Linkbreakers, a **media** is simply the central image that appears in your QR codes and on your landing pages. It serves as visual branding and helps people recognize your content at a glance.
## Quick summary
- Understand that media is the central image in QR codes and landing pages for visual branding
- Choose appropriate image formats like JPEG, PNG, GIF, or WebP for different use cases
- Design square or circular images with good contrast for optimal QR code scanning
- Upload and optimize media through campaign settings for automatic positioning
- Maintain brand consistency across campaigns using the same media images
- Test QR codes to ensure media doesn't interfere with scanning functionality
## What is media used for?
Media images help make your QR codes more visually appealing and brand-recognizable. Instead of plain black and white QR codes, you can add your logo, product image, or any visual element that represents your campaign.
### Visual branding
Your media image appears in the center of your QR code, making it instantly recognizable as coming from your brand or campaign. This helps build trust and recognition when people see your QR codes.
### Landing page integration
The same media image also appears on your landing pages, creating visual consistency between the QR code and the destination experience.
## Supported image formats
Linkbreakers supports common image formats for media:
- **JPEG/JPG** - Best for photographs and complex images
- **PNG** - Best for logos and images with transparency
- **GIF** - Supported for animated content
- **WebP** - Modern format with excellent compression
## Best practices for media images
### Size and quality
- Use high-resolution images that will look crisp when scaled down in QR codes
- Square or circular images work best as they fit well in the QR code center
- Keep file sizes reasonable for fast loading
### Design considerations
- Ensure good contrast between your image and the QR code pattern
- Simple, clear designs work better than complex detailed images
- Test your QR codes to ensure they still scan properly with your media
### Brand consistency
- Use consistent media across related campaigns
- Consider how your image will look at small sizes
- Maintain your brand colors and style guidelines
## How to add media to your campaigns
When creating or editing a campaign in Linkbreakers, you can upload your media image through the campaign settings. The system will automatically optimize and position it within your QR code design.
## Frequently Asked Questions
### Do I need to add media to every QR code?
No, media is optional. QR codes work perfectly fine without central images, but adding media can improve branding and visual appeal.
### Will adding media affect QR code scanning?
When properly implemented, media should not interfere with QR code scanning. Linkbreakers automatically adjusts the placement and size to maintain scanability.
### Can I change the media after creating a campaign?
Yes, you can update the media image for any campaign. The QR code will automatically update to reflect the new image.
### What happens if my media image is too large?
Linkbreakers automatically optimizes and resizes uploaded images to ensure optimal performance and QR code functionality.
### Can I use the same media across multiple campaigns?
Absolutely. You can reuse media images across different campaigns to maintain consistent branding.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What's a QR code design?
Source: https://linkbreakers.com/help/article/whats-a-qr-code-design
## Short answer
This article explains what's a qr code design with practical guidance, limits, and implementation details so you can apply it consistently.
QR code designs transform functional black-and-white squares into branded marketing assets that reinforce your visual identity while maintaining perfect scanning reliability. Custom designs ensure your QR codes complement marketing materials rather than disrupting them, creating cohesive brand experiences that build recognition and trust.
## Quick summary
- **Master customization principles** including error correction capabilities, contrast requirements, and pattern recognition optimization
- **Implement brand integration** through color customization, logo placement, shape modifications, and background design options
- **Utilize design features** covering foreground colors, gradient effects, center logos, and decorative frame elements
- **Leverage template systems** with pre-designed libraries, brand template development, and workflow optimization tools
- **Optimize scanning reliability** considering contrast ratios, size scaling, device compatibility, and performance testing
- **Maintain brand consistency** across visual identity integration, marketing coordination, and multi-channel presence
## Understanding QR code customization principles
QR code design balances aesthetic appeal with technical functionality, ensuring codes remain scannable while reflecting your brand identity. This balance requires understanding how visual modifications affect scanning reliability and implementing designs that optimize both appearance and performance.
### The foundation of scannable design
**Error correction capabilities** built into QR codes allow significant visual customization without compromising scanning reliability. These error correction systems can recover lost or obscured data up to certain thresholds, enabling creative design freedom within technical boundaries.
**Contrast requirements** ensure QR codes remain readable by scanning devices across diverse lighting conditions and camera qualities. Sufficient contrast between foreground and background elements maintains functionality while accommodating creative color choices.
**Size and positioning considerations** affect how designs appear across different physical materials and digital displays. Scalable designs maintain visual appeal and scanning reliability whether printed on business cards or displayed on billboards.
**Pattern recognition optimization** preserves essential QR code elements that scanning software uses for detection and orientation while allowing customization of decorative and data areas that don't affect technical functionality.
This foundation enables creative freedom while maintaining the technical reliability necessary for professional marketing campaigns and customer-facing applications.
### Brand integration opportunities
**Color customization** extends beyond simple black-and-white patterns to incorporate brand colors, gradients, and visual themes that align with existing marketing materials and organizational identity guidelines.
**Logo integration** embeds brand marks, symbols, and icons directly into QR code centers while maintaining scanning functionality through intelligent placement and sizing that preserves essential code elements.
**Shape modifications** customize dot patterns, corner elements, and overall code appearance to reflect brand personality and design preferences while maintaining technical requirements for reliable scanning.
**Background integration** enables QR codes to blend seamlessly with marketing materials through transparent backgrounds, pattern overlays, and creative positioning that enhances rather than disrupts design layouts.
These integration options transform QR codes from technical utilities into branded marketing elements that reinforce identity while maintaining professional appearance and functional reliability.
### Creative design possibilities
**Artistic interpretations** enable QR codes to incorporate creative elements including illustrations, patterns, and decorative features that reflect campaign themes or seasonal marketing initiatives.
**Material simulation** creates QR codes that appear carved, embossed, printed on textures, or integrated with photographic backgrounds that enhance visual appeal while maintaining scanning performance.
**Animation capabilities** support dynamic QR codes for digital displays that include motion, color changes, or interactive elements that capture attention while preserving functional scanning areas.
**Context-aware designs** adapt QR code appearance to complement specific marketing materials, locations, or campaign contexts while maintaining consistent branding and technical reliability.
This creative flexibility enables QR codes to enhance marketing materials rather than disrupting them, creating cohesive visual experiences that support broader creative strategies.
## Design customization features
Linkbreakers provides comprehensive design tools that enable complete QR code customization while maintaining scanning reliability through intelligent optimization and technical validation.
### Color and visual customization
**Foreground color control** enables complete customization of QR code patterns and dots while maintaining sufficient contrast for reliable scanning across different devices and lighting conditions.
**Background options** include solid colors, gradients, transparency, and image overlays that integrate codes seamlessly with marketing materials while preserving essential contrast requirements.
**Gradient effects** create sophisticated visual transitions that add depth and visual interest while maintaining the technical contrast necessary for consistent scanning performance.
**Color scheme presets** provide professionally designed color combinations that ensure scanning reliability while offering diverse aesthetic options that align with different brand identities and creative preferences.
These color options enable QR codes to match any brand palette or creative direction while maintaining the technical requirements necessary for reliable performance across diverse scanning environments.
### Logo and branding integration
**Center logo placement** embeds brand marks directly into QR code centers through intelligent sizing and positioning that leverages error correction capabilities without compromising scanning reliability.
**Logo optimization** automatically adjusts uploaded logos for optimal integration including sizing, contrast enhancement, and positioning that maintains both brand recognition and technical functionality.
**Brand element incorporation** enables integration of brand symbols, icons, and decorative elements throughout QR code designs while preserving essential pattern areas required for scanning.
**Multiple logo support** accommodates complex brand identities or co-branding scenarios through flexible logo placement and sizing options that maintain visual balance and technical performance.
This branding integration ensures QR codes reinforce brand identity and recognition while maintaining professional appearance and reliable scanning across all marketing applications.
### Shape and pattern customization
**Dot shape modification** transforms standard square dots into circles, rounded squares, or custom shapes that reflect brand personality while maintaining pattern recognition capabilities.
**Corner style options** customize the distinctive corner squares that orient QR codes during scanning through shape modifications, decorative elements, and brand-aligned styling that maintains technical functionality.
**Pattern density control** adjusts QR code complexity and data density to accommodate different design preferences and technical requirements while optimizing for specific use cases.
**Frame and border options** add decorative frames, borders, and surrounding elements that integrate codes with marketing materials while maintaining clear boundaries for scanning recognition.
These customization options enable QR codes to reflect unique brand personalities and creative preferences while maintaining the technical elements necessary for consistent scanning performance.
## Template system and design efficiency
QR code templates streamline design processes by providing pre-configured design options that combine aesthetic appeal with proven scanning reliability, enabling efficient campaign creation while maintaining design consistency.
### Pre-designed template library
**Industry-specific designs** provide QR code templates optimized for different business sectors including retail, healthcare, education, and hospitality with appropriate aesthetic choices and functional considerations.
**Campaign-type templates** offer designs optimized for specific marketing objectives including lead generation, event promotion, product information, and customer engagement with relevant visual themes.
**Seasonal and event templates** include time-specific designs for holidays, special events, and seasonal campaigns that can be customized with brand colors and logos while maintaining festive or thematic appearances.
**Professional design collections** provide sophisticated template options created by graphic design professionals that ensure visual appeal while maintaining technical reliability and scanning optimization.
These templates accelerate campaign creation while ensuring professional appearance and technical reliability without requiring extensive design expertise or time investment.
### Brand template development
**Custom template creation** enables organizations to develop branded template libraries that maintain consistent visual identity across all QR code campaigns while streamlining creation processes for different team members.
**Brand guideline integration** ensures template designs align with organizational identity standards including colors, fonts, logos, and visual themes while maintaining technical requirements for scanning reliability.
**Template sharing systems** enable distributed teams to access consistent design options while maintaining brand compliance and reducing design inconsistencies across different campaigns and team members.
**Version control and updates** maintain template libraries with current brand guidelines and design standards while enabling systematic updates that preserve existing campaigns and maintain visual consistency.
This template approach ensures brand consistency while enabling efficient campaign creation that maintains professional appearance and technical reliability across organizational marketing activities.
### Design workflow optimization
**Batch design application** enables consistent design application across multiple QR codes while maintaining individual customization options and ensuring visual cohesion across campaign portfolios.
**Design preview and testing** provides real-time visualization of design changes while including scanning tests that verify technical reliability before campaign deployment and material printing.
**Export optimization** generates QR codes in appropriate formats and resolutions for different use cases including print materials, digital displays, and web applications while maintaining design fidelity.
**Design history and reversion** maintains design change records that enable reverting to previous versions while providing design evolution tracking and collaborative design management capabilities.
These workflow features streamline design processes while ensuring quality control and technical reliability throughout campaign development and deployment phases.
## Technical considerations and scanning optimization
Effective QR code design requires understanding technical limitations and optimization strategies that ensure reliable scanning across diverse devices, lighting conditions, and use cases while maintaining aesthetic appeal.
### Scanning reliability factors
**Contrast ratio requirements** ensure sufficient visual difference between foreground and background elements for reliable detection across different camera qualities and lighting conditions that visitors commonly encounter.
**Size scaling considerations** maintain design effectiveness across different physical sizes from business card applications to billboard displays while preserving scanning accuracy and visual appeal.
**Error correction utilization** leverages built-in error correction capabilities to accommodate design customization while maintaining sufficient redundancy for reliable data recovery during scanning.
**Device compatibility testing** ensures designs work effectively across different smartphone cameras, QR code scanning apps, and technical environments that visitors might use for code access.
These technical factors provide guidelines for design decisions that maintain scanning reliability while enabling creative customization and brand integration.
### Print and display optimization
**Resolution requirements** ensure QR codes maintain clarity and scanning reliability when printed at different sizes and on various materials including paper, plastic, fabric, and metal surfaces.
**Color reproduction considerations** account for printing processes and display technologies that might alter colors while maintaining sufficient contrast and visual appeal across different output methods.
**Material compatibility** addresses how designs perform on different surfaces including textured materials, reflective surfaces, and challenging physical environments that might affect scanning conditions.
**Lighting adaptation** optimizes designs for various lighting conditions including indoor lighting, outdoor sunlight, and low-light environments where scanning might occur.
This optimization ensures designs perform reliably across diverse real-world conditions while maintaining aesthetic appeal and professional appearance in all applications.
### Performance testing and validation
**Automated scanning tests** verify design reliability across different devices and scanning applications while identifying potential issues before campaign deployment and material production.
**Real-world testing protocols** validate performance in actual usage conditions including different lighting, distances, and scanning angles that reflect typical visitor interaction patterns.
**Cross-platform compatibility** ensures designs work effectively with various QR code scanning applications and smartphone cameras rather than only specific technical environments.
**Performance benchmarking** compares design variations to identify optimal configurations that balance aesthetic appeal with scanning reliability for specific use cases and target audiences.
These testing procedures ensure designs meet professional standards while providing confident deployment and consistent visitor experience across diverse scanning scenarios.
## Brand consistency and visual identity
QR code designs serve as brand touchpoints that reinforce visual identity and recognition while maintaining functional reliability, requiring strategic integration with broader marketing and branding initiatives.
### Visual identity integration
**Brand color implementation** ensures QR codes utilize organizational color palettes while maintaining sufficient contrast for scanning reliability and visual recognition across marketing materials.
**Logo integration strategies** embed brand marks effectively without compromising scanning functionality while maintaining logo visibility and brand recognition that supports marketing objectives.
**Typography coordination** aligns QR code designs with organizational fonts and text treatments used in related marketing materials while maintaining design cohesion and professional appearance.
**Style guide compliance** ensures QR code designs adhere to organizational brand standards while accommodating technical requirements and maintaining consistency across different applications and team members.
This integration creates cohesive brand experiences where QR codes enhance rather than disrupt visual identity and marketing material effectiveness.
### Marketing material coordination
**Design system integration** enables QR codes to complement existing marketing designs while maintaining distinct visibility and scanning accessibility that doesn't compete with other visual elements.
**Layout optimization** positions and sizes QR codes effectively within marketing materials while maintaining scanning accessibility and design balance that supports overall marketing objectives.
**Context-aware styling** adapts QR code appearance to complement specific marketing contexts including print advertisements, packaging, signage, and digital media while maintaining brand consistency.
**Cross-campaign coordination** maintains design consistency across different marketing initiatives while enabling campaign-specific customization that reflects particular messaging or promotional themes.
This coordination ensures QR codes enhance marketing effectiveness while maintaining professional appearance and brand recognition across diverse marketing applications.
### Multi-channel brand presence
**Omnichannel consistency** maintains design coherence across digital and physical marketing channels while adapting to technical requirements and aesthetic considerations specific to different media types.
**Regional adaptation** accommodates local design preferences or cultural considerations while maintaining core brand identity and technical reliability across international marketing campaigns.
**Seasonal flexibility** enables design updates that reflect promotional themes or seasonal campaigns while maintaining brand recognition and scanning reliability throughout campaign variations.
**Evolution management** accommodates brand guideline updates and design evolution while maintaining existing campaign effectiveness and providing smooth transitions between design standards.
This multi-channel approach ensures QR codes support comprehensive brand strategies while maintaining effectiveness across diverse marketing environments and audience interactions.
## Advanced design features and capabilities
Sophisticated design features enable complex visual effects and interactive elements that enhance QR code appeal while maintaining scanning reliability and professional appearance.
### Dynamic and interactive design elements
**Animation support** enables moving design elements for digital displays that capture attention while maintaining static scanning areas that preserve technical functionality and visitor accessibility.
**Conditional design variations** provide different appearances based on scanning context, time, or visitor characteristics while maintaining single code functionality and analytics continuity.
**Interactive visual feedback** includes design changes that respond to successful scanning or visitor interaction while providing immediate confirmation of campaign engagement.
**Context-responsive styling** adapts design elements based on where codes are displayed or accessed while maintaining consistent branding and technical reliability across different environments.
These advanced features create engaging visual experiences that enhance campaign effectiveness while maintaining professional appearance and technical reliability.
### Integration with campaign analytics
**Performance-based design optimization** enables automatic design adjustments based on scanning success rates and visitor feedback while maintaining aesthetic appeal and brand consistency.
**A/B testing support** facilitates systematic testing of design variations to optimize both visual appeal and scanning performance through data-driven design decisions rather than aesthetic preferences alone.
**Engagement tracking integration** connects design elements with visitor interaction data to understand how visual choices affect campaign performance and visitor behavior patterns.
**ROI-focused design decisions** inform design choices with performance data and business outcomes rather than purely aesthetic considerations while maintaining brand identity and professional appearance.
This analytical integration ensures design decisions support business objectives while maintaining aesthetic appeal and visitor engagement effectiveness.
### Custom development and API integration
**Programmatic design generation** enables automated design creation and customization through API access that supports large-scale campaigns and systematic design management.
**Brand asset integration** automatically incorporates current brand assets and guidelines into QR code designs while maintaining design consistency and reducing manual design management overhead.
**Template system automation** enables dynamic template selection and customization based on campaign characteristics or business rules while maintaining design quality and brand compliance.
**Design version management** provides systematic tracking and updating of design assets across multiple campaigns while maintaining consistency and enabling efficient design evolution.
These advanced capabilities support sophisticated design management and automation while maintaining quality control and brand consistency across extensive campaign portfolios.
## Frequently Asked Questions
### Can I use any colors for my QR code design?
While you have significant color flexibility, sufficient contrast between foreground and background elements is essential for reliable scanning. The design system provides guidance and warnings to ensure your color choices maintain scanning functionality.
### How do I add my logo to a QR code without affecting scanning?
Logo placement utilizes QR codes' built-in error correction capabilities, allowing logos to cover up to 30% of the code area when properly positioned. The system automatically optimizes logo size and placement for reliable scanning.
### What happens if my QR code design makes scanning unreliable?
The design system includes automatic testing and validation that alerts you to potential scanning issues before deployment. Real-time preview and testing ensure designs maintain functionality across different devices and conditions.
### Can I create animated QR codes for digital displays?
Yes, animation is supported for digital applications while maintaining static scanning areas that preserve functionality. Animated elements enhance visual appeal without compromising technical reliability.
### How do design templates work and can I create custom ones?
Templates provide pre-configured designs optimized for scanning and aesthetic appeal. You can customize existing templates or create custom templates that maintain your brand consistency across multiple campaigns.
### What file formats and resolutions are best for different applications?
The system automatically generates appropriate formats and resolutions for different use cases including print materials (high-resolution PNG/PDF) and digital displays (optimized web formats) while maintaining design fidelity.
### How do I ensure my QR code design works on different materials and surfaces?
Design validation includes testing across various printing and display conditions. Consider contrast requirements and material characteristics, with the system providing guidance for optimal performance on different surfaces.
### Can I update QR code designs after printing without changing the function?
The underlying link remains the same regardless of design changes, but printed codes cannot be visually updated. Consider design longevity and potential updates when creating codes for permanent materials.
### How do design choices affect campaign analytics and tracking?
Design elements don't affect analytics capabilities, but visual appeal can influence scanning rates and engagement. Performance data helps optimize designs for both aesthetic appeal and business effectiveness.
### What's the relationship between QR code designs and templates?
Templates are pre-designed configurations that can be customized with your brand elements, while designs refer to the complete visual customization of individual codes. Templates streamline the design process while maintaining flexibility.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What's a QR code template?
Source: https://linkbreakers.com/help/article/whats-a-qr-code-template
## Short answer
This article explains what's a qr code template with practical guidance, limits, and implementation details so you can apply it consistently.
QR code templates eliminate the guesswork from design creation by providing professionally crafted starting points that balance aesthetic appeal with technical reliability. Instead of starting from scratch or worrying about scanning functionality, templates offer proven design foundations that you can customize with your branding while maintaining optimal performance.
## Quick summary
- Accelerate design creation with pre-tested templates that ensure reliable scanning across different devices and conditions
- Customize templates with brand colors, logos, and typography while maintaining professional design integrity
- Choose from industry-specific and use-case specialized templates for business cards, posters, packaging, and digital displays
- Organize template libraries with version control and team access management for consistent brand application
- Test template performance through validation systems that verify scanning functionality after customization
- Integrate templates with existing design workflows and marketing asset management systems
## Understanding the template advantage
Templates solve the common challenge of creating attractive QR codes that remain reliably scannable. They provide design frameworks that have been tested for performance while offering customization options that accommodate diverse brand identities and campaign requirements.
### Pre-tested design foundations
**Scanning reliability validation** ensures every template has been tested across different devices, lighting conditions, and use cases to guarantee consistent performance before being made available for customization.
**Aesthetic optimization** provides professionally designed layouts that balance visual appeal with technical requirements, creating attractive codes that enhance rather than detract from marketing materials.
**Brand flexibility** enables templates to accommodate different color schemes, logos, and visual preferences while maintaining the underlying design structure that ensures scanning success.
**Use case specialization** offers templates optimized for specific applications including business cards, posters, packaging, digital displays, and other common marketing contexts.
This foundation approach accelerates campaign creation while reducing the risk of scanning issues that might arise from untested custom designs.
### Design consistency and efficiency
**Systematic visual approach** provides consistent design quality across different campaigns and team members while maintaining professional appearance regardless of individual design expertise.
**Rapid deployment capabilities** enable quick campaign creation and iteration without requiring extensive design time or specialized skills while maintaining high-quality visual outcomes.
**Brand guideline compliance** ensures template-based designs align with organizational identity standards while providing flexibility for campaign-specific customization and messaging.
**Quality control automation** maintains design standards through pre-validated templates rather than relying on individual design decisions that might compromise scanning performance or visual appeal.
This systematic approach creates efficient workflows while ensuring consistent quality and professional appearance across all campaign materials.
### Strategic template organization
**Industry-specific collections** group templates by business sector and use case to provide relevant starting points that align with specific marketing objectives and audience expectations.
**Campaign-type categorization** organizes templates by marketing purpose including lead generation, event promotion, product information, and customer engagement with appropriate visual themes.
**Complexity levels** range from simple, clean designs to more elaborate artistic templates that accommodate different aesthetic preferences and brand personalities while maintaining technical reliability.
**Seasonal and thematic options** include time-specific templates for holidays, special events, and promotional periods that can be quickly customized with brand elements for timely campaigns.
This organization system ensures you can quickly find appropriate starting points while maintaining design quality and campaign effectiveness.
## Template categories and design styles
Linkbreakers offers diverse template categories that address different aesthetic preferences, industry needs, and campaign objectives while maintaining consistent technical reliability and customization flexibility.
### Professional business templates
**Corporate identity designs** provide clean, sophisticated layouts that reflect professional business environments while maintaining sufficient customization options for brand integration and messaging.
**Industry-specific aesthetics** include templates designed for healthcare, finance, education, retail, and other sectors with appropriate color schemes, imagery, and design elements that align with industry expectations.
**Minimalist approaches** emphasize simplicity and clarity with clean lines, ample white space, and subtle design elements that complement rather than compete with surrounding marketing materials.
**Executive and premium designs** offer sophisticated styling appropriate for high-level business communications and premium brand positioning while maintaining accessibility and scanning reliability.
These professional templates ensure QR codes enhance business credibility while providing the visual appeal necessary for effective marketing and customer engagement.
### Creative and artistic templates
**Artistic interpretations** incorporate creative elements including illustrations, patterns, and decorative features that add visual interest while maintaining scanning functionality and brand customization opportunities.
**Themed collections** provide templates aligned with specific aesthetic movements, seasonal themes, or campaign concepts that create cohesive visual experiences across marketing materials.
**Interactive design elements** include visual effects that suggest motion, depth, or engagement while maintaining static scanning areas that preserve technical functionality.
**Brand personality expression** enables templates to reflect different organizational personalities from playful and creative to sophisticated and authoritative while maintaining professional appearance.
This creative variety ensures QR codes can complement diverse marketing strategies while maintaining the technical reliability necessary for consistent campaign success.
### Industry and context-specific templates
**Retail and e-commerce designs** optimize for product packaging, store displays, and promotional materials with layouts that complement commercial environments and purchase decision contexts.
**Event and hospitality templates** provide designs appropriate for conferences, restaurants, hotels, and entertainment venues with visual themes that enhance guest experience and engagement.
**Healthcare and professional services** offer templates that convey trust and professionalism while maintaining accessibility and clarity appropriate for service-oriented communications.
**Technology and innovation designs** include modern, cutting-edge aesthetics that reflect technological sophistication while appealing to tech-savvy audiences and innovation-focused organizations.
These specialized templates ensure QR codes align with specific industry contexts while maintaining universal scanning accessibility and professional appearance.
## Customization and brand integration
Templates provide structured customization options that enable brand integration while maintaining design integrity and scanning reliability through guided modification processes.
### Brand element integration
**Logo placement systems** provide optimized positioning options for brand marks that maintain scanning functionality while ensuring logo visibility and brand recognition across different template styles.
**Color scheme adaptation** enables templates to adopt organizational color palettes while maintaining sufficient contrast for scanning reliability and visual coherence with existing marketing materials.
**Typography coordination** allows text elements to reflect brand fonts and styling where applicable while preserving legibility and design balance within template frameworks.
**Brand guideline compliance** ensures customization options align with organizational identity standards while maintaining template design integrity and scanning performance.
This integration approach creates branded QR codes that reinforce identity while maintaining the design quality and technical reliability that templates provide.
### Flexible customization options
**Graduated customization levels** provide options ranging from simple color and logo changes to more extensive modifications that accommodate different comfort levels and design requirements.
**Preview and validation systems** show real-time customization results while testing scanning functionality to ensure modifications maintain technical reliability throughout the design process.
**Undo and reversion capabilities** enable experimentation with different customization options while providing safety nets that prevent accidental design degradation or scanning issues.
**Save and template creation** allows successful customizations to become new organizational templates that maintain consistency across future campaigns and team members.
These flexible options accommodate diverse customization needs while maintaining design quality and providing confidence in technical reliability.
### Advanced modification capabilities
**Element repositioning** enables strategic adjustment of design components while maintaining template structure and ensuring scanning functionality remains optimal throughout modifications.
**Pattern and texture overlays** provide additional visual interest and brand alignment opportunities while preserving essential contrast and recognition elements required for reliable scanning.
**Context-aware suggestions** recommend modifications based on intended use cases, brand characteristics, and technical requirements while guiding users toward successful design outcomes.
**Batch customization tools** enable consistent brand application across multiple templates while maintaining individual template characteristics and specialized design features.
These advanced features support sophisticated customization needs while preserving template advantages and ensuring consistent quality across different design applications.
## Template selection and optimization
Choosing appropriate templates requires understanding how different design elements align with campaign objectives, target audiences, and technical requirements while balancing aesthetic preferences with performance optimization.
### Strategic template selection
**Campaign objective alignment** matches template aesthetics with marketing goals including lead generation, brand awareness, product promotion, or customer engagement to enhance campaign effectiveness.
**Audience consideration** selects templates that resonate with target demographics while considering age groups, industry contexts, and aesthetic preferences that influence scanning likelihood and engagement.
**Context optimization** chooses templates appropriate for specific deployment environments including print materials, digital displays, packaging, or signage with design elements that complement surrounding content.
**Brand personality reflection** ensures template choices align with organizational identity and messaging while maintaining consistency with broader marketing strategies and visual communications.
This strategic approach ensures templates enhance campaign effectiveness while maintaining brand consistency and professional appearance.
### Performance optimization factors
**Scanning environment consideration** selects templates optimized for expected scanning conditions including lighting, distance, and device types that visitors will commonly use for code access.
**Size scaling validation** ensures templates maintain design integrity and scanning reliability across different physical sizes from business card applications to large-format displays.
**Material compatibility** considers how templates will perform on different surfaces and printing methods while maintaining visual appeal and technical functionality.
**Longevity and updating** evaluates template sustainability for long-term campaigns while considering potential brand evolution and campaign modification requirements.
These optimization factors ensure template selection supports successful campaign deployment while maintaining performance and professional appearance over time.
### Testing and validation processes
**Multi-device scanning tests** verify template performance across different smartphones, cameras, and scanning applications to ensure universal accessibility and reliable function.
**Real-world condition testing** validates templates under various lighting conditions, viewing angles, and physical environments that reflect actual usage scenarios.
**Brand integration validation** confirms customizations maintain both aesthetic appeal and scanning functionality while preserving brand recognition and professional appearance.
**Performance benchmarking** compares template variations to identify optimal configurations that balance visual appeal with scanning success rates and visitor engagement.
This testing approach ensures template selections provide reliable performance while maintaining the visual appeal necessary for marketing effectiveness.
## Template management and organizational efficiency
Effective template usage requires systematic management approaches that enable team collaboration, maintain consistency, and support efficient campaign creation across organizational structures.
### Organizational template libraries
**Custom template development** enables organizations to create branded template collections that maintain consistent visual identity while providing flexibility for different campaign types and requirements.
**Team access management** controls template availability and modification permissions while enabling collaboration and maintaining design consistency across different team members and projects.
**Version control systems** track template modifications and updates while preserving campaign continuity and enabling systematic improvements based on performance feedback and brand evolution.
**Category and tagging organization** enables efficient template discovery and selection while maintaining systematic organization that supports quick campaign creation and design consistency.
This management approach creates efficient design workflows while maintaining quality control and brand consistency across organizational marketing activities.
### Collaborative design processes
**Template sharing systems** enable distributed teams to access consistent design options while maintaining brand compliance and reducing design inconsistencies across different campaigns and locations.
**Approval workflow integration** provides systematic review and approval processes for template modifications while maintaining design quality and brand guideline compliance throughout collaborative projects.
**Design history documentation** tracks template usage and performance while providing insights for future template development and optimization based on real-world campaign results.
**Best practice documentation** captures successful template applications and customization approaches while enabling knowledge sharing and continuous improvement across teams.
These collaborative features support effective teamwork while maintaining design consistency and enabling systematic improvement based on collective experience.
### Performance tracking and optimization
**Template effectiveness analysis** monitors campaign performance across different template choices while identifying design elements that contribute to scanning success and visitor engagement.
**Usage pattern insights** reveal which templates perform best for different campaign types while informing template development priorities and organizational design strategies.
**ROI-based template evaluation** connects template choices with business outcomes while optimizing design investments and template development efforts based on actual campaign effectiveness.
**Continuous improvement processes** incorporate performance feedback into template refinement while ensuring ongoing optimization and adaptation to changing business needs and design trends.
This analytical approach ensures template systems continuously improve while supporting data-driven design decisions and maximizing campaign effectiveness.
## Integration with design workflows
Templates integrate seamlessly with broader design and marketing workflows while supporting efficient campaign creation and maintaining consistency with organizational marketing strategies and brand guidelines.
### Marketing workflow integration
**Campaign planning alignment** connects template selection with broader marketing strategies while ensuring visual consistency across multiple touchpoints and communication channels.
**Asset management integration** enables templates to work within existing design asset libraries while maintaining organization and accessibility alongside other marketing materials.
**Production workflow optimization** streamlines the transition from template selection to final campaign deployment while reducing time investment and maintaining quality throughout production processes.
**Cross-campaign consistency** ensures template usage supports coherent brand presentation across different marketing initiatives while enabling campaign-specific customization and messaging.
This integration approach maximizes template value while supporting efficient marketing operations and maintaining professional consistency across all campaign materials.
### Design system compatibility
**Brand guideline enforcement** ensures template usage aligns with organizational identity standards while providing systematic compliance and reducing brand inconsistency risks.
**Design tool integration** enables templates to work effectively with existing design software and workflows while maintaining accessibility for team members with different technical skill levels.
**Asset format optimization** provides templates in appropriate formats for different production requirements while maintaining design fidelity across print and digital applications.
**Update and synchronization systems** maintain template currency with evolving brand guidelines while enabling systematic updates that preserve existing campaigns and maintain consistency.
This compatibility ensures templates enhance rather than disrupt existing design processes while providing systematic support for brand consistency and professional quality.
### Automation and efficiency features
**Batch template application** enables consistent design application across multiple campaigns while reducing manual effort and maintaining visual coherence across campaign portfolios.
**Automated optimization** applies best practices and technical requirements automatically while reducing design errors and ensuring scanning reliability throughout template customization.
**Integration with analytics** connects template performance data with campaign results while informing design decisions and template development based on actual effectiveness measurements.
**Workflow automation** reduces repetitive design tasks while maintaining quality control and enabling focus on strategic creative decisions rather than technical implementation details.
These automation features maximize efficiency while maintaining design quality and ensuring template systems support rather than complicate marketing operations.
## Frequently Asked Questions
### How do templates differ from fully custom QR code designs?
Templates provide pre-tested design foundations that ensure scanning reliability while offering customization options for branding. Custom designs offer complete creative freedom but require more expertise to ensure scanning functionality and professional appearance.
### Can I modify templates extensively or are customization options limited?
Templates offer flexible customization including colors, logos, typography, and layout adjustments while maintaining design integrity. Advanced modification options support extensive personalization while preserving template advantages.
### How do I know which template will work best for my campaign?
Consider campaign objectives, target audience, deployment context, and brand personality. Template categories and preview systems help identify appropriate options, while testing features validate performance for specific requirements.
### Can I create custom templates for my organization?
Yes, successful customizations can become organizational templates, and custom template development services are available for organizations requiring specialized design solutions that maintain brand consistency across teams.
### Do templates affect QR code analytics or tracking capabilities?
Templates don't impact analytics functionality. All tracking, visitor intelligence, and performance measurement capabilities remain identical regardless of template choice, ensuring comprehensive campaign insights.
### How often are new templates added and can I request specific designs?
Template libraries expand regularly based on user feedback and design trends. Template requests are welcomed and considered for development based on demand and strategic alignment with platform goals.
### What happens if I want to change templates after creating campaigns?
Template changes can be applied to existing campaigns, though this updates the visual appearance while maintaining the same functionality and analytics continuity. Consider impact on printed materials before making changes.
### How do templates handle different printing and display requirements?
Templates automatically generate appropriate formats and resolutions for different applications including high-resolution print files and optimized digital formats while maintaining design fidelity across output methods.
### Can templates accommodate multiple languages or international requirements?
Templates support various text elements and can accommodate different languages, cultural design preferences, and international requirements while maintaining scanning functionality and professional appearance.
### What's the relationship between templates and QR code designs?
Templates are starting points that become customized designs. They provide professional foundations that accelerate creation while ensuring technical reliability, then become unique designs through brand customization and personalization.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What is a workflow in Linkbreakers and how it powers automation
Source: https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation
## Short answer
This article explains what is a workflow in linkbreakers and how it powers automation with practical guidance, limits, and implementation details so you can apply it consistently.
Workflows transform simple QR code redirects into interactive experiences that guide visitors through carefully designed journeys. Instead of immediately sending someone to a destination, workflows can collect information, authenticate users, provide personalized content, and create engaging multi-step interactions that build relationships and gather valuable business intelligence.
## Understanding workflow fundamentals
Workflows represent the sequence of steps a visitor encounters when scanning your QR code. They bridge the gap between initial scan and final destination, creating opportunities for interaction, data collection, and personalized experiences that simple redirects cannot achieve.
### The anatomy of interactive experiences
**Entry point consistency** ensures every visitor starts from the same scanning experience regardless of device or scanning method while maintaining predictable workflow initiation that supports consistent analytics and user experience.
**Step sequencing** creates logical progression through different interaction points while maintaining visitor engagement and reducing abandonment through thoughtful pacing and value delivery.
**Decision branching** enables conditional paths based on visitor responses, characteristics, or behavior while creating personalized experiences that adapt to individual needs and preferences.
**Destination delivery** concludes workflows by directing visitors to appropriate content or locations while ensuring the complete journey provides value and meets campaign objectives.
This structured approach transforms random QR code interactions into purposeful visitor journeys that serve both business objectives and visitor needs through systematic experience design.
### Simple redirects versus workflow experiences
Traditional QR codes provide immediate redirection to predetermined destinations. Workflows introduce interactive layers that enhance engagement while providing data collection and personalization opportunities that simple redirects cannot offer.
**Value exchange frameworks** enable visitors to provide information or complete actions in exchange for access to valuable content, services, or personalized experiences rather than passive content consumption.
**Qualification processes** identify visitor interests, needs, and characteristics through interactive questions or choices that inform subsequent marketing activities and sales follow-up strategies.
**Engagement depth measurement** tracks how visitors interact with different workflow elements while providing insights into content effectiveness and visitor interest levels that inform optimization strategies.
**Relationship building opportunities** create multiple touchpoints and interactions that build familiarity and trust rather than single-transaction relationships that provide limited ongoing value.
This enhancement transforms QR codes from simple utilities into comprehensive marketing tools that support sustained relationship development and business intelligence gathering.
### Workflow design philosophy
**Visitor-centric approach** prioritizes user experience and value delivery while ensuring workflows serve visitor needs rather than purely organizational data collection objectives that might create friction or abandonment.
**Progressive disclosure** reveals information and requests gradually while respecting visitor time and attention spans through carefully paced interaction sequences that maintain engagement.
**Value-first design** ensures each workflow step provides genuine benefit to visitors while building toward more significant value delivery that justifies time investment and information sharing.
**Mobile optimization** recognizes that most QR code scanning occurs on smartphones while designing workflows for thumb-friendly interaction and efficient mobile completion.
This philosophy creates workflows that visitors want to complete rather than feel obligated to endure, resulting in higher completion rates and more positive brand experiences.
## Workflow components and building blocks
Workflows consist of modular components that can be combined in various sequences to create customized visitor experiences that align with specific campaign objectives and business requirements.
### Core interaction elements
**Information collection forms** gather visitor details including contact information, preferences, demographics, and qualification data while providing clear value propositions that justify information sharing.
**Authentication and access control** verify visitor identity or provide password-protected access while enabling secure content delivery and ensuring appropriate audience targeting for sensitive materials.
**Content presentation steps** deliver information, documents, videos, or other valuable content while maintaining engagement and providing clear progression toward campaign objectives.
**Decision points and branching** enable visitors to choose their path while creating personalized experiences that adapt to individual interests and needs rather than one-size-fits-all approaches.
These foundational elements provide flexibility to create diverse workflow types while maintaining consistent functionality and visitor experience quality.
### Advanced workflow capabilities
**Conditional logic systems** adapt workflow behavior based on visitor responses, characteristics, or external factors while creating dynamic experiences that respond to individual circumstances and preferences.
**Multi-step sequences** guide visitors through complex processes while maintaining engagement and reducing cognitive load through logical progression and clear value delivery at each stage.
**Integration touchpoints** connect workflows with external systems including CRM platforms, marketing automation, and business applications while enabling comprehensive data utilization and process automation.
**Analytics and tracking integration** captures detailed visitor behavior throughout workflows while providing insights into engagement patterns, completion rates, and optimization opportunities.
These advanced features enable sophisticated visitor experiences that support complex business objectives while maintaining user-friendly interaction patterns.
### Customization and personalization options
**Dynamic content delivery** adapts messaging, offers, and experiences based on visitor characteristics while creating relevant interactions that improve engagement and conversion effectiveness.
**Contextual workflow variations** provide different experiences based on scanning location, time, device type, or other contextual factors while maintaining workflow consistency and analytics continuity.
**Behavioral adaptation** modifies workflow behavior based on visitor interaction patterns while optimizing for individual engagement preferences and completion likelihood.
**Cross-visit continuity** maintains personalization context across multiple workflow interactions while building comprehensive visitor profiles that inform ongoing relationship development.
This personalization capability creates relevant, engaging experiences that build stronger visitor relationships while providing comprehensive data for marketing and sales optimization.
## Common workflow patterns and use cases
Different business objectives require specific workflow patterns that optimize for particular outcomes while maintaining visitor experience quality and maximizing campaign effectiveness.
### Lead generation and qualification workflows
**Contact capture sequences** collect essential visitor information while providing clear value in exchange for personal details through gated content, exclusive offers, or personalized services. This includes specialized workflows like [contact cards (vCard)](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers) for networking and professional interactions.
**Progressive profiling approaches** gradually build comprehensive visitor profiles through multiple interactions while avoiding overwhelming initial encounters with extensive information requests.
**Qualification scoring integration** assesses visitor characteristics and behavior while automatically routing qualified leads to appropriate sales processes or marketing automation sequences.
**CRM integration touchpoints** synchronize collected data with customer relationship management systems while ensuring immediate sales team notification for high-value prospects.
These lead generation patterns transform casual QR code scans into qualified business opportunities while maintaining positive visitor experience and professional brand presentation.
### Event registration and management workflows
**Registration form sequences** collect attendee information while providing confirmation details, calendar integration, and additional event resources that enhance attendee experience.
**Capacity management integration** monitors registration limits while providing waitlist options or alternative event suggestions when capacity restrictions apply to popular events.
**Payment processing integration** enables paid event registration while maintaining security standards and providing confirmation receipts that support attendee confidence and event planning.
**Pre-event engagement** delivers preparatory content, networking opportunities, and logistical information while building anticipation and ensuring successful event participation.
These event workflows streamline registration processes while providing comprehensive attendee management and engagement opportunities that enhance event success.
### Customer service and support workflows
**Issue categorization systems** help visitors identify appropriate support channels while routing requests to qualified personnel who can provide effective assistance.
**Self-service resource delivery** provides immediate access to documentation, troubleshooting guides, and instructional content while reducing support ticket volume and improving resolution speed.
**Escalation path management** enables seamless transition to human support when self-service options prove insufficient while maintaining context and avoiding repeated information collection.
**Satisfaction tracking integration** captures feedback about support quality while identifying improvement opportunities and measuring customer service effectiveness.
These support workflows improve customer experience while optimizing support resource allocation and providing insights into common issues and resolution effectiveness.
### Product information and sales workflows
**Product discovery sequences** guide visitors through product selection while providing personalized recommendations based on needs assessment and preference collection.
**Specification and comparison tools** enable detailed product analysis while supporting informed purchase decisions and reducing post-sale dissatisfaction through comprehensive information delivery.
**Pricing and availability integration** provides current product information while enabling quote requests or direct purchase initiation for qualified prospects.
**Follow-up automation triggers** initiate personalized marketing sequences while nurturing prospects who don't immediately purchase but demonstrate interest in product categories.
These sales workflows support informed purchase decisions while capturing prospect information that enables ongoing marketing and sales activities.
## Workflow design best practices
Creating effective workflows requires balancing business objectives with visitor experience while maintaining engagement throughout multi-step processes that could easily become overwhelming or frustrating.
### User experience optimization
**Step minimization** reduces workflow complexity while maintaining necessary functionality through efficient design and strategic information collection that respects visitor time constraints.
**Clear value communication** explains benefits throughout workflows while ensuring visitors understand what they'll receive in exchange for their time and information sharing.
**Progress indication** provides clear visibility into workflow length and completion status while enabling visitors to make informed decisions about continued participation.
**Exit and skip options** enable visitor control over engagement levels while accommodating different privacy preferences and time availability without creating frustration.
These UX principles create workflows that visitors want to complete while maintaining business objective achievement and positive brand experiences.
### Mobile interface design
**Touch-friendly interactions** optimize for smartphone usage through appropriate button sizing, gesture support, and navigation patterns that align with mobile user behavior expectations.
**Screen space efficiency** maximizes limited mobile screen real estate while maintaining readability and interaction clarity that supports easy completion on small devices.
**Loading speed optimization** ensures fast step transitions while maintaining engagement and preventing abandonment due to technical performance issues.
**Offline capability consideration** enables workflow completion even with limited connectivity while providing graceful handling of network issues that might occur during completion.
This mobile focus ensures workflows perform excellently on devices where most QR code scanning occurs while accommodating diverse technical environments.
### Completion rate optimization
**Friction reduction** eliminates unnecessary steps and complexity while maintaining workflow objectives through streamlined design and efficient information collection strategies.
**Incentive alignment** ensures value delivery matches or exceeds visitor investment while providing clear benefits that justify time and information sharing throughout the process.
**Recovery mechanisms** enable workflow restart or continuation after interruption while maintaining visitor progress and reducing abandonment due to technical issues or distractions.
**Testing and iteration** systematically optimize workflow performance while identifying bottlenecks and improvement opportunities through data-driven design refinement.
These optimization strategies ensure workflows achieve business objectives while maintaining high completion rates and positive visitor experiences.
## Advanced workflow features and integration
Sophisticated workflow capabilities enable complex business processes and comprehensive integration with existing systems while maintaining user-friendly interaction patterns.
### Business system integration
**CRM synchronization** automatically updates customer records with workflow data while ensuring sales teams have immediate access to visitor information and engagement context.
**Marketing automation triggers** initiate personalized follow-up sequences based on workflow completion while enabling sophisticated nurturing campaigns that respond to demonstrated interests.
**Analytics platform integration** feeds workflow data into comprehensive business intelligence systems while combining visitor behavior with broader marketing metrics for strategic analysis.
**Custom application connectivity** enables specialized integrations through API access while supporting unique business requirements and existing technical infrastructure.
This integration approach ensures workflows contribute to broader business processes while maximizing organizational value and operational efficiency.
### Conditional logic and personalization
**Dynamic path selection** adapts workflow sequences based on visitor responses while creating personalized experiences that align with individual needs and characteristics.
**Content customization** delivers relevant messaging and offers while improving engagement through personalization that reflects visitor interests and preferences.
**Behavioral adaptation** modifies workflow behavior based on interaction patterns while optimizing for individual completion likelihood and engagement quality.
**External data integration** incorporates information from business systems while enhancing personalization and enabling sophisticated visitor experience customization.
These personalization features create highly relevant experiences that build stronger relationships while providing comprehensive data for ongoing optimization.
### Performance monitoring and optimization
**Completion rate analysis** identifies workflow bottlenecks while revealing optimization opportunities that improve visitor experience and business outcome achievement.
**A/B testing capabilities** enable systematic workflow variation testing while optimizing performance through data-driven design decisions rather than assumptions about visitor preferences.
**Real-time performance monitoring** provides immediate visibility into workflow health while enabling rapid response to issues that might affect visitor experience or business objectives.
**Predictive optimization** analyzes historical performance patterns while suggesting improvements and identifying successful workflow elements for broader application.
This monitoring approach ensures workflows continuously improve while providing data-driven insights that inform strategic design decisions.
## API integration and automation
Workflows integrate with business systems through comprehensive APIs that enable automation, data synchronization, and custom functionality development for technical organizations.
### Programmatic workflow management
**Automated workflow creation** enables systematic campaign generation while supporting large-scale operations and consistent workflow deployment across multiple initiatives.
**Dynamic configuration management** allows real-time workflow modification while enabling responsive campaign management and optimization based on performance data.
**Data export and synchronization** provides comprehensive workflow performance information while feeding business intelligence systems and enabling cross-platform analytics.
**Event-driven automation** triggers business processes based on workflow completion while enabling real-time response to visitor engagement and qualification events.
This programmatic access transforms workflow management from manual processes to automated systems that scale with business growth.
### Custom development and extension
**Workflow step customization** enables specialized interaction elements while accommodating unique business requirements and industry-specific processes that standard components cannot address.
**Third-party service integration** connects workflows with specialized platforms while extending functionality through external APIs and services that enhance visitor experience.
**Custom analytics implementation** provides specialized tracking and measurement while supporting unique performance metrics and business intelligence requirements.
**Advanced automation scenarios** enable sophisticated business process integration while creating seamless connections between visitor engagement and organizational operations.
These development capabilities ensure workflows can accommodate complex requirements while maintaining ease of use and visitor experience quality.
## Examples of workflows
- **Lead capture**: Scan → form → thank-you page → CRM webhook.
- **Secure content**: Scan → password gate → protected resource.
- **Event check-in**: Scan → RSVP confirmation → calendar add.
- **Support flow**: Scan → choose issue → route to the right help page.
## Frequently Asked Questions
### What's the difference between a workflow and a simple QR code redirect?
Simple redirects immediately send visitors to destinations, while workflows create interactive experiences with steps like forms, authentication, or conditional content before reaching final destinations. Workflows enable data collection and personalization that redirects cannot provide.
### How many steps can a workflow include before visitors abandon it?
Optimal workflow length depends on value delivery and visitor motivation. Generally, 2-4 steps work well for most campaigns, though highly valuable content can justify longer sequences. Testing helps identify optimal length for specific audiences.
### Can workflows branch into different paths based on visitor responses?
Yes, conditional logic enables workflows to adapt based on visitor answers, characteristics, or behavior. This personalization improves relevance and engagement while providing different experiences for different visitor types.
### How do workflows integrate with CRM and marketing automation systems?
Workflows connect with business systems through APIs and webhooks that synchronize visitor data, trigger automated processes, and provide engagement context for sales and marketing activities.
### Can I test different workflow variations to optimize performance?
Yes, A/B testing capabilities enable systematic testing of different workflow designs, step sequences, and content variations to identify optimal configurations based on completion rates and business outcomes.
### What happens if visitors exit workflows before completing them?
Partial workflow data can be captured and used for follow-up, though completion provides maximum value. Exit tracking helps identify bottlenecks and optimization opportunities while recovery mechanisms enable workflow continuation.
### How do workflows handle mobile devices and different screen sizes?
Workflows are optimized for mobile-first design with touch-friendly interfaces, efficient screen space usage, and responsive layouts that adapt to different device types and screen sizes.
### Can workflows be translated or localized for international campaigns?
Yes, workflows support multiple languages and can adapt content based on visitor location or preferences while maintaining consistent functionality and analytics across different localizations.
### What analytics do workflows provide beyond basic completion rates?
Workflows capture step-by-step engagement data including time spent, abandonment points, response patterns, and visitor behavior that reveals optimization opportunities and audience insights.
### How do workflows maintain security for sensitive information collection?
Workflows implement comprehensive security measures including data encryption, secure transmission, access controls, and compliance with privacy regulations while maintaining user-friendly interaction patterns.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to build a customer journey with QR codes and workflows
Source: https://linkbreakers.com/help/article/how-to-build-a-customer-journey-with-qr-codes-and-workflows
## Short answer
This article explains how to build a customer journey with qr codes and workflows with practical guidance, limits, and implementation details so you can apply it consistently.
Linkbreakers transforms simple QR code scans into complete customer journeys. Instead of redirecting visitors to a single destination, you can build multi-step experiences that capture leads, route visitors based on conditions, and optimize conversion flows, all from one scannable code.
## Quick summary
- **Capture leads** with forms that collect contact information before redirecting to content
- **Route visitors conditionally** based on time, location, device, or scan history
- **Build conversion flows** that guide visitors through qualification steps
- **Personalize destinations** to deliver the right content to the right audience
- **Track the full journey** with analytics at every step
:::try-ai-prompt {"prompt":"Build a customer journey: add a form collecting email and name, then add a country condition routing US visitors to one page and everyone else to another.","description":"Try building a multi-step customer journey with the AI builder."}:::
## The customer journey building blocks
Every journey starts with a QR code scan and ends with a destination. What happens in between is where Linkbreakers shines.
| Building Block | What It Does | Example |
|----------------|--------------|---------|
| Entry point | QR code scan triggers the workflow | Product packaging, poster, business card |
| Lead capture | Forms collect visitor information | Email, name, phone, custom fields |
| Conditions | Route visitors based on criteria | Time of day, country, first vs. repeat scan |
| Interactions | Engage visitors before redirect | Password gates, multi-link menus, contact cards |
| Destination | Final redirect to your content | Website, app store, PDF, video |
## Lead capture: Turn scans into contacts
The most common customer journey pattern captures lead information before delivering value.
**How it works**: Add a [form step](https://linkbreakers.com/help/article/how-to-create-a-form) between the scan and the destination. Visitors provide their information in exchange for access to your content.
| Journey Type | Form Fields | Destination |
|--------------|-------------|-------------|
| Content download | Email, name | PDF or document |
| Event registration | Email, name, company | Confirmation page |
| Product inquiry | Email, phone, interest | Product details |
| Newsletter signup | Email | Thank you page |
**Pro tip**: Keep forms short. Every additional field reduces completion rates. Collect only what you need.
## Conditional routing: Right content, right context
Not every visitor should see the same destination. Conditional routing lets you personalize the journey based on real-time context.
| Condition Type | Routes Based On | Use Case |
|----------------|-----------------|----------|
| [Time of day](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) | Current hour | Breakfast vs. dinner menu |
| [Day of week](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) | Weekday/weekend | Business hours vs. after-hours |
| [Country](https://linkbreakers.com/help/article/how-to-use-country-conditions) | Visitor location | Localized content, regional offers |
| [Scan history](https://linkbreakers.com/help/article/what-is-scan-rescan-condition) | First vs. repeat | Welcome message vs. loyalty offer |
| [Specific date](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) | Calendar date | Holiday promotions |
**Example flow**: A restaurant QR code checks the day (weekday vs. weekend), then checks the time (breakfast, lunch, dinner), and routes to the appropriate menu automatically.
## Conversion flows: Guide visitors to action
Combine multiple steps to create conversion flows that qualify and convert visitors.
### Lead qualification flow
```mermaid
flowchart LR
A[Scan] --> B[Form]
B --> C{Condition}
C -->|Interest A| D[Product Page A]
C -->|Interest B| E[Product Page B]
C -->|Other| F[General Page]
```
| Step | Action | Purpose |
|------|--------|---------|
| 1. Scan | Visitor scans QR code | Entry point |
| 2. Form | Collect email + interest area | Lead capture + qualification |
| 3. Condition | Route by selected interest | Personalization |
| 4. Destination | Interest-specific landing page | Relevant conversion |
### Gated content flow
```mermaid
flowchart LR
A[Scan] --> B[Password]
B -->|Correct| C[Exclusive Content]
B -->|Incorrect| D[Access Denied]
```
| Step | Action | Purpose |
|------|--------|---------|
| 1. Scan | Visitor scans QR code | Entry point |
| 2. Password | Enter access code | Access control |
| 3. Destination | Exclusive content | Value delivery |
### Event check-in flow
```mermaid
flowchart LR
A[Scan Badge] --> B[Form]
B --> C[Contact Card]
C --> D[Event Page]
```
| Step | Action | Purpose |
|------|--------|---------|
| 1. Scan | Visitor scans badge QR | Entry point |
| 2. Form | Collect attendee details | Lead capture |
| 3. Contact card | Download vCard | Networking |
| 4. Destination | Event agenda or resources | Value delivery |
## Building your first journey
### Step 1: Define your goal
| Goal | Recommended Flow |
|------|------------------|
| Collect leads | Scan → Form → Destination |
| Personalize content | Scan → Condition → Multiple destinations |
| Gate exclusive content | Scan → Password → Destination |
| Qualify prospects | Scan → Form → Condition → Targeted destinations |
### Step 2: Create your workflow
1. Go to [QR Codes](https://app.linkbreakers.com/workspace/dashboard/links) in your dashboard
2. Create a new QR code or edit an existing one
3. Open the workflow editor
4. Add steps between scan and destination
5. Connect steps with routing logic
6. Set fallback destinations for conditions
### Step 3: Test and optimize
| Metric | What to Watch |
|--------|---------------|
| Completion rate | % of visitors who finish the journey |
| Drop-off points | Steps where visitors abandon |
| Conversion rate | % who complete your goal action |
| Time to complete | How long the journey takes |
## Common journey patterns
| Industry | Journey | Steps |
|----------|---------|-------|
| Retail | Product registration | Scan → Form → Warranty page |
| Restaurant | Dynamic menu | Scan → Time condition → Menu |
| Real estate | Property inquiry | Scan → Form → Property details |
| Events | Attendee capture | Scan → Form → Contact card → Schedule |
| B2B | Lead qualification | Scan → Form → Interest condition → Sales page |
## Narrative journey example
A coffee brand prints a QR code on packaging. The first scan opens a short survey, then routes the visitor to a brewing guide. If the visitor opts in, Linkbreakers tags them and sends a follow-up offer. Repeat scans are routed directly to support and reorder links. The brand can see each step and improve the flow over time.
This is the kind of end-to-end journey workflows enable: intent captured at the scan, action measured through the funnel, and outcomes tied back to the campaign.
## Frequently asked questions
### How many steps can a journey have?
There's no hard limit, but shorter journeys have higher completion rates. Aim for 2-4 steps maximum for most use cases.
### Can I change the journey after printing QR codes?
Yes. The QR code points to your link, and you can modify the workflow anytime without reprinting.
### Do conditions work with the visitor's local time?
Yes. Time-based conditions use the visitor's device time zone, so a "lunch menu" condition shows correctly whether they're in New York or Tokyo.
### Can I combine multiple conditions?
Yes. Chain conditions together, for example, check country first, then check time of day for localized time-based routing.
### How do I track journey performance?
Every step generates [events](https://linkbreakers.com/help/article/what-are-events-in-linkbreakers) you can analyze. View completion rates, drop-offs, and conversions in your link analytics.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Why QR code tracking matters for marketing campaigns
Source: https://linkbreakers.com/help/article/why-qr-code-tracking-matters-for-marketing-campaigns
## Short answer
This article explains why qr code tracking matters for marketing campaigns with practical guidance, limits, and implementation details so you can apply it consistently.
Linkbreakers transforms QR codes from simple unmeasurable redirects into complete customer engagement systems that bridge offline touchpoints with online interactions and measure true ROI. Without platforms like Linkbreakers, QR codes provide no insight into who scanned, what they're interested in, or whether they converted. Interactive tracking through workflows and intelligent routing enables strategic optimization, budget justification, and relationship-focused follow-up that drives measurable business growth.
## How Linkbreakers enables trackable customer engagement
### From anonymous scans to known customers
Linkbreakers transforms QR codes from anonymous tracking tools into customer interaction systems. Instead of just knowing someone scanned your code, you understand who they are, what they care about, and what next experience will move the relationship forward.
**Interactive workflows capture customer identity** through forms that collect name, email, company, and context. You're not tracking anonymous visitors, you're building a relationship-ready customer record with complete attribution to specific campaigns and placements.
**Intelligent routing personalizes experiences** based on customer responses and profiles. A prospect requesting a demo gets routed to a sales workflow, while existing customers access support resources. This intelligent segmentation happens automatically while capturing complete behavioral data.
**Campaign-specific attribution** connects every interaction to exact physical touchpoints. Different QR codes for different magazine ads, event booths, or retail locations show precisely which offline investments generate the strongest engagement, not just anonymous scans.
**Conversion tracking follows the complete journey** from initial scan through form submission, interaction milestones, and final conversion. You measure actual business outcomes, customer engagement, deals closed, and revenue generated, not just scan counts.
### Comprehensive performance measurement
Industry research reveals that [62% of businesses expect increased sales by 2025 thanks to QR-driven campaigns](https://qrcodekit.com/news/qr-code-trends/), while QR-linked content drives 3-4x higher engagement rates than traditional methods, demonstrating the critical importance of proper tracking to capitalize on these performance advantages.
Cost per acquisition tracking enables direct comparison between QR code campaigns and other marketing channels. Understanding true acquisition costs helps optimize budget allocation across channels and justify continued investment in offline marketing based on proven performance data.
Customer lifetime value analysis reveals the long-term business impact of QR code campaigns beyond immediate conversions. CLV tracking often shows that offline-acquired customers demonstrate different retention patterns and value profiles compared to other acquisition channels.
Multi-touch attribution recognizes that customers often interact with multiple touchpoints before converting. QR code tracking helps identify how offline interactions contribute to conversions that occur through other channels, providing comprehensive attribution modeling.
Revenue attribution connects QR code campaigns to actual business revenue through tracking that follows visitors from initial scan through purchase completion. Revenue tracking enables sophisticated ROI analysis and strategic planning based on proven business impact.
## Campaign optimization and strategic insights
### Data-driven optimization opportunities
Performance variation analysis identifies which campaign elements drive the best results across different variables like timing, location, creative approach, or audience segments. Understanding performance patterns enables systematic optimization that improves campaign effectiveness over time.
A/B testing capabilities become possible when different QR codes can track response rates for different approaches. Testing different landing pages, offers, creative designs, or messaging strategies provides data-driven insights for optimization across future campaigns.
Audience segmentation analysis reveals which demographic, geographic, or behavioral segments respond best to QR code campaigns. Understanding audience patterns helps optimize targeting strategies and develop segment-specific approaches for maximum effectiveness.
Conversion funnel optimization identifies where visitors drop off after scanning and what workflow elements create friction. Funnel analysis helps optimize post-scan experiences and remove barriers that prevent conversions and business outcomes.
### Strategic planning and budget allocation
Historical performance data enables strategic planning based on proven campaign effectiveness rather than assumptions about offline marketing impact. Historical analysis helps identify seasonal patterns, successful approaches, and optimization opportunities for future campaigns.
Competitive intelligence emerges from tracking unusual performance patterns that might indicate competitive activity or market changes. Understanding competitive context helps optimize campaign positioning and develop differentiation strategies.
Market expansion planning uses geographic performance data to identify high-potential markets for campaign expansion or increased investment. Performance-based expansion reduces risk while maximizing opportunities for growth and market penetration.
Resource allocation optimization ensures marketing budgets flow to the highest-performing campaigns, placements, and strategies. Data-driven allocation maximizes ROI while reducing waste on underperforming marketing investments.
## Customer journey understanding and experience optimization
### Cross-channel behavior insights
Customer journey mapping becomes comprehensive when QR code interactions can be connected to other marketing touchpoints and conversion events. Understanding complete customer journeys helps optimize integrated marketing strategies and channel coordination.
Device switching behavior tracking reveals how customers move between devices throughout their journey from initial QR code scan to final conversion. Understanding device patterns helps optimize experiences across all platforms where customers might continue their journeys.
Timing analysis shows how QR code interactions influence future behavior and when delayed conversions occur through other channels. Understanding timing patterns helps optimize follow-up strategies and attribution windows for accurate performance measurement.
Channel preference identification reveals how customers prefer to engage after initial QR code scanning. Some prefer email communication, others respond to retargeting ads, and still others prefer direct website revisits. Understanding preferences helps optimize follow-up strategies.
### Behavioral pattern recognition
Engagement depth analysis reveals which visitors explore content thoroughly versus those who scan and leave quickly. Understanding engagement patterns helps identify high-quality prospects and optimize content strategies for different visitor types.
Return behavior tracking identifies visitors who engage multiple times, indicating sustained interest and relationship development potential. Repeat engagement patterns help prioritize relationship development efforts and identify high-value customer segments.
Conversion readiness indicators emerge from behavioral patterns that predict when visitors are ready for next steps in the customer journey. Understanding readiness signals helps optimize timing for sales outreach or follow-up communication.
Content preference analysis shows which post-scan information generates the deepest engagement and highest conversion rates. Understanding content effectiveness helps optimize information architecture and messaging strategies specifically for QR code traffic.
### Experience personalization opportunities
Dynamic content delivery can be optimized based on tracking data about visitor characteristics, behavior patterns, and conversion history. Behavioral tracking enables personalized experiences that increase engagement and conversion rates without manual customization.
Follow-up personalization uses QR code interaction data to customize subsequent marketing communication based on specific interests, engagement levels, and conversion actions. Personalized follow-up often generates higher response rates than generic communication.
Recommendation engines can use QR code behavior data to suggest relevant products, services, or content based on visitor interests and engagement patterns. Behavioral recommendations increase relevance while improving customer experience quality.
Lifecycle marketing optimization uses QR code tracking to understand where customers are in their journey and deliver appropriate messaging for their specific stage. Lifecycle optimization prevents inappropriate communication while ensuring timely relationship development.
## Competitive advantages and market intelligence
### Performance benchmarking capabilities
Industry comparison analysis helps understand how QR code campaigns perform relative to competitors and market standards. Benchmarking provides context for optimization goals and helps identify competitive positioning opportunities.
Best practice identification emerges from analyzing high-performing campaigns and understanding what drives success. Successful pattern recognition helps replicate effective approaches while avoiding strategies that consistently underperform.
Market trend analysis uses QR code performance data to identify changing customer preferences, behavior patterns, or market conditions that affect campaign effectiveness. Trend analysis helps adapt strategies to evolving market conditions.
Competitive response tracking identifies when competitive activity affects your QR code performance and helps develop appropriate strategic responses. Understanding competitive impact helps maintain market position and identify differentiation opportunities.
### Innovation and strategic differentiation
Technology adoption insights reveal how your audience embraces new technologies and interaction methods. Understanding technology comfort helps optimize campaign approaches and identify opportunities for innovative engagement strategies.
Customer preference evolution tracking shows how audience expectations and behaviors change over time. Understanding preference changes helps adapt strategies to maintain relevance and effectiveness as markets evolve.
Market opportunity identification uses performance data to identify underserved segments, geographic markets, or engagement approaches that competitors haven't optimized. Opportunity identification enables strategic advantages through superior execution.
Strategic positioning insights emerge from understanding how customers respond to different value propositions, messaging approaches, or engagement strategies. Positioning insights help develop competitive advantages through superior customer understanding.
## Technical and operational benefits
### Campaign management efficiency
Automated performance monitoring reduces manual effort while ensuring no optimization opportunity or technical issue goes unnoticed. Automation enables teams to focus on strategic optimization rather than routine monitoring and data collection.
Systematic testing capabilities enable continuous improvement without requiring specialized expertise or manual test management. Built-in testing infrastructure supports ongoing optimization that improves campaign effectiveness over time.
Integration with existing systems ensures QR code tracking enhances rather than complicates existing marketing operations. Seamless integration maximizes value while minimizing operational disruption and learning curves.
Scalability support enables growth from individual campaigns to enterprise-wide QR code operations without losing tracking capabilities or performance insights. Scalable tracking grows with organizational needs while maintaining consistent functionality.
### Quality assurance and risk management
Technical issue detection identifies problems that might affect campaign performance or customer experience before they significantly impact business outcomes. Early warning systems help maintain optimal campaign effectiveness and customer satisfaction.
Performance anomaly identification alerts teams to unusual patterns that might indicate opportunities, problems, or significant changes in market conditions. Anomaly detection helps teams respond quickly to changing circumstances.
Campaign validation ensures QR codes work correctly across different devices, browsers, and network conditions before launch. Validation prevents technical problems that could damage campaign effectiveness and customer relationships.
Backup and recovery capabilities protect against data loss while ensuring continuous tracking even during system maintenance or technical issues. Reliable infrastructure maintains business continuity and prevents tracking gaps.
## Real-world customer journey outcomes through tracked engagement
- **Trade show booths**: Linkbreakers workflows capture attendee contact info and qualification data, showing exactly which booth conversations turned into qualified leads and closed deals
- **Product packaging**: Track not just scans, but whether customers complete warranty registration, request support, or make repeat purchases, revealing true customer lifecycle value
- **Event marketing**: Measure which venues, time slots, or promotional offers drive highest-quality attendee registrations through multi-step qualification workflows
:::register-linkbreakers-banner {"eyebrow":"Try Linkbreakers","headline":"Track QR campaigns for strategic marketing intelligence","description":"Linkbreakers provides comprehensive tracking that bridges offline and online attribution, measures ROI, and optimizes performance for data-driven marketing success.","ctaHref":"https://app.linkbreakers.com/workspace/sign-up/wizard?ref=help-overview-tracking"}:::
## Linkbreakers tracking platform advantages
### Professional campaign attribution
The [Linkbreakers platform](https://app.linkbreakers.com/workspace/dashboard/visitors) provides enterprise-grade QR code tracking that connects offline marketing investments to measurable business outcomes. Comprehensive attribution enables accurate ROI calculation and strategic optimization based on proven performance data.
Real-time performance monitoring provides immediate visibility into campaign effectiveness without waiting for delayed reporting cycles. Live tracking enables tactical optimization and ensures teams can respond quickly to performance changes or opportunities.
Geographic intelligence reveals market performance patterns and optimization opportunities across different regions, venues, or placement types. Location insights support strategic planning and budget allocation decisions based on actual performance data.
Conversion tracking follows visitors from initial scan through complete business outcomes, enabling accurate measurement of campaign value and optimization opportunities. End-to-end tracking provides the attribution necessary for strategic decision-making.
### Advanced analytics and optimization
[Campaign organization features](https://linkbreakers.com/help/article/what-is-a-tag) enable sophisticated tracking across multiple simultaneous initiatives with clear attribution for different campaigns, creative variations, or placement strategies. Organized tracking supports complex optimization efforts and strategic planning.
A/B testing infrastructure enables systematic optimization of landing pages, offers, and user workflows with statistical significance tracking. Built-in testing capabilities support continuous improvement without external tool requirements.
Behavioral segmentation automatically groups visitors based on engagement patterns, enabling targeted optimization strategies for different audience types. Segmentation provides insights that improve overall campaign effectiveness through focused optimization.
Custom event tracking measures specific business outcomes that align with organizational objectives rather than generic engagement metrics. Custom tracking ensures measurement focuses on activities that drive actual business value.
### Integration and automation capabilities
[CRM integration](https://linkbreakers.com/help/api) ensures QR code tracking data enhances customer relationship management and enables comprehensive customer journey analysis. Integration provides unified customer understanding across all touchpoints and interaction history.
[Marketing automation connectivity](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enables QR code tracking to trigger sophisticated workflows and personalization strategies. Automation ensures tracking data immediately becomes actionable through existing marketing technology investments.
UTM parameter support maintains proper campaign attribution throughout visitor journeys, ensuring accurate measurement in Google Analytics and other web analytics platforms. Attribution continuity enables comprehensive cross-channel analysis and optimization.
Business intelligence integration provides executive-level tracking visibility within broader business performance context. Strategic dashboards help align QR code investments with overall business objectives and demonstrate value to stakeholders.
## Frequently Asked Questions
### How does QR code tracking improve ROI compared to untracked campaigns?
Tracking enables optimization based on actual performance data rather than assumptions, typically improving ROI by 25-40%. You can identify high-performing elements, eliminate waste, and optimize budget allocation based on proven results rather than guesswork.
### What's the difference between QR code tracking and traditional web analytics?
QR code tracking captures the offline-to-online transition that web analytics miss, providing attribution for physical marketing that drives digital engagement. Web analytics show what happens after visitors arrive, while QR tracking reveals how offline touchpoints generate website traffic.
### Can QR code tracking help justify offline marketing budgets?
Yes, tracking provides clear attribution between offline marketing investments and business outcomes. Understanding which offline campaigns drive leads, sales, or customer acquisition enables budget justification based on proven ROI rather than soft metrics.
### How does tracking help optimize campaign performance?
Tracking reveals which elements drive the best results across variables like timing, location, creative approach, and audience segments. Data-driven optimization helps improve scan rates, conversion rates, and overall campaign effectiveness through systematic testing and refinement.
### What attribution insights can QR code tracking provide?
Tracking provides attribution for campaign-specific performance, geographic variations, conversion pathways, and multi-touch customer journeys. Understanding attribution helps optimize media buying, creative strategies, and budget allocation for maximum effectiveness.
### How does QR code tracking support strategic planning?
Historical performance data enables strategic planning based on proven effectiveness rather than assumptions. Understanding seasonal patterns, successful approaches, and market trends helps develop strategies that maximize campaign success and business impact.
### Can tracking help identify competitive opportunities?
Yes, tracking reveals performance patterns and market responses that might indicate competitive gaps or opportunities. Understanding audience behavior and market trends helps develop competitive advantages through superior campaign execution.
### What technical benefits does tracking provide?
Tracking includes automated monitoring, technical issue detection, performance validation, and system integration capabilities. These technical benefits ensure optimal campaign performance while reducing manual management overhead.
### How does tracking improve customer experience?
Tracking data enables optimization of post-scan experiences, personalization strategies, and follow-up communication. Understanding visitor behavior helps remove friction points and deliver more relevant, valuable experiences that improve customer satisfaction.
### What's required to implement effective QR code tracking?
Implement proper tracking parameters, configure analytics platforms, set up [campaign organization systems](https://linkbreakers.com/help/article/what-is-a-tag), and ensure mobile optimization for tracking interfaces. Professional platforms provide comprehensive tracking without complex technical setup requirements.
## The strategic imperative of QR code tracking
QR code tracking transforms marketing from guesswork into strategic, data-driven optimization that demonstrates clear business value. Organizations that implement comprehensive tracking gain competitive advantages through attribution, optimization, and customer understanding that drives measurable growth.
The absence of tracking leaves massive blind spots in marketing attribution and optimization opportunities. Without tracking, QR codes remain simple redirects that provide no insight into effectiveness, audience behavior, or business impact, making strategic optimization impossible.
Modern businesses recognize tracking as essential infrastructure for measurable marketing that connects all activities to business outcomes. The ability to track, analyze, and optimize provides strategic advantages that justify continued investment while maximizing return on marketing spend.
Success in QR code marketing requires tracking systems that provide actionable insights rather than vanity metrics. Strategic tracking provides the foundation for optimization, attribution, and customer understanding that drives sustainable business growth through informed decision-making.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How QR codes help you understand real user behavior
Source: https://linkbreakers.com/help/article/how-qr-codes-help-you-understand-real-user-behavior
## Short answer
This article explains how qr codes help you understand real user behavior with practical guidance, limits, and implementation details so you can apply it consistently.
Linkbreakers transforms QR codes into behavioral intelligence systems by capturing not just who scanned, but how customers engage, what they're interested in, and what actions they take. Through interactive workflows and intelligent routing, you gain insights into customer decision-making processes and preferences that traditional analytics completely miss. This deep behavioral understanding enables businesses to personalize experiences, qualify leads, and predict customer intent based on actual interactions rather than assumptions.
## How Linkbreakers captures behavioral intelligence
### Interactive workflows reveal customer intent
Unlike passive QR tracking, Linkbreakers uses interactive workflows to actively understand customer behavior. When customers scan your code, they don't just visit a page, they engage with forms, answer questions, and make choices that reveal their intentions and qualifications.
**Form interaction patterns** show which information customers willingly provide, what questions create friction, and how engagement depth correlates with conversion quality. This reveals true interest levels beyond passive browsing.
**Workflow pathway choices** track which branches customers take when presented with options. Do they request a demo or download a guide? Do they identify as existing customers or new prospects? These decisions qualify leads in real-time.
**Engagement timing analysis** reveals when customers are most likely to engage with QR codes and complete workflows, providing insights into decision-making rhythms and optimal campaign timing.
**Geographic and device patterns** show how physical environment and technology preferences influence customer engagement, helping you optimize experiences for actual usage contexts rather than assumptions.
### Conversion pathway intelligence through workflows
Linkbreakers' multi-step workflows create measurable conversion funnels that reveal exactly how customers make decisions:
**Step-by-step progression tracking** shows which workflow stages customers complete versus where they drop off. Did they start the form but abandon at the phone number field? This pinpoints exactly where friction occurs.
**Conditional branching insights** reveal how different customer segments behave when presented with personalized paths. Existing customers might skip to support resources while prospects engage with demo requests.
**Multi-visit behavior patterns** track customers who scan multiple times before taking action, revealing extended consideration processes. Linkbreakers identifies these return visitors and can adjust their experience based on previous interactions.
**Completion versus abandonment analysis** shows not just that someone left, but at which exact step and after which specific interaction. This granular data enables precise workflow optimization.
### Social and contextual behavior indicators
Group versus individual engagement patterns emerge when QR codes are placed in social environments where multiple people might influence scanning decisions. Understanding social dynamics helps optimize placement and messaging for different engagement contexts.
Sharing behavior tracking identifies when customers share QR code destinations or encourage others to scan codes. Sharing patterns reveal content value and viral potential while identifying customers who might become brand advocates.
Return engagement frequency shows whether QR codes generate one-time interactions or ongoing relationships. Repeat engagement patterns help identify high-value customers and optimize relationship development strategies.
Seasonal behavior variations reveal how customer engagement changes throughout the year based on shopping patterns, environmental factors, or business cycles. Understanding seasonal variations helps optimize campaign timing and messaging strategies.
## Customer journey mapping through QR code interactions
### Cross-channel behavior tracking
Device switching analysis identifies when customers scan QR codes on mobile devices but continue engagement on desktop computers or tablets. Understanding device transitions helps optimize experiences across all platforms where customers might continue their journeys.
Channel preference identification reveals how customers prefer to engage after initial QR code scanning. Some customers prefer email communication, others respond to retargeting ads, and still others prefer direct website revisits. Understanding preferences helps optimize follow-up strategies.
Touchpoint sequence analysis shows how QR code interactions fit within complete customer journeys that include multiple marketing channels and engagement points. Understanding touchpoint relationships helps optimize channel coordination and messaging consistency.
Attribution analysis reveals how QR code scans contribute to conversions that occur through other channels, demonstrating the role of physical marketing in digital conversion processes. Attribution insights help optimize integrated marketing strategies and budget allocation.
### Behavioral segmentation and profiling
Recent research shows that [95% of businesses find QR codes useful for collecting first-party data](https://pageloot.com/blog/dynamic-qr-codes-what-data-is-collected/), with 49% gathering data from over 10,000 customer interactions, demonstrating the significant behavioral intelligence opportunities available through systematic QR code implementation.
Engagement depth segmentation groups customers based on how thoroughly they explore content after scanning QR codes. Deep explorers often represent higher-quality prospects compared to quick browsers who scan and leave immediately.
Interest category analysis reveals what topics and information generate the most engagement from different customer segments. Understanding interest patterns helps optimize content strategies and develop segment-specific messaging approaches.
Conversion readiness identification analyzes behavior patterns that indicate when customers are ready for sales outreach or next steps in the buying process. Understanding readiness signals helps optimize communication timing and sales strategy.
Value development tracking follows how customer engagement evolves over time from initial QR code scan through ongoing relationship development. Understanding value progression helps optimize customer development strategies and resource allocation.
### Predictive behavior modeling
Purchase intent prediction uses QR code engagement patterns to identify customers likely to make purchases based on behavior similarities to previous converters. Predictive modeling helps prioritize sales efforts and optimize resource allocation.
Churn risk identification analyzes engagement patterns that precede customer disengagement, enabling proactive retention efforts. Understanding churn indicators helps maintain valuable customer relationships and prevent revenue loss.
Lifetime value forecasting uses initial QR code behavior to predict long-term customer worth and relationship potential. LTV prediction helps optimize acquisition strategies and relationship development investments for maximum return.
Next action prediction anticipates what customers are likely to do next based on their QR code behavior patterns and engagement history. Action prediction helps optimize follow-up strategies and content delivery for maximum effectiveness.
## Optimization strategies based on behavioral insights
### Content and experience personalization
Dynamic content delivery uses behavioral insights to customize post-scan experiences based on customer preferences, engagement patterns, and predicted interests. Behavioral personalization increases relevance and engagement without requiring explicit customer input.
Progressive disclosure strategies reveal information gradually based on customer engagement depth and interest indicators. Understanding behavior helps determine optimal information architecture that accommodates different engagement levels and preferences.
Communication optimization adapts messaging, timing, and channel selection based on individual customer behavior patterns and preferences. Behavioral insights help deliver more relevant, effective communication that respects customer preferences.
Product recommendation engines use QR code behavior data to suggest relevant offerings based on engagement patterns and interest indicators. Behavioral recommendations increase relevance while improving customer experience and business outcomes.
### Targeting and segmentation optimization
Audience refinement uses behavioral insights to identify high-value customer segments and optimize targeting strategies for different behavior types. Understanding behavior patterns helps focus marketing efforts on the most promising prospects.
Look-alike modeling identifies potential customers who share behavioral characteristics with successful converters. Behavioral modeling helps expand successful customer acquisition while maintaining conversion quality and efficiency.
Geographic optimization uses location-based behavior patterns to identify high-performing markets and optimize placement strategies. Behavioral geography helps allocate resources where they generate the best results.
Timing optimization adapts campaign scheduling based on behavioral patterns that reveal when different customer segments are most responsive. Understanding timing preferences helps maximize engagement effectiveness.
### Product and service development insights
Feature prioritization uses customer behavior data to identify which capabilities and improvements would generate the most user value. Behavioral insights help prioritize development resources based on actual customer needs and preferences.
User experience optimization adapts interface design and interaction flows based on how customers actually navigate and engage with post-scan experiences. Behavioral UX optimization improves usability and conversion rates.
Pricing strategy optimization uses behavior data to understand price sensitivity and willingness to pay across different customer segments. Behavioral pricing insights help optimize revenue while maintaining customer satisfaction.
Service delivery optimization adapts support processes and communication based on customer behavior patterns and preference indicators. Behavioral service optimization improves customer satisfaction while reducing support overhead.
## Advanced behavioral analysis techniques
### Cohort and longitudinal analysis
Time-based cohort tracking groups customers by when they first scanned QR codes and tracks their behavior evolution over time. Cohort analysis reveals how engagement patterns develop and what factors influence long-term customer value.
Behavioral cohort analysis segments customers based on their actions after scanning and tracks how different behavior types evolve. Understanding behavioral development helps optimize customer journey design and relationship development strategies.
Retention analysis uses QR code behavior data to understand what keeps customers engaged over time and what factors contribute to disengagement. Retention insights help optimize customer success strategies and reduce churn.
Value progression tracking follows how customer worth increases over time from initial QR code interaction through ongoing business relationship. Understanding value development helps optimize customer growth strategies and resource allocation.
### Statistical and machine learning analysis
Correlation analysis identifies relationships between different behavioral variables and business outcomes. Statistical analysis reveals which behaviors most strongly predict success and should be optimized or encouraged.
Clustering algorithms automatically group customers based on behavioral similarities without predefined segments. Machine learning clustering reveals natural customer groups that might not be apparent through traditional demographic analysis.
Predictive modeling uses historical behavior patterns to forecast future customer actions and outcomes. Advanced modeling helps anticipate customer needs and optimize proactive engagement strategies.
A/B testing uses behavioral insights to design experiments that optimize specific aspects of customer experience and engagement. Behavioral testing ensures optimization efforts focus on changes that actually improve customer outcomes.
### Integration with business intelligence
Customer lifetime value analysis integrates QR code behavior data with financial outcomes to understand the long-term value of different behavior patterns. CLV analysis helps optimize acquisition and development strategies for maximum return.
Revenue attribution connects behavioral patterns to actual business outcomes and revenue generation. Understanding behavior-revenue relationships helps optimize strategies for maximum business impact.
Competitive analysis uses behavioral insights to understand how customers respond to different value propositions and competitive positioning. Behavioral competitive intelligence helps develop differentiation strategies and market positioning.
Strategic planning integrates behavioral insights with broader business objectives and market analysis. Understanding customer behavior helps inform strategic decisions about product development, market expansion, and competitive positioning.
## Interactive behavior funnels with Linkbreakers
Linkbreakers enables sophisticated multi-step funnels that go beyond passive page views:
1. **QR Scan** → 2. **Welcome screen interaction** → 3. **Form field completion** → 4. **Qualification questions** → 5. **Personalized redirect** → 6. **CRM integration**
Each step captures behavioral data that builds a complete customer profile. You can see exactly where engagement drops and which paths drive the highest-quality conversions.
## Real-world behavioral insights with Linkbreakers
- **Trade show booths**: Track which visitors provide contact info versus those who just browse, identifying high-intent prospects who complete qualification workflows
- **Product packaging**: See whether customers engage with warranty registration forms, support workflows, or repurchase offers, revealing intent and customer lifecycle stage
- **Event registration**: Measure which attendees complete full profile forms versus minimal registration, predicting engagement levels and VIP potential
:::register-linkbreakers-banner {"eyebrow":"Try Linkbreakers","headline":"Understand user behavior with advanced QR analytics","description":"Linkbreakers reveals deep customer insights through behavioral tracking, journey mapping, and predictive analytics that drive strategic decision-making.","ctaHref":"https://app.linkbreakers.com/workspace/sign-up/wizard?ref=help-overview-behavior"}:::
## Linkbreakers behavioral analytics capabilities
### Comprehensive behavior tracking
The [Linkbreakers platform](https://app.linkbreakers.com/workspace/dashboard/visitors) provides sophisticated behavioral analytics that reveal customer decision-making processes, engagement patterns, and preference indicators. Advanced behavioral tracking captures complete customer journeys from initial scan through conversion outcomes.
Real-time behavior monitoring shows customer engagement patterns as they develop, enabling immediate insights into customer preferences and optimization opportunities. Live behavioral data supports tactical optimization and helps teams respond quickly to customer behavior changes.
Geographic behavior analysis reveals how location influences customer actions and decisions. Understanding geographic behavior patterns helps optimize placement strategies and develop location-specific engagement approaches for maximum effectiveness.
Device behavior tracking shows how customer technology preferences affect engagement patterns and conversion outcomes. Understanding device behavior helps optimize experiences for actual customer capabilities and preferences rather than assumptions about technology usage.
### Advanced segmentation and analysis
[Behavioral segmentation tools](https://linkbreakers.com/help/article/what-is-a-tag) automatically group customers based on engagement patterns, conversion behaviors, and interaction characteristics. Intelligent segmentation reveals customer types and optimization opportunities without manual analysis.
Predictive behavior modeling uses machine learning to anticipate customer actions based on historical patterns and current engagement indicators. Predictive insights help optimize proactive customer engagement and resource allocation strategies.
Customer journey mapping tracks complete behavior sequences from initial QR code scan through final business outcomes. Journey analysis reveals optimization opportunities and helps improve customer experience design across all touchpoints.
Conversion pathway analysis identifies behavior patterns that lead to successful outcomes versus those that result in abandonment. Understanding conversion behaviors helps optimize customer experiences for maximum business impact.
### Integration and automation capabilities
[CRM integration](https://linkbreakers.com/help/api) enhances customer profiles with behavioral insights from QR code interactions. Integration provides comprehensive customer understanding that improves relationship management and sales strategy development.
[Marketing automation connectivity](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enables behavioral insights to trigger personalized communication and engagement strategies. Automation ensures behavioral data immediately improves customer experiences and relationship development.
Business intelligence integration provides behavioral insights within broader strategic context for executive decision making. BI integration helps align customer behavior understanding with overall business objectives and strategic planning.
Custom analytics development enables organizations to analyze customer behavior within their specific industry context and business requirements. Custom analysis ensures behavioral insights address actual business needs and optimization opportunities.
## Frequently Asked Questions
### What types of user behavior can QR codes reveal?
QR codes reveal engagement timing, content preferences, decision-making sequences, device usage patterns, location influences, social behaviors, and conversion pathways. They capture behavior at the intersection of physical and digital experiences that other analytics methods miss.
### How do I identify high-value customers through QR code behavior?
Look for deep content exploration, repeat engagement, long session durations, progression through conversion funnels, and sharing behaviors. Customers who show sustained engagement and multiple interactions often represent higher value segments.
### Can QR code behavior predict future customer actions?
Yes, behavioral patterns like exploration depth, repeat engagement, and conversion pathway progression often correlate with future purchase behavior and customer lifetime value. Historical behavior analysis helps predict customer readiness and appropriate engagement strategies.
### How do I use behavioral insights to improve conversion rates?
Analyze where customers drop off in conversion processes, what content generates deepest engagement, and which behavioral patterns precede successful conversions. Use these insights to optimize content, streamline workflows, and personalize experiences for different behavior types.
### What's the difference between QR code behavior and web analytics behavior?
QR code behavior captures intentional engagement decisions in physical environments and the transition to digital experiences. Web analytics show digital-only behavior while QR codes reveal how physical context influences digital engagement and decision-making.
### How do I segment customers based on QR code behavior?
Group customers by engagement depth, conversion actions, repeat visits, content preferences, geographic patterns, and device usage. [Behavioral segmentation tools](https://linkbreakers.com/help/article/what-is-a-tag) help create meaningful customer groups for targeted optimization.
### Can behavioral insights help with product development?
Yes, customer behavior reveals feature preferences, usability patterns, information needs, and service expectations. Understanding how customers actually engage with your offerings helps prioritize development efforts and improve product-market fit.
### How do I track behavior across multiple QR code interactions?
Use device fingerprinting and consent-based tracking to connect multiple scans from the same customer. [Campaign organization systems](https://linkbreakers.com/help/article/what-is-a-tag) help track behavior patterns across different campaigns and touchpoints.
### What privacy considerations apply to behavioral analysis?
Comply with privacy regulations like GDPR and CCPA when analyzing customer behavior. Implement consent management, provide clear privacy notices, and focus on aggregate behavioral patterns when possible to minimize privacy concerns.
### How do I turn behavioral insights into actionable business strategies?
Connect behavior patterns to business outcomes like conversion rates, customer lifetime value, and revenue generation. Use behavioral insights to optimize customer experiences, improve targeting strategies, and develop products that align with actual customer preferences.
## Transforming customer understanding through behavioral intelligence
QR codes provide unprecedented insights into customer behavior that bridges physical and digital experiences, revealing decision-making processes and preferences that traditional analytics cannot capture. Organizations that master behavioral analysis gain competitive advantages through customer understanding that enables sophisticated personalization and optimization strategies.
The key to successful behavioral analysis lies in connecting QR code interactions to broader customer journeys and business outcomes. Understanding behavior patterns helps businesses optimize not just QR code campaigns, but entire customer experiences that drive long-term relationships and business value.
Modern businesses recognize behavioral intelligence as essential for customer-centric strategy development that delivers relevant experiences while driving measurable business outcomes. The ability to understand, predict, and respond to customer behavior provides strategic advantages in increasingly competitive markets.
Success in behavioral analysis comes from implementing systematic tracking and analysis processes that provide actionable insights rather than overwhelming data volumes. Strategic behavioral understanding provides the foundation for customer experiences that drive business growth and competitive differentiation.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What is a visitor journey?
Source: https://linkbreakers.com/help/article/what-is-a-visitor-journey
## Short answer
A visitor journey in Linkbreakers is the record of how far one visit (a scan or a click) got through a link's [workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation). For each visit, Linkbreakers stores how many of the workflow's steps the visitor reached, how many steps were on their path to an exit, and whether they reached the end.
The journey is a fact about the visit. It is not a score and not a judgment of the visitor. You decide what "qualified" means by designing the workflow steps, and the journey tells you how far each visitor went through them.
## Quick summary
- Every visit records steps reached, steps on the path, and whether the visitor reached an exit
- Conditions are not counted because visitors never see them
- The dashboard Live view shows a "Journey" column with a progress wheel
- CSV exports include `journey_steps_reached`, `journey_steps_total`, `journey_completed`, and `journey_progress`
- Webhooks, Slack notifications, the API, and the MCP server all carry the same journey data
## Understanding the journey
### What the journey measures
A link's workflow is a sequence of steps such as forms, password gates, multi-link pages, and contact cards, ending in an exit (the final destination). Each visit follows one path through that workflow. The journey records three facts about that visit:
| Field | What it means |
|-------|---------------|
| **Steps reached** | How many steps of the workflow the visitor reached during this visit |
| **Steps total** | How many steps were on the visitor's path to an exit |
| **Completed** | Whether the visitor reached the end of the workflow (an exit) |
Conditions (country, device, time, scan/rescan, visitor data) route visitors between steps, but visitors never see them, so they are not counted as steps.
### Why it is not a score
The journey does not rate visitors, predict conversion, or weigh signals. Two visits that both stop at step 2 of 5 have the same journey, whatever device or location they came from. What makes a visitor a good lead is up to you: the [visitor](https://linkbreakers.com/help/article/what-is-a-visitor-in-qr-analytics-and-why-it-matters) record holds the free key/value attributes your workflow collects, and the steps you put on each link decide what a visitor must do to get through.
## Where to find the journey
### In the dashboard
The Live view has a "Journey" column with a progress wheel for each visit. The wording reads like this:
- "Reached the end · 4 of 4 steps"
- "Stopped at step 2 of 5"
- "No steps recorded for this visit yet"
### In CSV exports
Event CSV exports include four journey columns:
| Column | Content |
|--------|---------|
| `journey_steps_reached` | Steps reached during the visit |
| `journey_steps_total` | Steps on the visitor's path to an exit |
| `journey_completed` | Whether the visitor reached an exit |
| `journey_progress` | Progress as a percentage from 0 to 100 |
### In webhooks
Each event payload sent by [webhooks](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) carries a `journey` object:
```json
{
"journey": {
"stepsReached": 2,
"stepsTotal": 5,
"completed": false
}
}
```
### In Slack notifications
Slack notifications include a journey line, for example "Journey: Stopped at step 2 of 5" or "Journey: Reached the end · 4 of 4 steps".
### In the API and MCP server
Request events with the journey included:
```bash
GET /v1/events?include=journey
```
Each [event](https://linkbreakers.com/help/article/what-is-an-event-in-linkbreakers) then returns a `journey` object with `stepsReached`, `stepsTotal`, and `completed`. The same data is available through the MCP server with the `events_list` tool and the journey include.
## Using the journey in practice
### Qualify visitors with workflow steps
Put the questions that matter to you on the link's workflow: a form that asks for company size, a step that only serious prospects will go through, a password gate for invited guests. A visitor who reached the end has gone through every step you put on their path.
### Spot where visitors drop off
"Stopped at step 2 of 5" tells you exactly where a visit ended. When many visits stop at the same step, that step is the one to shorten, reword, or move. For aggregated drop-off per step, see [how to measure QR code funnel performance](https://linkbreakers.com/help/article/how-to-measure-qr-code-funnel-performance-and-roi).
### Route follow-up with automation
Because webhooks, Slack, and the API carry `completed` and the step counts, your own tools can act on them. For example, a Zapier filter can send visits that reached the end to your CRM and send visits that stopped early to a retargeting list.
## Frequently Asked Questions
### Is the journey a score?
No. Linkbreakers does not score or rank visitors. The journey only records how far a visit got through the workflow. Qualification comes from the steps you design and the attributes you collect.
### Why are conditions not counted?
Conditions route visitors silently and are never shown to them, so counting them would make progress look different for visitors who saw the same pages.
### Why does "steps total" differ between visits on the same link?
Steps total counts the steps on that visitor's path to an exit. If conditions send visitors down different branches, each branch can have a different number of steps.
### What does "No steps recorded for this visit yet" mean?
The visit exists but no workflow step has been recorded for it yet.
### Can I export journey data?
Yes. Event CSV exports include `journey_steps_reached`, `journey_steps_total`, `journey_completed`, and `journey_progress`, and the API returns the journey with `include=journey`.
### What's the difference between a journey and a visitor profile?
A [visitor profile](https://linkbreakers.com/help/article/what-is-a-visitor-in-qr-analytics-and-why-it-matters) holds identity and attributes across visits. A journey belongs to one visit of one link. A visitor who scans three times has three journeys.
## Limits and caveats
- The journey describes one visit, not the visitor across all visits.
- Conditions are not counted as steps.
- The journey is not a score, a ranking, or a prediction of conversion.
---
# How do QR codes work?
Source: https://linkbreakers.com/help/article/how-do-qr-codes-work
## Short answer
This article explains how QR codes work with practical guidance, limits, and implementation details so you can apply it consistently.
In Linkbreakers, a QR code is the visual representation of a [smart link](https://linkbreakers.com/help/article/whats-a-link) that does far more than simple redirects. When someone scans your QR code, they access a fully tracked, interactive experience that can include forms, workflows, and comprehensive analytics that transform anonymous scans into actionable business intelligence.
The link is the object you create and manage in the dashboard under **Configure → Links**; the QR code is generated from it and can be restyled at any time without affecting the link or its analytics. See [How to manage your links in Linkbreakers](https://linkbreakers.com/help/article/how-to-manage-your-links-in-linkbreakers).
## Quick summary
- Understand that QR codes are scannable representations of intelligent links with tracking capabilities
- Access comprehensive analytics including visitor profiles, location data, and device information
- Enable interactive workflows with forms, password protection, and multi-step visitor journeys
- Update destinations dynamically without reprinting QR codes or redistributing materials
- Customize visual design with colors, logos, and branding while maintaining scanning reliability
- Integrate with business systems through APIs and webhooks for automated processes
## What happens when someone scans a QR code?
When a visitor scans your QR code, Linkbreakers captures comprehensive information about the interaction while seamlessly directing them through your configured experience.
### Automatic data collection
Every scan automatically captures technical and behavioral data:
- **Device information** including type, brand, operating system, and browser details
- **Geographic location** derived from IP address showing country, region, and city
- **Timing data** recording exactly when the scan occurred with timezone information
- **Network details** revealing ISP and connection characteristics
- **[Visitor profiles](https://linkbreakers.com/help/article/what-is-a-visitor-in-qr-analytics-and-why-it-matters)** tracking repeat scans and building engagement histories
This data collection happens instantly and transparently, providing you with insights about campaign performance and audience characteristics without requiring any visitor action.
### Interactive workflow processing
Beyond simple redirects, QR codes can trigger sophisticated interactive experiences:
- **Form collection** gathering contact information, preferences, and qualification data
- **Password protection** securing content for authorized audiences only
- **Multi-link pages** offering visitors multiple destination choices from a single QR code
- **Conditional logic** routing visitors to different destinations based on their responses or characteristics
- **Multi-step sequences** guiding visitors through complex journeys before reaching final destinations
These [workflow capabilities](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) transform static QR codes into dynamic engagement platforms that collect data and qualify leads while maintaining smooth user experience.
## The relationship between QR codes and links
Every QR code contains a link, but the QR code itself is just the visual gateway to that link's capabilities.
### Visual representation
The QR code is a scannable matrix that encodes your link URL, enabling visitors to access digital content without typing. The visual pattern contains all the information needed to redirect smartphones to your configured experience.
### Link independence
The underlying link exists independently of the QR code, meaning:
- You can share the link directly through digital channels while maintaining the same analytics
- Multiple QR codes can point to the same link for different physical locations
- The link tracks all access regardless of entry method (QR scan or direct visit)
- Analytics combine data from both scanning and direct link access
This independence provides flexibility in how you deploy campaigns across physical and digital channels while maintaining unified tracking and reporting.
### Dynamic destination management
Because the QR code points to a link rather than directly to a final destination, you can:
- **Update destinations** without reprinting QR codes or redistributing materials
- **Modify workflows** by adding or removing form steps and interactive elements
- **Adjust targeting** by changing conditional logic or geographic routing
- **Fix broken links** immediately when destination websites change or become unavailable
This flexibility proves invaluable for long-term campaigns on printed materials where reprinting would be costly or impossible.
## QR code customization and branding
QR codes can be fully customized to match your brand while maintaining perfect scanning reliability.
### Visual design options
Customize appearance through comprehensive design features:
- **Color customization** using brand colors for foreground and background elements
- **Logo integration** embedding brand marks in the QR code center
- **Shape modifications** changing dot patterns and corner styles to reflect brand personality
- **[Template systems](https://linkbreakers.com/help/article/whats-a-qr-code-template)** using pre-designed options optimized for scanning and aesthetics
These customization options ensure QR codes enhance marketing materials rather than disrupting them, creating cohesive brand experiences that build recognition and trust.
### Scanning reliability
Visual customization maintains technical reliability through:
- **Contrast validation** ensuring sufficient difference between elements for reliable detection
- **Error correction** leveraging built-in capabilities that allow significant customization
- **Size optimization** generating appropriate resolutions for different physical applications
- **Testing automation** verifying scanning performance before deployment
Linkbreakers automatically optimizes designs to balance aesthetic appeal with scanning functionality, ensuring codes work reliably across diverse devices and conditions.
## Analytics and business intelligence
QR codes serve as data collection engines that transform anonymous scans into comprehensive business intelligence.
### Visitor tracking
Track comprehensive visitor information including:
- **Individual profiles** aggregating multiple scans from the same person over time
- **Geographic distribution** revealing where campaigns achieve strongest engagement
- **Device preferences** showing which platforms your audience uses most
- **Behavioral patterns** analyzing engagement depth and return visit frequency
- **[Visitor journeys](https://linkbreakers.com/help/article/what-is-a-visitor-journey)** showing how far each visitor got through the workflow
This visitor intelligence supports strategic decision making and campaign optimization across marketing portfolios.
### Performance measurement
Analyze campaign effectiveness through:
- **Scan volume tracking** monitoring total interactions over time
- **Conversion funnel analysis** measuring progression through workflow steps
- **Geographic performance** comparing engagement across different locations
- **Time-based patterns** identifying when audiences engage most actively
- **Cross-campaign insights** understanding how different QR codes perform relative to each other
These analytics capabilities transform QR codes from simple redirects into strategic marketing assets that provide ongoing optimization insights.
## Integration with business systems
QR codes connect with broader business systems through comprehensive integration capabilities.
### Webhook notifications
Trigger automated processes when scans occur:
- **CRM updates** creating or updating contact records based on form submissions
- **Marketing automation** initiating email sequences or advertising campaigns
- **Sales alerts** notifying teams of high-value prospect interactions
- **Custom integrations** connecting with any system that accepts webhook notifications
[Webhooks](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) enable real-time response to visitor engagement without manual intervention.
### API access
Programmatically manage QR codes and retrieve analytics through:
- **Automated creation** generating QR codes systematically for large campaigns
- **Data export** retrieving scan analytics for business intelligence systems
- **Configuration management** updating destinations and workflows programmatically
- **Custom development** building specialized integrations for unique business requirements
API access enables sophisticated automation and integration scenarios that scale with business growth.
## Frequently Asked Questions
### Can I update where a QR code goes after printing?
Yes. QR codes point to links that can be updated at any time. Change destinations, add workflows, or modify experiences without reprinting physical materials.
### How do QR codes track visitors while maintaining privacy?
QR codes collect technical information necessary for functionality while requiring explicit consent for personal data through forms. All collection follows privacy regulations and visitor preferences.
### What makes Linkbreakers QR codes different from free generators?
Linkbreakers QR codes include comprehensive analytics, interactive workflows, dynamic destination management, and business system integration that free generators don't provide.
### Can I customize QR code appearance without affecting scanning?
Yes. The design system automatically validates customization to ensure scanning reliability while enabling complete visual customization including colors, logos, and shapes.
### Do QR codes work offline or require internet connection?
Scanning requires internet connection to access the link and capture analytics. The QR code itself contains only the URL, not the destination content.
### How do workflows integrate with QR codes?
QR codes can trigger multi-step workflows including forms, authentication, and conditional logic before reaching final destinations, enabling sophisticated visitor experiences.
### What analytics do QR codes provide?
QR codes provide visitor profiles, geographic insights, device information, engagement depth, behavioral patterns, visitor journeys, and comprehensive performance metrics.
### Can I use the same link for multiple QR codes?
Yes. Multiple QR codes can point to the same link, useful for testing different designs or deploying codes across multiple physical locations while maintaining unified analytics.
### How long do QR codes remain functional?
QR codes work indefinitely as long as the underlying link remains active. There's no expiration unless you explicitly delete the link or deactivate the campaign.
### What happens if my destination website goes down?
The link remains functional and continues tracking scans. You can immediately update the destination to a working URL while your main site is repaired, ensuring professional visitor experience.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Dynamic vs Static QR Codes: Key Differences and When to Use Each
Source: https://linkbreakers.com/help/article/dynamic-vs-static-qr-codes-key-differences
## Short answer
A static QR code encodes a destination URL permanently into the visual pattern — once printed, the destination cannot be changed and no scan data is collected. A dynamic QR code encodes a short redirect link instead; the actual destination lives on a server and can be updated at any time without reprinting. Dynamic QR codes also capture analytics: when, where, and on what device each scan happened.
If you are printing QR codes for anything beyond a one-time throwaway use, dynamic is almost always the right choice.
## How each type works
### Static QR codes
When you generate a static QR code, the full destination URL — for example `https://example.com/product-page` — is encoded directly into the black-and-white matrix. The longer the URL, the denser and more complex the code pattern becomes. Scanners read the pattern and go directly to that URL. Nothing else happens.
There is no server involved, no redirect, and no data collected. The code will work as long as the destination URL stays live, even if the generating service shuts down.
### Dynamic QR codes
A dynamic QR code encodes a short intermediate URL, such as `https://lb.link/abc123`. When someone scans it, their device hits that redirect server, which:
1. Logs the scan event (timestamp, device type, OS, browser, approximate location from IP)
2. Evaluates any workflow rules you have set (e.g., send iOS users to the App Store, Android to Google Play)
3. Redirects the visitor to the current destination URL
Because the short link is what's in the code — not the final URL — you can change the destination at any time from your dashboard. The printed code stays exactly the same.
## Feature comparison
| Feature | Static | Dynamic |
|---|---|---|
| Destination editable after printing | No | Yes |
| Scan count tracking | No | Yes |
| Location and device analytics | No | Yes |
| Visitor identification (returning scans) | No | Yes |
| Conditional routing (device, time, country) | No | Yes |
| Form collection at scan | No | Yes |
| Works without internet connection | Technically yes* | No |
| Cost | Free (most generators) | Paid plan required |
| Code density for long URLs | High (harder to scan) | Low (short URL stays compact) |
*The code encodes a URL, but navigating to a destination still requires connectivity.
## When static QR codes make sense
Static codes are appropriate when:
- **The destination will never change.** A QR code linking to a permanent Wikipedia page or a document you control and will never move.
- **No tracking is needed.** Personal use, internal documents, or contexts where scan analytics have no value.
- **You need offline resilience.** In theory, any scanner can decode a static code without internet — though reaching the destination still requires connectivity.
- **One-time print runs with zero budget.** Free generators produce usable static codes instantly.
## When dynamic QR codes are necessary
Use dynamic codes when:
- **You are printing materials at any scale.** If a URL changes or goes down after you print 5,000 brochures, a static code is permanently broken. A dynamic code lets you fix it in seconds.
- **You need to measure campaign performance.** Which poster drove more scans? Which city responded to the promotion? Static codes cannot answer these questions.
- **You are running A/B tests or seasonal promotions.** Swap landing pages, offers, or destinations without reprinting.
- **You want to route visitors differently.** Send mobile users to an app store link, desktop visitors to a web page, and repeat visitors to a loyalty flow — all from the same printed code. See [how workflows work in Linkbreakers](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation).
- **You are collecting leads.** A [QR code landing page](https://linkbreakers.com/help/article/what-is-a-qr-code-landing-page) with a form requires a dynamic link to capture and store submissions.
## URL length and code complexity
One underappreciated practical reason to use dynamic codes: URL length directly determines how dense a QR code pattern needs to be. A long URL like `https://yoursite.com/campaign/summer-2026/product?utm_source=flyer&utm_medium=print&utm_campaign=citywide` generates a visually busy, hard-to-scan code — especially if you also want a logo or color customization.
A dynamic code always encodes a short URL (typically 15–20 characters), keeping the pattern clean and scannable regardless of how complex the eventual destination is.
For best practices on making codes scannable at any size, see [QR code scanability best practices](https://linkbreakers.com/help/article/qr-code-scanability-best-practices-contrast-readability-optimization).
## Limits and caveats
**Dynamic codes depend on the redirect service staying live.** If the platform hosting your short link shuts down, existing codes stop working. This is why choosing a reliable provider matters for long-lived print materials. Linkbreakers publishes its [reliability and uptime commitments](https://linkbreakers.com/help/article/what-is-linkbreakers-reliability-and-uptime).
**Analytics require a scan through the redirect server.** If a user opens the encoded URL directly (by copying it from their browser history, for example) rather than scanning, that hit may not be attributed to the QR code scan in all platforms.
**IP-based location is approximate.** Dynamic QR codes infer location from the scanner's IP address, which reflects the ISP's geography rather than exact GPS coordinates. City-level accuracy is typical; street-level is not. See [what location data QR codes actually show](https://linkbreakers.com/help/article/does-a-qr-code-show-location-accuracy-limits-and-examples).
**Free dynamic plans often cap scan volume.** If you expect more than a few thousand scans per month, check your plan's limits before deploying at scale.
## Frequently asked questions
### Can I convert a static QR code to dynamic?
No. A static QR code has a fixed destination baked into the pattern — there is no mechanism to change what it encodes after it has been generated. To switch to dynamic, you need to generate a new dynamic code and reprint or redistribute it.
### Do dynamic QR codes expire?
They expire only if your account becomes inactive or your subscription lapses, depending on the provider. Linkbreakers codes remain active as long as your account and the associated link are live. There is no fixed expiration date on active codes.
### Are dynamic QR codes less reliable than static ones?
They require a working redirect server and internet connection on the scanner's device, which static codes technically do not. In practice, the difference is negligible for the vast majority of use cases — anyone scanning a QR code in the real world has internet access. The more relevant reliability concern is the longevity of the redirect service, not the connectivity requirement.
### Do dynamic QR codes track personal data?
They collect technical metadata — device type, OS, browser, scan timestamp, and approximate location from IP address. This is not personally identifiable information unless a form is also completed. Linkbreakers processes scan data in accordance with GDPR and equivalent privacy regulations. See [what data is collected from QR code scans](https://linkbreakers.com/help/article/what-data-you-can-collect-from-qr-code-scans-location-device-behavior) for a full breakdown.
### Is there a visual difference between static and dynamic QR codes?
Not necessarily. Dynamic codes tend to be less dense because they encode a short URL, but there is no visual label or indicator that distinguishes them. The behavior on scan is what differs.
---
# What is QR code tracking and when should you use it?
Source: https://linkbreakers.com/help/article/what-is-qr-code-tracking-and-when-should-you-use-it
## Short answer
QR code tracking means turning a QR code into a measurable entry point. Instead of sending people directly to a static URL, Linkbreakers routes the scan through a tracked link so you can see when it was scanned, where it was scanned from, which device was used, whether the visitor was new or returning, and what happened after the scan.
If you care about real-world attribution, campaign performance, or offline-to-online conversion paths, this is one of the clearest [use cases for Linkbreakers](https://linkbreakers.com/features/qr-code-tracking).
## What QR code tracking actually does
A tracked QR code helps answer questions that a normal QR code cannot answer on its own:
- Which poster, package, flyer, table tent, or sign drove the scan
- When people scanned and whether interest is increasing or dropping
- Which countries, cities, and time zones the scans came from
- Which devices, browsers, and platforms visitors used
- Whether the same visitor came back later
- Which destination, form, or workflow converted best
Linkbreakers handles this by combining a dynamic link, [scan analytics](https://linkbreakers.com/help/article/how-qr-code-tracking-works-from-scan-to-analytics), and optional workflow logic in one system.
## When QR code tracking is the right use case
QR code tracking is a strong fit when you need measurement, not just access.
### Campaign attribution
Use tracked QR codes on posters, brochures, direct mail, product packaging, retail displays, or event signage when you need to know which physical placement is performing.
### Lead generation
Use tracked QR codes when the scan should lead to a [form](https://linkbreakers.com/help/article/how-to-create-a-form), a booking page, or a sales workflow instead of a plain landing page.
### Dynamic destinations
Use tracked QR codes when the destination may change after printing. Linkbreakers lets you keep the same QR code while updating the target URL or workflow later.
### Real-time optimization
Use tracked QR codes when your team needs to monitor scan activity during live campaigns, field activations, conferences, or in-store promotions.
## What you can measure
### Core analytics
| Signal | What it tells you |
|---|---|
| Scan timestamp | When interest happened |
| Link and QR source | Which asset or campaign drove the scan |
| Visitor status | Whether it was a first-time or returning visitor |
| Destination reached | Which page or branch the visitor saw |
| Conversion events | Whether the scan led to a form submit or other outcome |
### Context signals
| Signal | What it tells you |
|---|---|
| Country, region, city, timezone | Where demand is coming from |
| Device type, platform, browser | What environment visitors use |
| Device actor | Whether traffic is human, bot, or agent |
| ISP and ASN | What network context the visit came from |
For the full field list, see [what data you can collect from QR code scans](https://linkbreakers.com/help/article/what-data-you-can-collect-from-qr-code-scans-location-device-behavior).
## Typical teams that use QR code tracking
- Marketers measuring offline campaigns
- Sales teams qualifying scans from printed collateral
- Event teams tracking booth engagement and post-event follow-up
- Product and packaging teams measuring scans from labels and inserts
- Franchise and multi-location businesses comparing performance by placement
## Why this is different from a free static QR code
| Static QR code | Tracked QR code in Linkbreakers |
|---|---|
| Sends visitors to one fixed URL | Sends visitors through a measurable dynamic link |
| No scan analytics | Real-time analytics and visitor history |
| Cannot change after printing | Destination can be updated later |
| No routing logic | Can use workflows, forms, and conditions |
| No attribution by placement | Can organize and compare campaigns |
## Best practices
- Create one tracked QR code per placement when attribution matters
- Use clear naming and [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) for campaigns
- Send visitors to mobile-friendly landing pages
- Add a [workflow](https://linkbreakers.com/help/article/how-to-build-a-customer-journey-with-qr-codes-and-workflows) when you need branching, lead capture, or retargeting
- Check scan activity during the campaign, not only after it ends
## Why teams choose Linkbreakers for this use case
Linkbreakers is built for teams that want tracked QR codes to behave like measurable customer journeys instead of dead-end redirects. You can connect analytics, forms, routing logic, visitor journeys, webhooks, and destination updates without rebuilding the QR code every time the campaign changes.
See the main product page for [QR code tracking](https://linkbreakers.com/features/qr-code-tracking) if you want the product overview.
## Frequently asked questions
### Can QR code tracking show where scans happen?
Yes. Linkbreakers can infer country, region, city, and timezone from the request, which is usually enough for campaign analysis and geographic reporting.
### Can I change the destination after printing the QR code?
Yes. That is one of the main advantages of dynamic QR code tracking. The printed QR code stays the same while the destination or workflow can change later.
### Does QR code tracking identify a person automatically?
No. Automatic tracking focuses on technical and behavioral signals. Personal data is only collected if the visitor submits it through a form or another consent-based step.
### Is QR code tracking useful for small campaigns?
Yes. Even a small campaign benefits when you need to compare placements, monitor live performance, or prove that offline activity generated real visits.
---
# How digital business cards work for teams
Source: https://linkbreakers.com/help/article/how-digital-business-cards-work-for-teams
## Short answer
Digital business cards replace printed cards with a shareable page or contact profile that can be opened by link, QR code, or wallet-friendly contact actions. In Linkbreakers, this use case works especially well for teams because each person can have a smart card while admins keep branding, updates, and analytics centralized.
If your team still hands out paper cards but wants faster sharing, easier updates, and visibility into follow-up activity, this is the core [digital business card use case](https://linkbreakers.com/features/business-card).
:::try-ai-prompt {"prompt":"Create a contact card with my name, job title, company, email, and phone number. Add LinkedIn and WhatsApp as social links.","description":"Try creating a digital business card with the AI builder. It will ask for your details."}:::
## What a digital business card includes
A digital business card usually includes:
- Name, role, company, and photo
- Phone, email, and website
- Social links and booking links
- A QR code for instant in-person sharing
- A page visitors can save, revisit, and share
With Linkbreakers, the card is not only a contact page. It can also become a measurable asset connected to analytics and routing logic.
## Why teams move away from paper business cards
### Information changes
Titles, phone numbers, meeting links, and office locations change. Printed cards go out of date immediately. A digital card stays current without reprinting.
### Teams need consistency
Marketing and sales leaders often need standardized branding across every employee card. Digital cards make that manageable from one platform.
### Networking needs measurement
Paper cards disappear into a pocket. Digital cards can show visits, shares, saves, and downstream actions, which makes networking easier to improve.
## When digital business cards are the right use case
### Sales and partnerships
Use digital business cards when account executives, founders, or partnership teams need faster contact sharing and want to measure networking outcomes.
### Multi-person teams
Use them when your company needs a repeatable system for dozens or hundreds of employees, not one-off personal pages.
### Events and conferences
Use them when the same card needs to work on a badge, booth sign, phone screen, email signature, or follow-up page.
### Ongoing profile updates
Use them when centralized updates matter more than printing inventory.
## What teams can track
| Signal | Why it matters |
|---|---|
| Card visits | Shows whether networking touchpoints are generating interest |
| Repeat visits | Indicates stronger intent or internal sharing |
| Device and location context | Helps understand where engagement comes from |
| Link clicks | Shows what people do after opening the card |
| Form submits or follow-up actions | Helps connect networking to pipeline |
This is where Linkbreakers goes beyond a basic contact page. The digital business card becomes part of a trackable journey.
## Digital business cards vs paper cards
| Paper cards | Digital business cards in Linkbreakers |
|---|---|
| Fixed once printed | Always updatable |
| No analytics | Card-level engagement analytics |
| Easy to lose | Shareable by QR code and link |
| Hard to manage at scale | Centralized team management |
| No follow-up flow | Can connect to links, forms, and workflows |
## What makes Linkbreakers a strong fit
Linkbreakers is especially useful when the card should do more than display contact details.
- Teams can standardize pages and branding
- Each card can be shared with a QR code instantly
- Engagement can be measured instead of guessed
- Cards can connect to broader [workflow automation](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation)
- The same system can support both contact sharing and broader QR-driven campaigns
See the product overview for [digital business cards for teams](https://linkbreakers.com/features/business-card).
## Best practices
- Give each team member their own card instead of sharing one generic company card
- Keep the card focused on the next action you want, such as save contact, book a meeting, or visit the website
- Use consistent brand elements across the team
- Add campaign links or booking links that can actually be measured
- Review which cards generate the most follow-up activity and replicate that structure
## Frequently asked questions
### Are digital business cards only for individuals?
No. They are especially useful for teams because updates, branding, and analytics become easier to manage centrally.
### Can a digital business card replace printed cards completely?
For many teams, yes. A QR code on a badge, slide, phone wallpaper, or event sign often replaces the need to print and restock paper cards.
### Do digital business cards work for events?
Yes. They work well at conferences, trade shows, networking events, recruiting fairs, and sales meetings because visitors can scan and save details instantly.
### What is the main advantage over a simple contact page?
The main advantage is that the card is measurable and updatable. It can also connect to the rest of your Linkbreakers setup instead of living as an isolated page.
---
# What is a link in bio page and who is it for?
Source: https://linkbreakers.com/help/article/what-is-a-link-in-bio-page-and-who-is-it-for
## Short answer
A link in bio page is a single page that holds multiple important links behind one URL. It is commonly used on Instagram, TikTok, and other social platforms where you only get one main clickable profile link.
In Linkbreakers, this use case is not just about listing links. It is about creating a branded page you can update anytime, track in analytics, and use as a lightweight conversion hub for social traffic.
For the product view, see [Link in Bio & Social Links Page](https://linkbreakers.com/features/social-links).
## Who uses link in bio pages
This use case is common for:
- Creators sharing videos, products, newsletters, and affiliate links
- Brands sending followers to campaigns, product drops, or store locators
- Founders and consultants sharing offers, calendars, and content
- Musicians, speakers, and public figures consolidating releases and announcements
- Small businesses that need one simple social landing page
## Why this use case exists
Most social profiles give you limited space for links. A link in bio page solves that by giving you one destination that can point to many actions.
Typical actions include:
- Shop now
- Book a call
- Watch the latest video
- Read the latest post
- Join the newsletter
- Download a lead magnet
## When a link in bio page is the right fit
### Social-first traffic
Use a link in bio page when most of your audience finds you on Instagram, TikTok, YouTube, Threads, or similar platforms.
### Fast updates
Use it when your priority links change often and you do not want to keep editing your profile URL every time.
### Branded consolidation
Use it when you want one page that feels more polished than sending people to a raw list of unrelated links.
### Measurable clicks
Use it when you want to know which offers, content pieces, or campaigns attract the most engagement.
## What Linkbreakers adds to this use case
| Basic bio link page | Linkbreakers link in bio page |
|---|---|
| Simple list of links | Branded page with measurable engagement |
| Minimal tracking | Analytics around clicks and visitors |
| Standalone page | Connects with the broader Linkbreakers platform |
| Harder to align with campaigns | Easier to connect with QR codes, links, and promotion flows |
This matters when a social page is part of a bigger customer journey rather than a static profile utility.
## What to include on a strong link in bio page
- One clear headline that says who you are or what visitors should do
- Your top one to three priority links first
- Supporting links for content, shop, newsletter, or contact
- Brand elements that match your social presence
- A structure that works cleanly on mobile
If you are using the page for conversion, reduce clutter and keep the top action obvious.
## Common goals for this use case
### Creator monetization
Send followers to sponsorship pages, affiliate offers, digital products, or memberships.
### Brand campaigns
Route visitors to launches, featured products, or limited-time promotions without changing the main profile link every week.
### Audience growth
Push followers toward email signups, community invites, or booking flows.
### Cross-platform discovery
Help people move from one platform to another, such as from Instagram to YouTube, newsletter, podcast, or store.
## Why teams choose Linkbreakers here
Linkbreakers is useful when the link in bio page should be part of a measured growth system. Instead of treating the page as a static profile accessory, you can treat it as a branded traffic router connected to analytics and the rest of your campaigns.
That is especially useful if your business also uses [QR code tracking](https://linkbreakers.com/help/article/what-is-qr-code-tracking-and-when-should-you-use-it) or other Linkbreakers journeys and wants the same platform across channels.
## Frequently asked questions
### Is a link in bio page only for influencers?
No. It is useful for creators, brands, consultants, local businesses, startups, and anyone who needs one flexible destination for social traffic.
### Can I update my links without changing the bio URL?
Yes. That is one of the main reasons people use link in bio tools. The public URL stays the same while the page content changes.
### Is a link in bio page the same as a website?
No. It is usually smaller and more focused. It works best as a lightweight action page for social traffic, not as a full website replacement.
### When should I use a link in bio page instead of a normal landing page?
Use a link in bio page when you need one profile link to support several destinations. Use a dedicated landing page when a single campaign needs one focused conversion path.
---
# How to route AI agent and human link traffic differently
Source: https://linkbreakers.com/help/article/how-to-route-ai-agent-and-human-link-traffic-differently
## Short answer
This use case is for teams that want one shared link to behave differently depending on who or what opens it.
In Linkbreakers, you can place a workflow in front of the final destination, evaluate the **device actor**, and then send:
- likely **human** visitors to one destination
- likely **agent** traffic to another destination
- all **other actors** to a fallback route
This helps when links are being opened by AI assistants, automated fetchers, or preview systems before a real person ever arrives.
## Why this use case matters
When links are shared in places like ChatGPT, Claude, Slack, or other AI-assisted environments, the traffic pattern changes.
A single shared URL may generate:
- a preview or retrieval request from an automated system
- an AI-agent fetch before a user sees the result
- a real human click after the link is recommended
If all of that traffic is treated the same way, your routing becomes messy and your analytics become less trustworthy.
## What Linkbreakers adds to this use case
Linkbreakers gives you a routing layer between the shared link and the final destination.
That means you can:
- classify visits by actor type
- redirect agents to a dedicated destination
- keep human visitors on the normal experience
- collect different event data for each branch
- avoid mixing AI-originated fetches with real user sessions
For the broader workflow system, see [what a workflow is in Linkbreakers](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation).
## The workflow pattern
The workflow you shared follows a simple and useful pattern:
1. A visitor opens a Linkbreakers URL or scans a QR code
2. A **Device Actor** condition evaluates the request
3. The workflow branches into **Human**, **Agent**, or **Other Actors**
4. Each branch redirects to a different destination
In your example:
- **Agent** traffic is redirected to `https://agent.linkbreakers.com`
- **Other Actors** are redirected to `https://linkbreakers.com`
- **Human** can be routed to its own destination as needed
This is a strong setup when you want AI-related traffic isolated from your primary conversion page.

## When this use case is the right fit
### AI-search and AI-assistant discovery
Use this when your links are likely to be opened from AI assistants or AI-powered search products and you want to separate those visits from standard traffic.
### Safer destination handling
Use it when the final destination should not treat automated fetches the same as real visitors.
### Cleaner analytics
Use it when your team cares about attribution and wants to avoid counting likely agent requests as engaged human sessions.
### Different experiences by actor type
Use it when the human experience should stay conversion-focused while agent or automated traffic should be sent to a lighter or more controlled destination.
## Typical routing setups
### Human to conversion page, agent to controlled endpoint
This is the most common pattern. Humans go to the normal landing page or workflow. Agents go to a separate destination that is easier to monitor or intentionally designed for automated access.
### Human to product page, other actors to homepage
This is useful when you only want known human traffic to hit a deep page while all other traffic gets a safer fallback destination.
### Human to form, agent to informational page
This is useful when you want to protect conversion forms from low-intent automated opens while still letting agents resolve a valid destination.
## What data you can collect
This use case is not only about redirecting traffic. It is also about collecting cleaner context around how the link is being opened.
Teams commonly care about:
- actor classification
- timestamp
- source link or campaign
- destination branch reached
- visitor status
- device and browser context
- location and network context
For the broader analytics model, see [what data you can collect from QR code scans, location, device, and behavior](https://linkbreakers.com/help/article/what-data-you-can-collect-from-qr-code-scans-location-device-behavior).
## Example of detected agent data
In the example you shared, Linkbreakers identifies the visitor as an **Agent** and exposes useful fields about where that traffic came from.

The device details include signals such as:
- **Actor:** `Agent`
- **Actor Name:** `ChatGPT-User`
- **Actor Origin:** `OpenAI`
- **Brand:** `OpenAI`
- **Model/Name:** `ChatGPT-User`
- **Browser:** `ChatGPT-User 1.0`
- **User agent:** an OpenAI bot user agent string
- **Country / region / city:** location context such as `United States`, `TX`, `San Antonio`
- **IP and network fields:** connection, RTT, concurrency, memory, ASN, and IP context when available
That is exactly what makes this use case practical. You are not only routing traffic differently, you are also preserving evidence of why the traffic was classified as agent traffic and what environment it came from.
## How teams use that data
Once Linkbreakers detects likely agent traffic and records the actor details, teams usually do one or more of the following:
- route OpenAI or other agent traffic to a dedicated destination
- compare agent-originated visits against human visits in analytics
- verify which AI systems are actually hitting shared campaign URLs
- store the actor origin and device context for later analysis
- send the event into a webhook or downstream tool for alerting and reporting
This becomes especially useful when one campaign link is being discovered through both normal human sharing and AI-assisted recommendation flows.
## Practical benefits
| Problem | Linkbreakers workflow approach |
|---|---|
| AI or automated traffic mixes with human traffic | Branch by device actor before redirecting |
| One destination receives the wrong type of visitor | Route humans and agents differently |
| Analytics overstate real engagement | Separate likely automated opens from human visits |
| Teams need flexible traffic handling | Update the workflow without changing the shared link |
## Best practices for this use case
- Keep the **human** branch focused on the main action you want
- Route **agent** traffic to a destination you can monitor and change safely
- Use a clear fallback for **other actors**
- Name the workflow so your team understands what the routing logic does
- Review the resulting analytics regularly to confirm the branching is producing the expected traffic split
## Example interpretation of the workflow screenshot
The workflow pattern you shared is a clean example of agent targeting:
- the link visit enters one workflow
- the **Device Actor** condition becomes the main decision point
- the **Agent** branch is isolated and redirected to a dedicated agent URL
- non-agent traffic stays on standard Linkbreakers destinations
That is exactly the kind of setup teams use when they want to experiment with AI-specific routing without creating separate public links for every traffic type.
Combined with the device details view, it also gives you a full loop:
- detect the actor
- route the actor
- store the actor metadata
- analyze where the traffic came from later
## Why teams use Linkbreakers for this
The main advantage is that the shared URL stays the same while the routing logic stays flexible.
You do not need to replace the link every time your AI-handling strategy changes. You can keep the same entry point and update the workflow behind it.
That makes this a practical use case for:
- AI-aware traffic handling
- cleaner attribution
- redirect control
- controlled data collection
- future experimentation as AI-driven discovery keeps changing
## Frequently asked questions
### Can I send agents and humans to different destinations?
Yes. That is the core use case here. You can place a condition in the workflow and route different actor types to different redirects.
### Why not just send everyone to the same page?
Because automated and human traffic can behave very differently. Separating them helps with analytics quality, destination safety, and more intentional user journeys.
### Can I change the routing later without changing the shared link?
Yes. That is one of the main reasons to do this through Linkbreakers. The public link can stay stable while the internal workflow logic changes.
### Is this only useful for QR codes?
No. It works for normal shared links too. QR codes are just one way to distribute the Linkbreakers URL.
---
# How to route visitors based on NPS scores
Source: https://linkbreakers.com/help/article/how-to-route-visitors-based-on-nps-scores
## Short answer
This use case is for teams that want to automatically route visitors to different destinations based on their Net Promoter Score (NPS) responses.
In Linkbreakers, you can combine a [form workflow step](https://linkbreakers.com/help/article/how-to-create-a-form) with a [visitor data condition](https://linkbreakers.com/help/workflow/how-to-use-visitor-data-conditions) to:
- collect NPS scores (0-10)
- segment visitors into **Promoters** (9-10), **Passives** (7-8), and **Detractors** (0-6)
- route each segment to purpose-built destinations
This helps close the feedback loop automatically while maximizing the value of positive responses and addressing negative ones.
:::try-ai-prompt {"prompt":"Add a form with a 0-10 rating field asking 'How likely are you to recommend us?'. Then add a visitor data condition: scores 7 and above redirect to our review page, scores below 7 redirect to a feedback form.","description":"Try building an NPS routing workflow with the AI builder."}:::
## Why this use case matters
Traditional NPS surveys collect scores but rarely act on them in real-time.
When someone gives you a 10/10 rating, that's the perfect moment to request a Google review or testimonial. When someone gives you a 3/10, you need to capture detailed feedback before they leave frustrated.
By routing visitors immediately based on their score, you turn static surveys into active conversion tools.
## What Linkbreakers adds to this use case
Linkbreakers gives you conditional routing that activates the moment a form is submitted.
That means you can:
- capture the NPS score through a form
- evaluate the score using a visitor data condition
- send Promoters to review platforms (Google, Trustpilot, etc.)
- send Passives to a thank you page or feature request form
- send Detractors to a detailed feedback form or support escalation
- track which segments convert at each destination
For the broader workflow system, see [how to build customer journeys with forms](https://linkbreakers.com/help/article/how-to-build-a-customer-journey-with-forms).
## The workflow pattern
The NPS routing workflow follows a simple and effective pattern:
1. A visitor scans a QR code or opens a Linkbreakers link
2. A **form** collects their NPS score (0-10 rating)
3. A **visitor data condition** evaluates the `nps_score` attribute
4. The workflow branches into **Promoters**, **Passives**, or **Detractors**
5. Each segment is redirected to a purpose-built destination
Example routing setup:
- **nps_score >= 9**: Route to Google Reviews request page
- **nps_score >= 7**: Route to thank you page
- **nps_score < 7**: Route to detailed feedback form
- **Fallback**: Route to general thank you page (for edge cases)
This setup maximizes positive sentiment while capturing actionable feedback from detractors.
## When this use case is the right fit
### Post-purchase feedback loops
Use this when you want to capture customer satisfaction immediately after a transaction and act on it in real-time.
### Service industry feedback
Use this for restaurants, hotels, salons, medical practices, or any service business where customer experience drives reviews and repeat business.
### Event satisfaction tracking
Use this at conferences, workshops, or events where you want to route happy attendees to review platforms while collecting improvement suggestions from others.
### Product feedback collection
Use this for physical products with QR codes on packaging where you want to understand satisfaction and guide happy customers to leave reviews.
### Support ticket follow-up
Use this after support interactions where you want to escalate detractors to a supervisor while requesting reviews from satisfied customers.
## Typical routing setups
### Promoter to review platform
The most common pattern for maximizing positive reviews:
- **9-10**: Route to Google Reviews, Trustpilot, or App Store review page
- **7-8**: Route to thank you page with optional feature request form
- **0-6**: Route to detailed feedback form with support escalation
- **Result**: Positive sentiment becomes public reviews; negative feedback is captured privately
### Multi-stage feedback collection
A more sophisticated approach that collects detailed context:
- **9-10**: Request Google review, then ask what they loved most
- **7-8**: Ask what would make their experience a 10
- **0-6**: Collect detailed feedback, then route to support team contact
- **Result**: Deeper insights from every segment
### Incentivized feedback routing
Combine NPS with incentives based on segment:
- **9-10**: Route to review platform with discount code for next purchase
- **7-8**: Route to feature request form with early access offer
- **0-6**: Route to priority support form with service recovery offer
- **Result**: Higher completion rates across all segments
## What data you can collect
Beyond the NPS score itself, teams commonly track:
- response timestamp
- visitor segment (Promoter, Passive, Detractor)
- destination reached
- conversion at each destination (review submitted, feedback provided, etc.)
- visitor device and location context
- campaign source (which QR code or link generated the response)
For the full field list, see [what data you can collect from QR code scans](https://linkbreakers.com/help/article/what-data-you-can-collect-from-qr-code-scans-location-device-behavior).
## Example workflow structure
Here's how the workflow connects:
**Step 1: Link Visit** → Visitor scans QR code or opens link
**Step 2: NPS Form** → Collect 0-10 rating with optional comment field
**Step 3: Visitor Data Condition** → Evaluate `nps_score` attribute
**Branch A (9-10):** → Google Reviews request page
**Branch B (7-8):** → Thank you page
**Branch C (0-6):** → Detailed feedback form
**Branch D (Fallback):** → General thank you page
## Practical benefits
| Traditional NPS survey | Linkbreakers NPS routing |
|---|---|
| Collect scores in one tool, export data, manually follow up | Automatic routing based on score |
| Same destination for everyone | Purpose-built destinations by segment |
| No real-time action on positive feedback | Promoters immediately directed to review platforms |
| Detractor feedback often ignored | Detractors routed to support or detailed feedback |
| Generic thank you page | Segment-appropriate next steps |
## Best practices for this use case
**Keep the initial form simple**: Ask for the NPS score first, then route to detailed forms only for specific segments. Don't ask Promoters to fill out long surveys when you want them to leave a review.
**Make review requests easy**: Send Promoters directly to the review platform URL (Google Maps link, Trustpilot page, etc.) with clear instructions.
**Capture detractor feedback privately**: Route low scores to internal forms or support channels, not public review platforms where they might post negative reviews.
**Set clear expectations**: Let visitors know their feedback matters and explain what happens next based on their score.
**Test the full workflow**: Submit test responses at different score levels to verify routing works correctly before deploying widely.
**Monitor segment distribution**: Track what percentage of visitors fall into each segment and adjust your operations based on trends.
**Act on detractor feedback quickly**: Route Detractor responses to support teams or set up webhooks for immediate notifications.
**A/B test destinations**: Try different review platforms or feedback forms to see which converts best for each segment.
## Advanced patterns
### Multi-language NPS routing
Combine [country conditions](https://linkbreakers.com/help/workflow/how-to-use-country-conditions) with NPS routing:
1. Route by country first (US, UK, FR, DE, etc.)
2. Show language-appropriate NPS form
3. Route by score within each language
4. Result: Localized feedback collection with segment-based routing
### Progressive feedback collection
Collect context from each segment differently:
- **Promoters**: "What did you love most?" → Google Reviews
- **Passives**: "What would make this a 10?" → Feature requests
- **Detractors**: "What went wrong?" → Support escalation
- Result: Actionable insights from every response
### NPS tracking over time
For returning visitors tracked by email or ID:
1. Collect NPS score
2. Compare to previous scores in analytics
3. Route based on trend (improving, declining, stable)
4. Result: Identify satisfaction changes and respond proactively
### Service recovery workflow
Automatically escalate detractors:
1. Detect score < 7
2. Route to detailed feedback form
3. Trigger webhook to support team
4. Provide immediate response with compensation or solution
5. Result: Turn detractors into recovered customers
## Real-world examples
**Restaurant feedback**: Diners scan QR codes on receipts. Promoters (9-10) are invited to Google Reviews. Detractors (0-6) speak directly to the manager via a private form.
**Dental practice satisfaction**: Post-appointment NPS collected via text message link. High scores route to Google Reviews request. Low scores trigger same-day follow-up call from practice manager.
**SaaS onboarding feedback**: After trial period, users rate their experience. Promoters get referred to review sites and affiliate programs. Passives are asked what features would improve their experience. Detractors are connected with customer success team.
**Event post-survey**: Conference attendees scan QR codes to rate sessions. High ratings route to "Share on LinkedIn" page. Low ratings route to detailed improvement survey with early-bird discount for next year.
## Why teams use Linkbreakers for this
The main advantage is that NPS collection and routing happen in one unified workflow.
You don't need separate survey tools, CRM integrations, or manual segmentation processes. The score is collected, evaluated, and acted upon automatically.
That makes this a practical use case for:
- service businesses maximizing review generation
- product teams collecting targeted feedback
- support teams identifying escalation priorities
- marketing teams turning satisfaction into advocacy
## Frequently asked questions
### Can I change the score thresholds after deploying?
Yes. Linkbreakers workflows are dynamic, so you can adjust the score ranges in your visitor data condition without changing the QR code or link.
### What if someone doesn't enter a score?
Set a fallback destination in your visitor data condition for cases where the `nps_score` attribute is empty or invalid. This ensures everyone has a valid experience.
### Can I ask follow-up questions before routing?
Yes. You can add additional form fields before or after the NPS score question, or route to different forms based on the score.
### How do I track review conversion rates?
Use Linkbreakers analytics to see how many Promoters reached the review request page. For complete tracking, combine with conversion tracking via the Linkbreakers ID (lbid).
### Can this work for other rating scales?
Yes. The same pattern works for any numeric rating. Just adjust the visitor data condition operators and thresholds to match your scale.
### What happens to Passive scores (7-8)?
Most teams send Passives to a thank you page or lightweight feedback form. The goal is to understand what would move them to 9-10 without overwhelming them.
### Can I route based on multiple attributes, not just NPS?
Yes. You can chain multiple visitor data conditions or combine NPS routing with other conditions like country, device type, or custom attributes.
### How do I prevent duplicate responses?
Use the [scan/rescan condition](https://linkbreakers.com/help/workflow/how-to-use-scan-rescan-conditions) to detect returning visitors and route them differently based on whether they've already submitted feedback.
## Conclusion
NPS-based routing transforms static satisfaction surveys into active conversion tools. By automatically directing Promoters to review platforms, collecting detailed feedback from Detractors, and understanding Passives' needs, you close the feedback loop in real-time while maximizing the value of every response.
Ready to build NPS routing workflows? Start by creating a form with an NPS question, then add a visitor data condition to route based on the score.
---
# How to use QR codes on product packaging
Source: https://linkbreakers.com/help/article/how-to-use-qr-codes-on-product-packaging
## Short answer
A QR code on product packaging connects the physical product to a digital experience the moment a customer opens or inspects it. With a tracked QR code, you can measure how many customers actually scan, where they are, what device they use, and whether they complete a follow-up action like registering the product, submitting a review, or joining a loyalty program.
## Why packaging QR codes are different from other placements
Most QR codes live in controlled environments — trade show booths, email footers, store displays. Packaging QR codes are scanned by customers who already bought your product, which changes the context entirely.
The customer is qualified. They own the product. The scan intent is usually high: they want instructions, warranty registration, a discount, or a support contact. That makes packaging one of the most conversion-friendly placements for QR codes.
At the same time, packaging has constraints that other placements do not. Print runs are large and reprinting is expensive. A static QR code pointing to a hardcoded URL cannot be updated if the destination changes. [Dynamic QR codes](https://linkbreakers.com/help/article/what-is-qr-code-tracking-and-when-should-you-use-it) solve this by encoding a tracked redirect URL — the destination can be changed any time without reprinting the packaging.
## What to put behind a packaging QR code
The right destination depends on what your customers need immediately after purchase. Common options:
| Destination type | Best for |
|---|---|
| Product setup guide | Electronics, appliances, furniture |
| Warranty or product registration form | Consumer goods, tools, equipment |
| Loyalty program signup | Food & beverage, health & beauty |
| Feedback or NPS form | Any product category |
| Reorder page | Consumables, supplements, pet food |
| Localized support page | Multi-market brands |
A single QR code can handle more than one destination using a [workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation). For example, first-time scanners can be routed to a registration form, while returning scanners (who already registered) go directly to a reorder page or support FAQ.
## How to set this up in Linkbreakers
### 1. Create a tracked link
Start by creating a [link in Linkbreakers](https://linkbreakers.com/help/article/whats-a-link). Give it a descriptive name that matches the product SKU or packaging version so you can find it later.
### 2. Add a workflow (optional but recommended)
If you want to collect data before sending customers to a destination, add a form step. A minimal product registration form might ask for:
- Name and email
- Product serial number or batch code
- Purchase location (retailer name or "direct")
Keep the form short. Packaging QR codes are scanned on a phone, often right after unboxing. Long forms lose completions quickly.
### 3. Generate the QR code
Download the QR code image in SVG or high-resolution PNG format for print. Use a format with enough error correction to remain scannable even if part of the code gets obscured by a crease, sticker, or surface texture.
Linkbreakers lets you [customize the QR code design](https://linkbreakers.com/help/article/whats-a-qr-code-design) with your brand colors and logo while keeping it scannable. Test the final file before committing to a print run.
### 4. Test before printing
Print a physical proof and scan it under different conditions: bright light, dim light, at an angle, from a distance of 15–20 cm. If the code does not scan reliably in all conditions, increase the size or adjust the contrast between the code and the background.
## What analytics you get from packaging scans
Every scan through a Linkbreakers tracked link captures:
- **Scan count and timing** — total scans, unique scans, scans by hour and day
- **Geographic data** — country, region, and city derived from the scanner's IP address
- **Device data** — mobile OS and browser, which is almost always mobile for packaging
- **New vs. returning visitors** — whether the scanner has engaged with your links before
This data helps you understand post-purchase behavior at scale. If a product SKU has a low scan rate compared to similar SKUs, that may indicate a packaging placement issue (code too small, poor contrast, hidden by a barcode). If scans cluster in a specific region, that may correlate with a retailer or distribution channel.
## Limits and caveats
**Location accuracy is IP-based.** The geographic data comes from the scanner's IP address, not GPS. City-level data is usually accurate, but rural or VPN users may show incorrect locations.
**Scan rate baselines are hard to set.** Unlike a poster with a known number of viewers, packaging scan rates are difficult to benchmark because you rarely know exactly how many units were opened. Scan counts are more useful than scan rates for packaging use cases.
**One QR code per SKU, not one per unit.** Each unit in a print run typically shares the same QR code. This means you can count total scans but cannot attribute scans to individual units unless you include a per-unit code (e.g., encoded as a UTM parameter or a unique link per batch).
**Regulatory considerations vary by market.** In some markets (especially food and pharma), the QR code area may be regulated or reserved for GS1 Digital Link compliance codes. Check local packaging regulations before designing the code placement.
## Frequently asked questions
### Can I change the destination after the packaging has been printed?
Yes. With a dynamic tracked link, the QR code encodes a redirect URL. You change the destination in Linkbreakers and all future scans go to the new destination — no reprint needed. This is one of the main reasons to use a dynamic link rather than encoding the destination URL directly in the code.
### What size should a QR code be on packaging?
A minimum of 2 × 2 cm (about 0.8 × 0.8 inches) is the practical floor for reliable scanning on most smartphone cameras. Larger is better when space allows. For packaging that will be viewed from a distance, scale up proportionally. The ISO standard recommends the minimum module size (the smallest square in the QR grid) be at least 0.25 mm.
### How do I connect packaging scans to my CRM or email platform?
If you add a registration form as the first step in your Linkbreakers workflow, form submissions can be forwarded to your CRM or email platform via native integrations or Zapier. See [Linkbreakers integrations](https://linkbreakers.com/help/article/linkbreakers-zapier-integration-connect-qr-campaigns-to-any-tool) for the full list of available connections.
### Does Linkbreakers support batch QR code generation for multiple SKUs?
Yes. You can [bulk create QR codes](https://linkbreakers.com/help/article/how-to-bulk-create-qr-codes-in-linkbreakers) for multiple links at once, which is useful when managing separate codes per product line, flavor variant, or market.
### What happens if someone scans the code years after purchase?
As long as the link exists in Linkbreakers and the account is active, the scan will resolve. If you delete a link, scanners will reach a broken URL. For long-lived packaging, keep the link active or redirect it to a relevant current destination rather than deleting it.
---
# How real estate agents use QR codes to track property inquiries
Source: https://linkbreakers.com/help/article/how-real-estate-agents-use-qr-codes-to-track-property-inquiries
## Short answer
Real estate agents place trackable QR codes on yard signs, printed flyers, brochures, and open house materials. Each scan is logged with a timestamp, geographic location, and device type — giving agents data on which properties are getting attention, from where, and when. Because the QR codes are dynamic, the destination (listing page, virtual tour, contact form) can be updated without reprinting materials.
## Why QR codes fit real estate marketing
Real estate marketing is almost entirely offline: yard signs, postcards, brochures, and door hangers reach people who are physically in or near a neighborhood. Traditional print gives no signal about who engaged with it.
A tracked QR code changes that. Every scan from a yard sign tells you the listing got attention at that location on that day. Aggregate data across a campaign — multiple properties, multiple markets — starts revealing which neighborhoods have active buyer traffic, which listing presentations generate the most inquiries, and which price segments are attracting interest.
This is the core value: connecting a physical placement to a measurable digital interaction. The agent does not need to rely on phone-call volume or open-house attendance to gauge interest.
## Where agents typically place QR codes
| Placement | Common destination | What you learn |
|---|---|---|
| Yard sign | Listing detail page or virtual tour | Neighborhood drive-by interest |
| Property flyer | Floor plan or photo gallery | Print distribution reach |
| Open house sign-in | Digital contact form | Attendance and lead capture |
| Business card | Agent contact card (vCard) | Networking follow-up rate |
| Direct mail postcard | Property video or landing page | Mailer response rate by address range |
| Listing presentation packet | Seller onboarding page | Presentation engagement |
Each placement deserves its own distinct QR code so scans stay attributable to the correct channel.
## How to set this up in Linkbreakers
### 1. Create a separate link for each placement
In Linkbreakers, create one [tracked link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) per placement per listing. Use a naming convention that makes reporting easy — for example: `123-main-st / yard-sign`, `123-main-st / flyer`, `123-main-st / open-house`.
Keeping codes separate means you can compare scan volume across channels for the same property without mixing the data.
### 2. Set the destination
Point each link to the most relevant digital asset: the MLS listing, a dedicated property landing page, a virtual tour URL, or a form. You can use a [workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) to add a short lead-capture step before the destination — asking for name and email in exchange for a floor plan, for example.
For business cards, a [vCard QR code](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers) lets scanners save your contact information directly to their phone without filling out a form.
### 3. Generate and download the QR code
Download the QR code in SVG or high-resolution PNG for print use. For yard signs, the code should be at least 4 × 4 cm to scan reliably from a few meters away. For business cards, 2 × 2 cm is sufficient for close-range scanning.
Apply enough contrast between the code and the background. A white code on a dark-colored sign works, but test it before committing to a print run.
### 4. Monitor scans by listing
Linkbreakers shows [scan data by location, device, and time](https://linkbreakers.com/help/article/what-data-you-can-collect-from-qr-code-scans-location-device-behavior). For a listing that's been on the market two weeks with no offers, low yard-sign scan volume might indicate low foot traffic in the neighborhood — useful context when advising a seller on price or marketing.
### 5. Update the destination without reprinting
If the listing URL changes — a price reduction, a new virtual tour, or a switch from MLS to a direct landing page — update the destination in Linkbreakers. The printed QR code does not change. This matters most for yard signs and mailers, where reprinting is expensive.
## Limits and caveats
**Location is IP-based, not GPS.** Scan location comes from the device's IP address, not its physical GPS position. City-level accuracy is generally reliable, but individual addresses cannot be inferred from scan data. A scan from a yard sign in front of 123 Main St will show up as a scan from that city, not that specific address.
**One code per print run, not per viewer.** A yard sign QR code is scanned by anyone who passes. You cannot identify who scanned — only that a scan occurred, from a device type, in a general location. Lead identification requires a follow-up step (a form, a contact card save) where the person voluntarily provides their information.
**Open house check-in is not the same as a form submission.** Using a QR code to check in attendees only captures a scan event. If you want names and contact details, the destination must be a form, not just a landing page.
**Accounts and links must stay active.** If the listing closes and you cancel the Linkbreakers account or delete the link, historical scan data is gone and old print materials will show broken URLs. For long-lived marketing materials (farm postcards, permanent signage), maintain the link even after a listing closes and redirect it to a relevant page.
## Frequently asked questions
### Can I use one QR code across multiple marketing materials for the same listing?
You can, but it is not recommended. Using separate codes per placement is the only way to know whether your yard sign or your direct mail postcard drove more scans. A single code merges all traffic and loses that signal.
### How do I know if my yard sign QR code is actually being scanned?
Log into your Linkbreakers dashboard and check the scan count for that link. You can filter by date range to see activity in the days after the sign went up. If a listing is getting showings but the QR code has no scans, the code may be too small, poorly placed, or competing visually with other sign elements.
### Can I use QR codes to track which open house attendees came from which source?
Yes, with some setup. Create separate QR codes for each promotion channel (email, Nextdoor post, yard sign, print flyer). Each code points to the same RSVP or check-in form. The form submission data tells you who attended; the scan data on each code tells you which channel drove them there.
### What should the QR code on a business card link to?
A [digital contact card](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers) (vCard) is the most practical choice. It lets the recipient save your name, phone, email, and brokerage directly to their phone's contacts in one tap. This is more useful than linking to a website, which requires the recipient to remember to save your information later.
### Do I need a separate Linkbreakers account per property?
No. One account can hold links for many properties. Use tags or naming conventions to organize links by property address or campaign. [Tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) let you filter analytics by property or time period in the dashboard.
---
# How hotels use QR codes to collect guest feedback
Source: https://linkbreakers.com/help/article/how-hotels-use-qr-codes-to-collect-guest-feedback
## Short answer
Hotels and hospitality businesses place QR codes at high-intent touchpoints — checkout desks, in-room cards, restaurant tables, and lobby displays — to collect NPS scores, service requests, and post-stay feedback. Because the codes are tracked and dynamic, a property can measure which locations generate the most responses, update destinations without reprinting materials, and route dissatisfied guests to staff before a negative review goes live.
## Why hospitality fits QR tracking well
Guest feedback in hospitality is time-sensitive. A guest with a noise complaint at 11pm will not fill out a post-stay email survey three days later, but they will scan a QR code on the elevator panel to send a quick note. Capturing that signal in the moment — before checkout, before the review window opens — is the practical advantage of placing QR codes throughout a property.
Hospitality also has predictable physical zones where guests linger: rooms, lobbies, restaurants, pool areas, and checkout lines. Each zone creates a separate scan opportunity, and each location generates a different type of feedback signal.
:::try-ai-prompt {"prompt":"Create a guest feedback form with a rating field for overall stay, a rating field for cleanliness, and a comment box. Then redirect to our booking page.","description":"Try building a hotel guest feedback workflow with the AI builder."}:::
## Where hotels typically place QR codes
| Placement | Destination | What you learn |
|---|---|---|
| Room desk card | In-stay feedback form or NPS | Mid-stay satisfaction before checkout |
| Checkout desk | Post-stay NPS form | Overall satisfaction at departure |
| Restaurant table | Dining feedback form | Food and service rating by outlet |
| Elevator or key sleeve | Service request form | Maintenance and housekeeping needs |
| Loyalty enrollment card | Signup form | Membership conversion from on-property guests |
| Concierge display | Local recommendations page | Guest engagement with area activities |
Each placement should use a distinct QR code. Separate codes let you compare response rates across zones — for example, discovering that checkout desk codes generate three times more NPS responses than in-room cards, which can inform where to invest in printed materials.
## How to set this up in Linkbreakers
### 1. Create one link per placement per property
In Linkbreakers, create a separate [tracked link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) for each zone. Use a naming convention that includes the property name and placement — for example: `Grand Hotel / Room Card` or `Grand Hotel / Checkout Desk`.
This keeps analytics isolated per placement and lets you filter by location when reviewing response data.
### 2. Build an NPS or feedback workflow
For feedback collection, create a [Linkbreakers form](https://linkbreakers.com/help/article/how-to-create-nps-and-product-feedback-forms) with two to four questions maximum. Mobile forms at physical touchpoints need to be short — most guests will abandon a form that runs longer than three screens.
A basic in-stay form might ask:
- "How is your stay going so far?" (1–5 scale)
- "Is there anything we can help with?" (open text)
A checkout NPS form typically asks a single question: "How likely are you to recommend us to a friend or colleague?" (0–10 scale), with an optional comment field.
### 3. Route detractors to staff before checkout
With a [workflow condition](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation), you can route guests who score 0–6 (NPS detractors) to a service recovery form that alerts the front desk, while guests who score 9–10 are directed to a review platform. This is the core operational advantage: guests who had a bad experience are caught internally before they post a public review.
### 4. Set up loyalty enrollment
A QR code on the key sleeve or welcome card can link to a [multi-step form](https://linkbreakers.com/help/article/how-to-build-a-customer-journey-with-forms) that collects name, email, and consent, then redirects to the loyalty program. Scan-to-enroll removes the friction of typing a URL or asking a staff member.
### 5. Monitor response rates by location
Linkbreakers tracks [scan count, timing, device type, and geographic data](https://linkbreakers.com/help/article/what-data-you-can-collect-from-qr-code-scans-location-device-behavior) for each link. For a multi-property operator, this means comparing feedback volume and average NPS scores by property, outlet, or zone — without manual data aggregation.
## Limits and caveats
**Scan rates depend on prompting, not just placement.** A QR code silently placed on a room desk card will generate far fewer scans than one presented at checkout by a staff member who asks the guest to rate their stay. The physical placement matters, but the verbal or written prompt is what drives the scan.
**IP location is not room-level.** Scan data includes city-level location derived from the IP address, not the guest's specific room number. If you need room-level attribution, include a room number field in the form itself.
**Anonymous scans require a form step to capture identity.** A scan alone tells you that someone interacted with the code at that location. To tie feedback to a specific guest, the form needs to ask for a name, booking reference, or email.
**Multi-property operators need a naming structure upfront.** Across dozens of properties, link [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) and naming conventions become essential for keeping analytics organized. Plan this before rolling out codes at scale.
## Frequently asked questions
### Can I use one QR code for all feedback across a property?
You can, but you lose placement-level insight. If the restaurant and the checkout desk share one code, you cannot tell whether low NPS scores came from dining or room quality. Use separate codes per zone to keep the data actionable.
### How do I prevent guests from scanning checkout codes before they're ready to leave?
You can't prevent early scans entirely, but you can use a [scheduler condition](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) in Linkbreakers to change the destination based on time of day. A checkout desk code that points to a departure form during morning checkout hours can redirect to a general welcome page at other times.
### What happens to the QR code if I switch feedback platforms?
Because Linkbreakers codes are dynamic, you update the destination URL in the dashboard and the printed code stays the same. Switching survey tools does not require reprinting any materials.
### How do I measure whether the service recovery workflow is working?
Track the number of form submissions from guests who scored 0–6 and compare it to public negative review volume on major review platforms month over month. A working recovery workflow typically shows an increase in internal detractor submissions alongside a decline in public negative reviews.
### Do guests need an app to scan the code?
No. A standard QR code is scannable with the native camera app on any modern smartphone. No app download or account creation is required on the guest's side.
---
# How gyms and fitness studios use QR codes for member check-in and engagement
Source: https://linkbreakers.com/help/article/how-gyms-and-fitness-studios-use-qr-codes-for-member-check-in-and-engagement
## Short answer
Gyms and fitness studios use QR codes at entry points, equipment areas, and reception desks to streamline check-in, capture member satisfaction scores, and route first-time visitors into trial signup flows. Because members always carry their phones, scan rates in fitness settings are consistently higher than in most print placements. [Dynamic QR codes](https://linkbreakers.com/help/article/what-is-qr-code-tracking-and-when-should-you-use-it) add analytics on top — so operators know which touchpoints generate the most engagement and can update destinations without reprinting signage.
## Why fitness businesses fit QR tracking well
Members visit frequently, carry phones, and are comfortable with digital interactions. A gym member who checks in three times a week generates far more scan data than a customer who buys a product once. That repeat-visitor pattern makes QR analytics more reliable over time — trends become visible within weeks rather than months.
Fitness businesses also have predictable physical zones: entry gates, equipment rows, changing rooms, reception counters, and class studio doors. Each zone is a distinct touchpoint with a different audience intent, which makes it straightforward to deploy separate tracked codes per location.
:::try-ai-prompt {"prompt":"Build a gym trial signup form that collects first name, email, phone number, and a dropdown for preferred class type. Then redirect to our schedule page.","description":"Try building a gym trial signup workflow with the AI builder."}:::
## Where gyms typically place QR codes
| Placement | Destination | What you learn |
|---|---|---|
| Entry gate or door | Check-in confirmation or daily class schedule | How many members enter daily and at what times |
| Reception counter | Trial membership signup form | Walk-in visitor conversion rate |
| Locker area | Feedback or issue report form | Cleanliness and maintenance signals before they become reviews |
| Equipment station | Tutorial video or usage instructions | Which equipment zones receive the most engagement |
| Class studio door | Class registration or waitlist form | Pre-class demand by session |
| Exit area | Post-workout NPS or satisfaction form | End-of-visit sentiment before members leave the building |
Using a distinct code per placement is important. Shared codes collapse all scan data together, making it impossible to identify whether a low NPS score came from the locker area or a class experience.
## How to set this up in Linkbreakers
### 1. Create one link per touchpoint
In Linkbreakers, create a separate tracked link for each physical location — entry gate, locker area, class studio, and so on. Use a naming convention that includes the venue and zone, for example: `Downtown Studio / Entry Gate` or `Downtown Studio / Post-Workout NPS`.
### 2. Set up a check-in or trial signup workflow
For walk-in visitor conversion, create a short [Linkbreakers form](https://linkbreakers.com/help/article/how-to-create-nps-and-product-feedback-forms) that collects a name, email, and optional phone number. Keep it to two or three fields — visitors standing at a reception counter will not complete a long form.
Connect the form to a [workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) that sends a confirmation message and tags the visitor as a trial lead for follow-up.
### 3. Capture post-workout NPS at the exit
An exit-area QR code pointing to a one-question NPS form captures sentiment at the best possible moment — right after a workout, while the experience is fresh. Keep the form to a single rating question with an optional comment field.
Route detractors (scores 0–6) to a service recovery form that alerts the front desk. Route promoters (scores 9–10) to a review platform. This is the same pattern that hotel operators use, and it works equally well in fitness settings.
### 4. Use rescan conditions for returning members
For members who scan the entry gate QR code on every visit, use [scan and rescan conditions](https://linkbreakers.com/help/article/how-to-use-scan-rescan-conditions) to differentiate first-time scans from repeat scans. A first-time scanner can be routed to a welcome page or trial signup, while a returning scanner goes directly to the class schedule or check-in confirmation.
### 5. Organize multi-location data with tags
If you operate more than one location, use [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) to group links by venue. Tags let you filter analytics by location in the Linkbreakers dashboard — useful for comparing member engagement across sites without rebuilding reports from scratch.
## Limits and caveats
**Scan rates depend on context, not just placement.** A QR code at an entry gate that members walk past quickly will generate fewer scans than one displayed at a counter where a staff member asks them to scan. The prompt matters as much as the location.
**Check-in via QR is not access control.** A tracked QR code records that someone scanned — it does not verify identity or enforce entry restrictions. If access control is the goal, dedicated gym management software with barcode scanners handles that more reliably. QR codes in fitness settings work best for engagement and data collection, not gatekeeping.
**Anonymous scans need a form step for identity.** A scan from the exit NPS code tells you that someone scanned at that location. To link the feedback to a named member, the form needs to ask for a name, email, or membership number.
**Equipment-level analytics are approximate.** Location data from scans reflects city-level IP geolocation, not the specific piece of equipment a member was using. Equipment-level attribution requires asking members to indicate what they used in the form itself.
## Frequently asked questions
### Can I use QR codes for automated member check-in?
QR codes can record a scan event and route members to a confirmation page, but they do not replace dedicated access control systems. For data collection and engagement tracking, a scan-to-confirm check-in works well. For physical door access or turnstile control, you need a system designed for access management.
### How do I collect feedback without interrupting a member's workout?
The exit area is the best placement — members are already transitioning out of workout mode and are more receptive to a brief interaction. Post-workout NPS forms with one question and an optional comment take under 30 seconds to complete.
### What if members stop scanning over time?
Scan fatigue is real in high-frequency environments. Rotate the form destination occasionally to keep it relevant — for example, switching the entry gate destination between a class schedule, a new program announcement, and a member referral offer. Changing the destination requires no reprinting because the QR code is dynamic.
### Can I track which class time slots are most popular?
If you place a separate QR code at each class studio door, the scan timestamps give you a rough proxy for attendance demand by time slot. For precise class attendance data, combine QR scan counts with your booking system records.
### Do members need an app to scan?
No. The native camera app on any modern smartphone can scan a standard QR code without an additional app. There is no account creation or login required on the member's side.
---
# How healthcare clinics use QR codes for patient intake
Source: https://linkbreakers.com/help/article/how-healthcare-clinics-use-qr-codes-for-patient-intake
## Short answer
Healthcare clinics place QR codes at reception desks, on appointment reminder cards, and in waiting rooms to replace paper intake forms and collect post-visit satisfaction scores. Because the codes are dynamic and tracked, a practice can measure form completion rates by placement, update forms without reprinting materials, and route dissatisfied patients to a practice manager before a public review is posted.
:::try-ai-prompt {"prompt":"Create a patient intake form that collects full name, email, phone number, and a text area for symptoms or reason for visit. Then redirect to a confirmation page.","description":"Try building a patient intake workflow with the AI builder."}:::
## Why healthcare fits QR-based intake well
Patients in a waiting room have time, a smartphone, and a reason to engage. A QR code on the check-in desk or a laminated card on the seat is easy to act on without staff involvement. For practices running with lean reception teams, this reduces the administrative load of handing out clipboards, collecting them, and manually entering data.
Dynamic QR codes add operational flexibility. When a form changes — a new consent clause, a revised medication list, an updated HIPAA notice — the destination URL updates in the dashboard and every printed code automatically points to the new version. No reprint required.
## Common placements and use cases
| Placement | Destination | What you learn |
|---|---|---|
| Reception desk | New patient intake form | Demographics, insurance, medical history |
| Waiting room chair card | Pre-visit health questionnaire | Symptoms, medications, reason for visit |
| Appointment reminder card | Post-visit satisfaction form | NPS score and care quality rating |
| Checkout desk | Review or feedback prompt | Overall experience before the patient leaves |
| Exam room poster | Health education resource | Engagement with condition-specific content |
| After-visit summary | Follow-up care instructions | Scan-through rates for patient education |
Each placement should use a separate tracked link so you can compare completion rates by location. A card on a waiting room chair may generate five times more form starts than a note at the bottom of an appointment reminder — knowing which channel works helps you decide where to invest in printed materials.
## How to set this up in Linkbreakers
### 1. Build the intake form
Create a [form in Linkbreakers](https://linkbreakers.com/help/article/how-to-create-a-form) with the fields your practice needs for pre-visit intake: contact information, reason for visit, current medications, and relevant health history. Keep mobile forms under five screens — patients who are already anxious will abandon long forms.
For new patient registration, a multi-step form with a progress indicator performs better than a single long page. Linkbreakers supports [multi-step customer journeys](https://linkbreakers.com/help/article/how-to-build-a-customer-journey-with-forms) that collect information across screens while keeping the interface manageable.
### 2. Create a separate link per placement
In Linkbreakers, create a distinct [tracked link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) for each physical location — reception desk, waiting room, reminder card. Use a naming convention that includes the clinic location and placement type so you can filter analytics by zone.
Scan data including timing and completion rate is visible per link, which means you can identify which placements produce the highest form completion rates without aggregating data manually.
### 3. Set up a post-visit NPS workflow
For satisfaction measurement, create an [NPS form](https://linkbreakers.com/help/article/how-to-create-nps-and-product-feedback-forms) with a single 0–10 rating question and an optional comment field. Place the QR code at the checkout desk or include it on the after-visit summary.
Use a [workflow condition](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) to route patients who score 0–6 to an internal feedback form that alerts the practice manager, while patients who score 9–10 are directed to a public review platform. This captures service issues before they become negative reviews.
### 4. Use tags for multi-location practices
If your practice has multiple locations or providers, [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) let you segment scan and form data by clinic, department, or provider without creating separate workspaces. Tag each link with the location name and you can filter the analytics dashboard to compare NPS scores by site.
## Limits and caveats
**QR intake supplements but does not replace triage.** A patient scanning a form in the waiting room is not the same as a clinical intake conducted by a nurse. QR forms work well for administrative intake (demographics, insurance, contact) and patient-reported data (symptom questionnaire, medication list), but clinical assessment still requires staff interaction.
**Not all patients will scan.** Elderly patients or those without smartphones may not be able to use QR-based intake. Any QR workflow in a healthcare setting should have a paper fallback or a staff-assisted option at the desk.
**HIPAA scope applies to the data collected, not the QR code itself.** The QR code is just a link. If the form collects protected health information (PHI), the tool storing that form data must be HIPAA-compliant. Linkbreakers form data handling and your downstream CRM or EHR need to meet your practice's compliance requirements. Consult your privacy officer before moving intake data into a new tool.
**IP location is waiting-room-level, not patient-level.** Scan data includes a city-level location derived from IP address. To attribute a scan to a specific patient or appointment, include a name or booking reference field in the form.
## Frequently asked questions
### Can I use one QR code for all intake across the practice?
You can, but you lose placement-level insight. Separate codes per location let you measure whether waiting room cards or checkout desk prompts generate more form completions, which informs where to focus your printed materials investment.
### What happens to the QR code if I change my intake form?
Because Linkbreakers uses dynamic QR codes, you update the destination URL in the dashboard and the printed code stays valid. Changing intake form tools or updating your questionnaire does not require reprinting cards, posters, or reminder slips.
### How do I measure whether the post-visit workflow is working?
Track the number of internal feedback submissions from patients who scored 0–6 over time and compare to external review volume on platforms like Google. A working service recovery workflow typically shows an increase in internal detractor submissions alongside stable or improving public review scores.
### Can patients use this without downloading an app?
Yes. Standard QR codes scan with the native camera app on any modern iOS or Android device. No app download, account creation, or login is required on the patient side.
### How do I handle patients who don't have smartphones?
Plan for a paper fallback. For patients who cannot or prefer not to scan, keep printed intake forms available at the desk. The QR workflow reduces, but should not eliminate, the paper option in a clinical setting where patient access varies.
---
# How retail stores use QR codes for in-store customer engagement
Source: https://linkbreakers.com/help/article/how-retail-stores-use-qr-codes-for-in-store-customer-engagement
## Short answer
Retail stores use QR codes on shelf displays, product tags, receipts, and storefront windows to connect physical shoppers to digital experiences — loyalty programs, extended product info, discount offers, and review prompts. Because the codes are dynamic and tracked, a retailer can measure which placements drive the most engagement, update destinations without reprinting, and tie in-store behavior to campaign performance.
## Where retailers place QR codes and why
Retail has several high-intent touchpoints where a QR code creates value without requiring staff involvement. The most effective placements share one trait: the shopper already has a reason to pause.
| Placement | Destination | Primary goal |
|---|---|---|
| Shelf edge label | Extended product details page | Reduce sales floor questions |
| Product hang tag | How-to guide or video | Reduce returns, increase confidence |
| Packaging insert | Product registration or warranty form | Capture customer data post-purchase |
| Receipt (printed or emailed) | Post-purchase NPS or review prompt | Collect feedback while experience is fresh |
| Fitting room card | Style guide or outfit builder | Increase basket size |
| Storefront window | "What's new" landing page or offer | Engage passers-by outside opening hours |
| Loyalty enrollment display | Signup form | Drive program membership without cashier friction |
Using a separate [tracked link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) for each placement gives you scan data per zone. Over a few weeks you can see whether the fitting room card or the shelf edge label drives more scans — and reallocate printed materials accordingly.
## How to set this up in Linkbreakers
### 1. Create one link per placement type
In Linkbreakers, create a separate link for each distinct placement — for example: `Main Street Store / Shelf Display` and `Main Street Store / Receipt`. This keeps scan analytics isolated so you can compare placement performance without data mixing.
For chains with multiple locations, include the store identifier in the link name and use [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) to group them. A tag like `2026-spring-promo` across all locations lets you pull campaign-level totals alongside per-store breakdowns.
### 2. Build a short feedback or enrollment form
For post-purchase feedback, a two-question [form](https://linkbreakers.com/help/article/how-to-create-nps-and-product-feedback-forms) is enough: a satisfaction rating (1–5 or NPS 0–10) and an optional comment field. Longer forms on mobile have high abandonment rates in retail contexts — shoppers are standing at checkout or walking to their car.
For loyalty enrollment, collect only what you need at signup: name, email, and consent. You can request additional preferences in a follow-up email after the first purchase rather than in the initial scan flow.
### 3. Use conditions to route by context
A single QR code can behave differently depending on when it is scanned. A [scheduler condition](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) lets a storefront window code point to an "in-store hours and offers" page during the day and to an online store after closing — without changing the printed code.
Similarly, a [device condition](https://linkbreakers.com/help/article/how-to-use-device-conditions) can route iPhone users and Android users to their respective app stores from the same QR code on a loyalty enrollment display.
### 4. Connect scan data to your CRM
When a shopper scans a receipt QR code and submits an NPS form, Linkbreakers can send that data to a connected CRM via webhook or integration. If you use HubSpot or Salesforce, the contact record gets updated with the satisfaction score automatically, allowing your team to follow up with detractors or reward your promoters.
## Limits and caveats
**Scans require intent.** A QR code on a shelf label will not be scanned by every person who passes it — only by shoppers who are already curious about that product. Scan rates for passive retail placements typically run 3–8% of people who see the code. High-intent placements like receipts (where the shopper just completed a transaction) perform better.
**Scan data does not identify individuals.** A scan tells you when the code was scanned, what device type was used, and approximately where the device is located. It does not tell you who the shopper is unless they complete a form that captures their details.
**Printed materials have lead times.** If you need to change which placement a QR code points to, the destination URL updates instantly in Linkbreakers — but the physical materials stay as printed. Plan destination logic before printing to reduce the need for workarounds.
**Multi-location consistency requires naming discipline.** Across dozens of stores, ad hoc link naming creates reporting confusion. Agree on a naming convention before rollout and enforce it with tags and link folders.
## Frequently asked questions
### How many QR codes does a typical retail store need?
Most stores start with three to five distinct placements: a shelf or product display code, a packaging insert or hang tag, a receipt code for post-purchase feedback, a loyalty enrollment code near the register, and a storefront window code. Each placement serves a different goal and should be a separate tracked link to keep analytics clean.
### Can I use the same QR code for multiple stores?
You can, but you lose per-store visibility. If one store is significantly underperforming on engagement and all locations share a code, you have no way to detect it. Using separate codes per location — grouped by a shared tag or campaign label — gives you both store-level and campaign-level data.
### What happens when a promotion ends?
With Linkbreakers' dynamic QR codes, you update the destination in the dashboard. A shelf label pointing to a "20% off this weekend" offer can be redirected to the standard product page when the promotion ends, without reprinting. The printed code stays on the shelf; only the destination changes.
### Can I track whether QR scans led to purchases?
Not automatically from the scan alone. To connect scan data to purchase data, you need to either capture the shopper's email at scan time and match it to your POS records, or use UTM parameters in the destination URL that pass through to your e-commerce analytics. Linkbreakers supports [custom UTM parameters](https://linkbreakers.com/help/article/can-i-add-custom-parameters-to-my-links) that you can append to any destination link.
### Do in-store QR codes work for small retailers?
Yes. The setup overhead is low — you can create and print a basic placement set in under an hour using Linkbreakers. Small retailers often start with two codes: one on the receipt for feedback and one at the register for loyalty enrollment. Analytics from even a small volume of scans give useful insight into which customers are most engaged.
---
# How trade show exhibitors use QR codes to capture and qualify leads
Source: https://linkbreakers.com/help/article/how-trade-show-exhibitors-use-qr-codes-to-capture-and-qualify-leads
## Short answer
Trade show exhibitors place tracked QR codes at their booths to capture visitor contact details the moment interest is highest. When a visitor scans, they land on a short form or digital business card exchange, and the lead is automatically pushed to a CRM with their answers and how far they got through the workflow, ready for follow-up before the show ends.
## Why QR codes work better than badge scanners at trade shows
Most large trade shows provide badge-scanning hardware, but it has real limitations: rentals are expensive, the data is locked in the event organizer's system, and scanning feels transactional. Many attendees walk away without getting scanned even when they are genuinely interested.
A QR code flips the dynamic. The visitor scans at their own initiative — which is itself a signal of intent. The experience can be tailored to what they were looking at, and the captured data flows directly into the exhibitor's own systems rather than an export that arrives days after the show.
[Scan rates at events and conferences](https://linkbreakers.com/help/article/qr-code-scan-rate-benchmarks-by-industry) typically run 15–35% of engaged visitors — the highest of any physical context outside of table QR menus.
:::try-ai-prompt {"prompt":"Build a trade show lead capture workflow with a form that collects first name, last name, email, company, and a dropdown for interest level. Then redirect to our product page.","description":"Try building a trade show lead capture workflow with the AI builder."}:::
## Common booth placements and their purpose
| Placement | Destination | Goal |
|---|---|---|
| Tabletop tent card | Short contact form or vCard exchange | Primary lead capture |
| Product demo display | Product spec sheet or video | Qualify interest in specific product |
| Pull-up banner | Company overview or case study | Warm up cold visitors |
| Handout / brochure | Digital version of the collateral | Reduce print costs; track who read it |
| Staff business card | Digital contact card | Enable visitor to save contact details |
| Giveaway sign-up | Entry form | Collect email for post-show nurture |
Using a separate [trackable link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) for each placement lets you compare which booth element drove the most scans. After two or three shows, this data tells you whether your banner copy or your product demo is doing the heavier lifting.
## How to set this up in Linkbreakers
### 1. Create one link per booth element
In Linkbreakers, create a distinct link for each placement — for example: `TradeShowName / Table Tent` and `TradeShowName / Demo Display`. Add a [tag](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) like `2026-exhibitor` so you can pull aggregate booth performance across multiple events while keeping per-show detail.
### 2. Build a short lead capture form
Keep the form to three to four fields: name, company, email, and one qualifying question ("What are you looking to solve?" with two or three options). Long forms on a phone in a noisy convention hall are abandoned. A single qualifying question is enough to separate high-intent prospects from casual visitors.
For a vCard exchange, create a [digital contact card](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers) that visitors can save directly to their phone contacts — this works better for staff business cards than a form, because it gives value immediately rather than asking for information first.
### 3. Use conditions to adjust the experience over time
A [scheduler condition](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) lets the same QR code show different destinations on day one versus day two of the show. You might lead with a demo booking offer on the first day when interest is highest, then switch to a downloadable resource on the final day when your team is too busy to schedule calls on the floor.
### 4. Route leads to your CRM automatically
Connect Linkbreakers to your CRM via the [HubSpot](https://linkbreakers.com/help/article/linkbreakers-hubspot-integration-qr-lead-capture-and-crm-sync) or [Salesforce](https://linkbreakers.com/help/article/linkbreakers-salesforce-integration-offline-lead-capture-for-enterprise) integration so that every form submission creates or updates a contact record with no manual data entry. You can include the booth placement as a custom property so your sales team knows the context when they follow up.
For real-time visibility during the show, the Linkbreakers dashboard updates as scans arrive — your team at the booth can see which placements are active and shift collateral around based on live data.
## Limits and caveats
**Form completions are lower than scan counts.** Not everyone who scans will fill out a form — many will look at the landing page and leave. Typical form completion rates for trade show lead capture run 30–55% of scans, depending on form length and the perceived value of completing it.
**Scan data reflects booth traffic, not show attendance.** A scan count tells you how many visitors engaged with a specific piece of collateral, not how many people walked past your booth. You need foot traffic data from the event organizer to calculate a true engagement rate.
**Dynamic QR codes require internet access.** If the convention center has unreliable WiFi (common at large shows), attendees on a weak cellular signal may experience slow load times. Test your landing page load speed before the show and keep forms as lightweight as possible.
**Post-show lead follow-up speed matters.** Research consistently shows that lead response time is one of the strongest predictors of conversion. The advantage of real-time CRM sync is wasted if your sales team's follow-up cadence starts a week after the show.
## Frequently asked questions
### Do I need a separate QR code for each person on my booth team?
Only if you want to track which team member sourced which lead. For most exhibitors, placement-level tracking (which booth element drove the scan) is more useful than team-member-level tracking. If you do want per-person attribution, create a separate digital contact card for each team member in Linkbreakers and track scans per card.
### Can I collect business cards digitally instead of asking visitors to fill out a form?
Yes. A two-way vCard exchange is an option: the visitor scans your QR code, saves your contact, and is then prompted to share their own details. This works better in a 1:1 conversation context than at an unmanned display. The response rate is lower than a simple form because it asks the visitor to do more steps.
### How do I compare performance across multiple trade shows?
Create a consistent naming convention for links and use shared tags across events. In Linkbreakers, a tag like `trade-shows-2026` applied to every exhibitor link lets you pull total leads captured across the year with one filter, while the individual link names give you show-by-show breakdowns.
### What should the QR code destination be if my goal is brand awareness, not lead capture?
Route to a compelling visual asset — a product video, an interactive case study, or a "how it works" animation. Use a short confirmation screen at the end that invites the viewer to leave their email if they want to follow up. You get brand impressions from everyone who scans and contact details from the subset who are genuinely interested, without requiring a form upfront.
### Can I run A/B tests on my booth during the show?
Yes, for dynamic QR codes. You can update the destination URL or swap landing page content without changing the printed code. If you want to test two different landing pages simultaneously, create two separate links with different destinations and split your placements between them — for example, use version A on table cards and version B on your banner to see which converts better.
---
# How Schools and Universities Use QR Codes for Student Engagement and Resource Distribution
Source: https://linkbreakers.com/help/article/how-schools-and-universities-use-qr-codes-for-student-engagement
## Short answer
Schools and universities use QR codes to connect physical spaces — classrooms, bulletin boards, textbooks, and event signage — to digital resources without requiring students to type long URLs or install dedicated apps. Dynamic QR codes are especially practical in education because the underlying destination can be updated each semester without reprinting any physical material.
## Common education use cases
### Course material and syllabus distribution
Placing a QR code on the first page of a printed syllabus, on a classroom whiteboard, or on a course information sheet lets students access the live course website, LMS page, or reading list with one tap. When the reading list changes mid-semester, the destination URL updates — the printed code stays the same.
This approach reduces the volume of printed handouts without removing the physical cue that reminds students to check the resource.
### Attendance and event check-in
A QR code displayed at the start of each class session or event lets students self-check-in by scanning. Each student scans a unique personal code (generated per student), or the instructor displays a session-specific code that captures scan time and device identifier as a proxy for attendance.
Using [trackable QR codes](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) for this purpose creates an auditable scan log without requiring a dedicated attendance app. The scan record includes timestamp and device data, which is sufficient for most institutional attendance tracking needs.
### Campus navigation and wayfinding
Large campuses — particularly during orientation or open days — can use QR codes on physical signs to link directly to interactive campus maps, room booking systems, or building directories. A code on a building entrance can show which rooms are in that building and which are currently occupied.
Unlike static map printouts, a QR-linked map can be updated when room assignments change without replacing the physical sign.
### Student feedback collection
Placing a QR code on exit slips, in classroom spaces, or in shared study areas provides a low-friction way to collect student feedback on a course, facility, or event. A short [form](https://linkbreakers.com/help/article/how-to-create-a-form) with two or three questions takes under a minute to complete.
Response rates for QR-accessed feedback forms tend to be higher than email-distributed surveys in student populations because the scan happens at the point of relevance — immediately after a class or experience — rather than hours later in an inbox.
### Faculty and staff contact sharing
Faculty members can include a QR code on a business card, office door, or course syllabus that lets students save contact information directly to their phone without manually entering an email address or phone number. A [digital contact card](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers) includes name, title, department, email, office hours link, and any other relevant fields in a single scannable format.
### Library and special collection access
Libraries use QR codes on physical stacks, display cases, and reading room tables to link to catalog entries, digital editions, citation guides, or research databases. A code on a shelf section can direct students to the library's guide for that subject area, reducing the need for staff-directed navigation.
## Implementation considerations for education
| Use case | Best QR type | Key metric |
|---|---|---|
| Syllabus / course materials | Dynamic URL | Scan count per semester |
| Attendance check-in | Per-session dynamic code | Scan timestamp and unique device ID |
| Campus wayfinding | Dynamic URL | Scan count per location |
| Feedback collection | Dynamic form link | Form completion rate |
| Faculty contact card | vCard / contact card | Contact saves |
| Library navigation | Dynamic URL | Scan count by section |
For institutions managing QR codes across multiple departments, [tagging codes by department or course](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) makes it straightforward to pull analytics by unit without needing separate dashboards per department.
## Limits and caveats
**Device dependency.** QR codes require a smartphone with a working camera. Most student populations have high smartphone penetration, but institutions serving lower-income populations or younger students (K-12) should provide alternatives — typed URLs, printed materials, or a dedicated kiosk — so that lack of a device doesn't create an access barrier.
**Privacy and student data regulations.** Attendance tracking by QR scan creates a record linking device identifiers to student presence. In the United States, this data may fall under FERPA; in the EU and UK, it is personal data under GDPR. Institutions should consult their data protection officer before deploying attendance tracking at scale. Anonymous feedback forms do not carry the same regulatory burden.
**Code longevity vs. semester turnover.** A QR code printed in a textbook, carved into a physical surface, or laminated on permanent signage needs to remain valid indefinitely. Dynamic codes handle this well — the redirect can point to updated content. Static codes generated by free tools cannot be redirected and become dead links when the original URL changes.
**Scan rate varies by context.** A QR code on a course information sheet distributed directly to students will scan at a much higher rate than one on a bulletin board in a corridor. For passive placements, 2–6% of passersby scanning is typical; for high-intent placements (on a handout students are actively holding), 30–60% is achievable.
## Frequently asked questions
### Can a single QR code track attendance across multiple class sessions?
Not effectively without per-session logic. If the same static code is used all semester, you can count total scans but cannot distinguish which students attended which session. The correct approach is to generate a new session-specific link for each class meeting, or use a workflow that rotates the destination by date — a [scheduler condition](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) can automate this without generating a new printed code.
### Are there FERPA or GDPR concerns with QR attendance tracking?
Yes. If the scan record is linked to an identified student — even by device ID — and retained by an educational institution, it may constitute an education record under FERPA or personal data under GDPR. Best practice is to use a form that captures a student ID number explicitly (so students are aware their attendance is being recorded) rather than passive device fingerprinting. Anonymous class-level engagement analytics (total scans, not per-student) carry minimal regulatory risk.
### What's the best way to distribute QR codes to students in a classroom?
Projecting the code on a screen at the start of class is the lowest-friction method — every student with a smartphone can scan it without any printed materials. For permanent placements, printing directly on course documents is more durable than separate QR code stickers, which peel off.
### Can students without smartphones access QR code resources?
Yes, if the institution provides a fallback. The cleanest option is to display or print the destination URL alongside the QR code — students who can't or don't want to scan can type the URL directly. For a trackable short URL, Linkbreakers generates both a QR code and a short branded link from the same destination, so one setup serves both audiences.
### How many QR codes does a typical institution need to manage?
It varies significantly. A single course might use 5–10 codes (one per major resource or activity); a full department running a dozen courses could maintain 60–120 codes. At that scale, organizing codes by workspace, using consistent naming conventions, and applying tags by course or semester makes the library manageable without dedicated IT support.
---
# How nonprofits use QR codes for donor engagement and fundraising
Source: https://linkbreakers.com/help/article/how-nonprofits-use-qr-codes-for-donor-engagement-and-fundraising
## Short answer
Nonprofits use dynamic QR codes on fundraising mailers, event displays, and physical donation boxes to bridge offline supporters to online giving pages. Because the codes are tracked, a development team can measure which campaign materials drove the most donors, compare channel performance across direct mail and events, and update destinations mid-campaign without reprinting anything.
## Why QR codes are a practical fit for nonprofit fundraising
Nonprofits rely heavily on physical materials — direct mail appeals, event banners, program booklets, and gala table cards. These materials reach engaged audiences, but measuring their actual impact has historically required manual tracking or unique URLs that are too long to type.
A QR code on a direct mail piece closes that gap. When a donor scans, you know which mailing drove that visit, which giving page they landed on, and whether they completed a donation. That data is captured per-piece, not aggregated across an entire campaign.
Nonprofits also host time-limited events — galas, auctions, volunteer days, community fairs — where QR codes can drive actions ranging from donation to volunteer sign-up to social sharing, all from a single scan.
## Common placements and their purpose
| Placement | Destination | Goal |
|---|---|---|
| Direct mail donation appeal | Online giving page | Convert offline donors to online givers |
| Event gala table card | Donation form or tribute page | Facilitate mid-event giving |
| Pledge envelope insert | Matching gift lookup page | Increase average gift via employer match |
| Volunteer flyer | Volunteer sign-up form | Reduce friction for new volunteers |
| Annual report | Impact video or program page | Steward existing donors |
| Social media print collateral | Recurring giving enrollment | Upgrade one-time donors |
| Donation box signage | Mobile giving page | Capture spontaneous in-person gifts |
Using a distinct [tracked link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) per placement — rather than one code across all materials — lets you compare which channel generates the most donor visits and completed gifts.
## How to set this up in Linkbreakers
### 1. Create one link per campaign channel
In Linkbreakers, create a separate link for each placement and tag it with the campaign name. For example: `Annual Appeal 2026 / Direct Mail` and `Annual Appeal 2026 / Gala Table Card`. Apply a tag like `annual-appeal-2026` to group them and pull combined campaign metrics without losing per-channel detail.
[Tags in Linkbreakers](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) are the most reliable way to compare channel performance at the campaign level across dozens of individual links.
### 2. Build a short donor journey
For event giving, keep the mobile experience to two steps: a brief "why give tonight" message, then a giving form. Long pages lose donors on a phone in a noisy ballroom.
For direct mail, the destination can be slightly richer — a personalized impact statement followed by a giving page. Use a [workflow condition](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) to show returning donors a different page than first-time visitors. Returning donors can be directed to a recurring giving upgrade offer; new visitors see a general introduction to your work.
### 3. Personalize by donor segment
If your direct mail is segmented — for example, lapsed donors versus active annual fund donors — create separate QR codes that route each segment to a tailored landing page or giving ask. A lapsed donor appeal that acknowledges the gap in giving converts at a higher rate than a generic ask. You can run multiple landing pages from a single mailing run without printing separate materials for each segment, as long as each segment's QR code points to its own Linkbreakers link.
### 4. Enable employer matching at the point of giving
Pledge card inserts and donation receipt pages are high-intent moments to introduce employer matching. A QR code linking to a matching gift lookup tool — where donors enter their employer name to check eligibility — can lift average gift size by 30–70% when matched gifts are confirmed in the flow. This is one of the highest-ROI additions a nonprofit can make to a physical donation experience.
### 5. Measure what you print
After each mailing or event, the [Linkbreakers dashboard](https://linkbreakers.com/help/article/how-do-businesses-monitor-qr-code-scans-in-real-time) shows scan count, device type, scan timing, and geographic distribution for each link. For direct mail, this answers the core question: what percentage of recipients engaged with your appeal, and from which zip codes? Over two or three campaigns, this data informs segmentation decisions and print volume.
## Limits and caveats
**Scans measure engagement, not donation completion.** A scan tells you a donor visited the giving page; it does not confirm a gift was made. To track actual donation conversion, your giving platform's analytics or a form completion event in Linkbreakers needs to be the downstream signal.
**QR codes on physical mail require good print quality.** A code printed too small or on a dark background will fail to scan on older phone cameras. Follow the [QR code scanability guidelines](https://linkbreakers.com/help/article/qr-code-scanability-best-practices-contrast-readability-optimization): minimum 2 cm × 2 cm printed size, high contrast, and quiet zone around the code.
**Donor demographics affect scan rates.** Older donor segments — which represent the majority of major gift donors at many nonprofits — scan at lower rates than younger audiences. QR codes supplement but do not replace URL or phone giving options for those segments.
**Dynamic QR codes require an internet connection.** Donors scanning in low-connectivity areas (rural events, underground venues) may experience slow load times. Test page speed and keep landing pages lightweight.
## Frequently asked questions
### Can I use one QR code across all my fundraising materials?
You can, but you lose channel attribution. Without separate codes per placement, you cannot tell whether donations came from your gala tables or your spring mailer. The cost of creating multiple links in Linkbreakers is low; the insight you gain from channel data typically justifies the extra setup.
### How do I update the donation destination mid-campaign?
Because Linkbreakers uses dynamic links, you update the destination URL in the dashboard and the printed code keeps working. This is particularly useful for events: the same QR code on a gala table card can point to a matching gift form during dinner and redirect to a tribute fund after the live auction closes.
### Can I collect donor contact information from a QR scan?
Not from the scan itself — a scan tells you device type, location, and timing, but does not identify the donor. To capture contact details, the landing page needs a form step. For existing donors, you can pre-fill known fields by appending query parameters to the destination URL if your giving platform supports it.
### What's a realistic scan rate for a nonprofit direct mail piece?
[Scan rate benchmarks](https://linkbreakers.com/help/article/qr-code-scan-rate-benchmarks-by-industry) for direct mail generally run 1–4% of recipients. For a house file mailing to active donors, where recipients have a prior relationship with the organization, rates of 3–7% are achievable with a clear call-to-action. Event materials scan at higher rates — typically 10–25% of attendees — because recipients are already in an engaged, in-person context.
### Should each donation campaign have its own QR code or can I reuse codes from prior years?
Create new codes each campaign. Reusing old codes means prior-year scan data mixes with current-year data, making it impossible to accurately measure campaign performance. In Linkbreakers, archiving old campaign links and creating fresh ones for each cycle keeps your analytics clean and comparable year over year.
---
# How coffee shops and cafes use QR codes for loyalty programs and repeat visits
Source: https://linkbreakers.com/help/article/how-coffee-shops-and-cafes-use-qr-codes-for-loyalty-programs
## Short answer
Coffee shops and cafes place QR codes at counters, tables, and on receipts to enroll customers in loyalty programs, collect feedback, and prompt repeat visits — without a printed stamp card or dedicated app. When a customer scans, they land on an enrollment form or reward page, and the interaction is automatically logged so you can measure which placements actually drive sign-ups.
## Why cafes are a strong fit for QR-based loyalty
Repeat visits are the economic engine of a cafe. A customer who visits twice a week is worth far more annually than a one-time visitor, but most independent and small-chain cafes lack the budget for a proprietary app-based loyalty system.
QR codes bridge that gap. A single scannable code on a counter card or cup sleeve can replace the paper punch card, capture the customer's contact details for follow-up, and tell you which touchpoints actually convert — all without hardware or an app installation on the customer's phone.
QR codes also give cafe owners something paper cards never could: data. Each scan generates a timestamp, device type, and location signal, so you can see whether counter placements outperform receipt codes, or whether morning customers enroll at a different rate than afternoon visitors.
:::try-ai-prompt {"prompt":"Build a cafe loyalty workflow: add a form collecting email and first name with the title 'Join our loyalty program', then redirect to a thank you page.","description":"Try building a cafe loyalty signup workflow with the AI builder."}:::
## Common placements and what each one captures
| Placement | Destination | Signal captured |
|---|---|---|
| Counter card or table tent | Loyalty enrollment form | Sign-up intent at peak attention |
| Printed receipt | Post-visit feedback or referral prompt | Post-purchase engagement |
| Cup sleeve | Loyalty page or social follow | Passive discovery during consumption |
| Window decal | Welcome offer for first-time visitors | New visitor conversion |
| Takeaway bag | Reorder or review prompt | Repeat purchase encouragement |
Each location should use a separate tracked QR code. This lets you compare enrollment rates by placement and retire formats that don't convert.
## How to set this up in Linkbreakers
### 1. Create one link per placement
In Linkbreakers, create a [tracked link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) for each physical location — counter card, receipt, cup sleeve. Use a consistent naming pattern like `Cafe Name / Counter Card` so analytics stay organized as you scale to more locations.
### 2. Build a short enrollment form
A loyalty enrollment form for a cafe should take under 30 seconds to complete. Create a [Linkbreakers form](https://linkbreakers.com/help/article/how-to-create-nps-and-product-feedback-forms) with two to three fields at most:
- First name
- Email address
- Optional: "How did you hear about us?"
After submission, redirect to a confirmation page that shows the first reward — a discount code or a digital stamp credit — immediately. Instant gratification increases both completion rates and the chance that the customer saves the contact.
### 3. Route returning visitors differently
A customer who has already enrolled and scans again should see a different page than a first-time visitor. Using a [scan/rescan condition](https://linkbreakers.com/help/article/how-to-use-scan-rescan-conditions), you can route first-time scanners to the enrollment form and repeat scanners to a loyalty status page or a referral prompt.
### 4. Collect post-visit feedback separately
Add a second QR code to receipts that points to a [two-question feedback form](https://linkbreakers.com/help/article/how-to-build-a-customer-journey-with-forms):
- "How was your experience today?" (1–5 scale)
- "Anything we could improve?" (open text, optional)
Keep this code distinct from the loyalty enrollment code so feedback data stays separate from sign-up analytics.
### 5. Tag by location for multi-site operators
For cafes with more than one location, use Linkbreakers [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) to group links by site. This lets you filter analytics by location without creating separate workspaces, and compare enrollment rates across stores at a glance.
## Limits and caveats
**QR codes are not a full loyalty platform.** Linkbreakers handles data capture, routing, and analytics — but tracking accumulated points and issuing rewards requires an external system: a simple spreadsheet, an email tool like Mailchimp, or a dedicated loyalty platform. The QR code is the enrollment and measurement layer, not the points engine.
**Scan rates depend heavily on prompting.** A QR code placed on the counter without a visible call-to-action or staff mention will generate far fewer scans than one accompanied by "scan here for your free drink on your fifth visit." Verbal prompts and clear printed instructions have more impact than placement alone.
**Cup sleeves have low practical scan rates.** In-hand scanning is physically inconvenient. Cup sleeve QR codes work better for brand awareness or social follows than for loyalty enrollment — save the enrollment code for stationary placements where the customer has a free hand and a moment to spare.
**Anonymous scans without form completion give limited data.** High scan-to-form-abandonment rates usually mean the form is too long or the reward is not compelling enough. If more than 60% of scanners leave before submitting, revisit the offer or reduce the number of fields.
## Frequently asked questions
### Do customers need to download an app to use the loyalty program?
No. The QR code opens a mobile web page — no app install or account creation is required on the customer's side. The flow is: scan, fill in name and email, see the confirmation. It works on any modern smartphone camera.
### Can I update the loyalty form destination without reprinting the QR codes?
Yes. Linkbreakers QR codes are dynamic, so the destination URL is stored on the server and can be changed at any time from the dashboard. If you switch to a new loyalty platform or update the welcome offer, you change the destination and the printed codes remain valid.
### What's the best reward to offer at the first scan?
Immediate, friction-free rewards outperform deferred ones: a discount on the current visit, a free size upgrade, or an instant digital stamp credit. Rewards that require a future visit to redeem have lower form completion rates because the value is not felt right away.
### How do I know if the program is working?
Track two metrics over time: enrollment rate (form submissions ÷ scans) and repeat-scan volume. A dropping enrollment rate points to a friction problem in the form or an unappealing offer. Growing repeat-scan volume from the same devices is the earliest indicator that enrolled customers are returning.
### Can I run different offers at different times of day?
Yes. Using a scheduler condition, you can configure the code to show a morning offer before 11am and an afternoon offer after — from the same printed code. The destination changes automatically on the schedule you set, with no reprinting required.
---
# How car dealerships use QR codes for test drives and lead capture
Source: https://linkbreakers.com/help/article/how-car-dealerships-use-qr-codes-for-test-drives-and-lead-capture
## Short answer
Car dealerships attach QR codes to vehicle window stickers, lot signs, and brochures to let shoppers pull up specs, request a price, or book a test drive from the lot — on their own terms. Each scan is logged with a timestamp and device type, so the sales team knows exactly which vehicles generated interest and when, even for visitors who never spoke to anyone.
## Why QR codes fit the car-buying journey
Car shoppers are among the most self-directed buyers in retail. Studies consistently show that most buyers research extensively online before visiting a dealership, and many prefer to explore the lot before engaging with a salesperson. A QR code meets them at that moment of intent — when they are standing in front of a vehicle — without requiring any human intervention.
The physical lot is also a natural QR environment. Vehicles sit still, placements are permanent between inventory turns, and shoppers are already holding their phones to look up reviews and prices. A well-placed code on a window sticker captures that behavior inside your ecosystem rather than sending it to a third-party listing site.
[Scan rate benchmarks by industry](https://linkbreakers.com/help/article/qr-code-scan-rate-benchmarks-by-industry) show that retail settings with high-consideration purchases — where shoppers take time to evaluate — produce some of the most consistent scan engagement.
## Common placements and their purpose
| Placement | Destination | Goal |
|---|---|---|
| Window sticker (Monroney label area) | Full vehicle spec sheet + pricing form | Capture contact details for serious shoppers |
| Lot placard or stake sign | Test drive booking form | Convert walk-in intent to a scheduled appointment |
| Showroom floor display | 360° interior walkthrough or feature video | Engage visitors during wait time |
| Service department counter | Service appointment booking form | Reduce front-desk workload on returning customers |
| Sales team business card | Digital contact card (vCard) | Let buyers save the salesperson's details immediately |
| Printed brochure or flyer | Inventory search filtered to that model | Bridge print to digital without redirecting to a competitor |
Using a separate [trackable link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) for each vehicle and placement makes it possible to rank inventory by scan interest — a signal that is more reliable than gut feeling when deciding which models to feature prominently.
## How to set this up in Linkbreakers
### 1. Create one link per vehicle (or model tier)
For large inventories, creating a link per individual vehicle is practical because window stickers are reprinted each time a car is sold. Use a naming convention like `[Lot] / [Year Make Model] / [VIN last 6]` to stay organized.
For smaller lots or when reprinting per vehicle is not feasible, create one link per model tier (for example, `2026 Sedan Base`, `2026 Sedan Sport`) and accept that scan data is aggregated at the model level rather than the individual vehicle.
### 2. Build a concise lead capture form
Keep the form to four fields maximum: name, phone number, email, and a single qualifying question such as "Are you looking to buy in the next 30 days?" with a yes/no option. A longer form on a phone in a parking lot will not be completed.
For test drive bookings, include a date picker or offer two or three specific time slots. Removing open-ended scheduling friction increases completion rates significantly.
### 3. Route leads to your CRM automatically
Connect the form to your CRM via the [HubSpot integration](https://linkbreakers.com/help/article/linkbreakers-hubspot-integration-qr-lead-capture-and-crm-sync) or another supported connector so that every submission creates a contact record with the vehicle of interest pre-populated. Sales staff get an alert with the lead's details and the specific car they were examining — context that is otherwise lost when buyers call in or walk away without talking to anyone.
### 4. Differentiate first-time visitors from return visitors
A shopper who scans the same vehicle code on a second visit is significantly further along in the buying decision than a first-time scanner. Use [rescan conditions](https://linkbreakers.com/help/article/how-to-use-scan-rescan-conditions) to show a different destination on subsequent scans — for example, routing a returning visitor directly to the test drive booking form rather than the spec sheet they already read.
## Limits and caveats
**Scan data reflects interest, not purchase intent alone.** A scan tells you that someone stood next to a vehicle and was curious enough to scan. It does not confirm they are qualified buyers. Combining scan data with form completions and CRM outcomes gives you a conversion funnel; scan counts alone are a top-of-funnel signal only.
**Window sticker QR codes need to travel with the vehicle.** When a vehicle is sold and the window sticker is removed, that link's scan data stops. Build your naming convention so historical data stays accessible in your analytics dashboard even after the link is archived or updated.
**Lot lighting and scan distance matter.** A QR code smaller than 2.5 cm printed on a window sticker can be difficult to scan from a normal viewing distance, especially in low light. Follow [scanability best practices](https://linkbreakers.com/help/article/qr-code-scanability-best-practices-contrast-readability-optimization) — print the code at 3 cm or larger and ensure sufficient contrast with the background.
**Dynamic QR codes require a mobile data connection.** If parts of your lot have poor signal, some scans will time out before the landing page loads. Keep landing pages lightweight and consider adding a short URL below the code as a fallback.
## Frequently asked questions
### Should I use one QR code for the whole lot or one per vehicle?
One per vehicle gives you the most useful data — you can rank inventory by scan rate, identify which specific cars attract the most walk-in interest, and tailor follow-up messaging to the exact vehicle each lead examined. One code per model tier is a workable middle ground for large inventories where per-vehicle reprinting is impractical.
### What happens to the QR code when a car is sold?
Update the destination URL in Linkbreakers to redirect to an "this vehicle has sold" page or to a similar model in inventory. Because the code is dynamic, the physical sticker does not need to be changed. Historical scan data for that link is preserved in your dashboard for reporting.
### Can I see which vehicles on the lot have zero scans?
Yes. In Linkbreakers, links with zero scans in a selected date range show zero in the analytics table. Filtering for no activity over the last 30 days identifies inventory generating no lot interest — useful for repositioning, repricing, or improving placement.
### Can the service department use the same setup?
Yes. A QR code at the service counter pointing to an appointment booking form follows the same pattern. You can create a separate workspace or tag group for service versus sales to keep analytics separate. [NPS and feedback forms](https://linkbreakers.com/help/article/how-to-create-nps-and-product-feedback-forms) work well at the service pickup area to collect satisfaction data before customers leave the building.
---
# How restaurants use QR codes for table ordering, guest feedback, and loyalty programs
Source: https://linkbreakers.com/help/article/how-restaurants-use-qr-codes-for-table-ordering-guest-feedback-and-loyalty
## Short answer
Restaurants place QR codes at tables, on receipts, and near the exit to serve digital menus, collect post-meal feedback, enroll loyalty members, and prompt online reviews. Because the scan happens in a seated, low-distraction environment, restaurants achieve the highest QR scan rates of any industry — typically 40–70% of table occupants scan a code when there's a clear reason to do so.
:::try-ai-prompt {"prompt":"Create a post-meal feedback form with a rating field for food quality, a rating field for service, and a comment box. Then redirect to our Google Reviews page.","description":"Try building a restaurant feedback workflow with the AI builder."}:::
## Common restaurant QR use cases
### Digital menus
The most widespread restaurant QR application. A QR code at the table links to a PDF or a hosted menu page. Dynamic QR codes let you update pricing, mark items as sold out, and add seasonal specials without reprinting the code or the coaster. The hospitality industry has normalized QR menus, so most guests no longer need prompting.
### Post-meal feedback
Printed on the receipt or placed on a table tent at the end of the meal, a feedback QR code captures opinions while the experience is fresh. A short form (3–5 questions, one NPS score) takes under a minute to complete and gives the kitchen and front-of-house teams actionable data by shift.
Tracking which table or server triggered the feedback helps managers spot patterns: if a specific section consistently scores lower, it may be a noise or seating issue rather than a service problem. For NPS-based routing, see [how to route visitors based on NPS scores](https://linkbreakers.com/help/article/how-to-route-visitors-based-on-nps-scores) — you can send happy guests (9–10 score) directly to Google or Yelp, while unhappy guests (0–6) go to a private recovery form.
### Loyalty and repeat-visit enrollment
A QR code on the receipt, table card, or at the host stand takes guests to a loyalty sign-up page. Because the guest is physically present and has just completed a meal, enrollment rates run significantly higher than email-based loyalty campaigns. Tracking which placement drives the most sign-ups helps you focus print placement on what actually works.
### WiFi access
A QR code that connects guests to the restaurant's WiFi eliminates the "what's the password?" conversation. Most modern Android and iOS devices support WiFi QR codes natively. It's a low-stakes but high-frequency use case — it builds the habit of scanning at that venue, which improves engagement on other QR touchpoints.
### Online review prompts
After a positive interaction, a QR code at the exit or on the receipt directs satisfied guests to leave a Google or Yelp review. Restaurants that systematically prompt reviews this way accumulate them faster than those that rely on guests to find the review page on their own.
## Setting this up in Linkbreakers
### Create separate links per touchpoint
Create a distinct Linkbreakers link for each QR use case — menu, feedback, loyalty, WiFi — and tag them by location if you run multiple venues. This gives you per-location, per-use-case scan data in one dashboard without mixing signals.
For the feedback flow specifically, [create a form in Linkbreakers](https://linkbreakers.com/help/article/how-to-create-a-form) with a satisfaction score and 2–3 open questions. Use a workflow condition to fork responses: high scores route to your Google review link, low scores route to an internal recovery message or your ops team's inbox.
### Track scan volume by meal period
Add a [scheduler condition](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) to show different content at lunch versus dinner, or to surface a weekend special that doesn't apply on weekdays. Since the destination can be updated without reprinting, you can also run time-limited promotions without new print materials.
### Use tags for multi-location visibility
If you operate multiple locations, tag each group of QR codes with the location name. Linkbreakers aggregates scan data across tags, so you can compare engagement across venues without maintaining separate reports.
## Limits and caveats
**Menu QR codes depend on mobile data or WiFi.** If your venue has poor cellular coverage and no guest WiFi, load times may degrade or fail entirely. A hybrid approach — QR menus backed by a small number of physical menus — prevents this from affecting service during peak hours.
**Feedback form completion rates are low.** Even motivated guests rarely complete more than 3–5 questions. Longer forms significantly reduce completion rates. A single NPS question with an optional comment box typically outperforms a 10-question survey by 3:1 in response volume.
**QR ordering doesn't replace staff for upselling.** Restaurants that move to QR ordering without follow-up table interaction see lower average check sizes in table-service settings. QR works best as a complement to staff interaction, not a replacement.
**Review-gating violates Google's policies.** Routing only high-scoring guests to Google reviews while routing negative scores elsewhere is called "review gating" and violates Google's terms. Use NPS routing to send all guests to your public review page — just create a recovery path for dissatisfied guests rather than hiding them.
## Frequently asked questions
### How many QR codes should a restaurant have?
Most table-service restaurants benefit from 3–5 distinct QR touchpoints: a menu code, a post-meal feedback code, a loyalty sign-up code, and a WiFi code. Each serves a different moment in the guest journey. Using one code for all purposes reduces tracking precision and limits your ability to optimize individual touchpoints independently.
### What format works best for restaurant QR codes?
SVG or high-resolution PNG. Restaurant environments are often dimly lit and materials vary in quality — coasters, receipts, tent cards. High-contrast codes with adequate quiet zones scan reliably in low-light conditions. See [which QR code export format to choose](https://linkbreakers.com/help/article/which-qr-code-export-format-should-i-choose) for size and format guidance.
### Can I update the menu linked to a QR code without reprinting?
Yes, for dynamic QR codes. Change the destination URL in Linkbreakers and the printed code continues to work. Seasonal menus, price changes, and availability updates can go live in seconds without new print materials.
### How do restaurant scan rates compare to other industries?
Restaurant table QR codes have the highest scan rates of any physical context — 40–70% of guests scan when prompted, compared to 3–8% for retail in-store signage. This is because the scan replaces a habitual action (reading a physical menu) rather than asking guests to do something extra. See [QR code scan rate benchmarks by industry](https://linkbreakers.com/help/article/qr-code-scan-rate-benchmarks-by-industry) for a full breakdown.
### Can QR codes help recover unhappy guests before they leave a bad review?
Yes. The most effective approach is a feedback QR code on the receipt combined with NPS routing. A guest who gives a low NPS score is routed to a private form ("Tell us what went wrong") rather than a public review site. Your manager gets an alert and can follow up before the guest leaves or the next morning. This creates a recovery window that passive review monitoring doesn't provide.
---
# How Beauty Salons and Spas Use QR Codes for Appointment Booking and Client Retention
Source: https://linkbreakers.com/help/article/how-beauty-salons-and-spas-use-qr-codes-for-appointment-booking-and-client-retention
## Short answer
Beauty salons and spas use QR codes at reception counters, mirrors, product shelves, and on printed business cards to let clients book appointments, join loyalty programs, and leave reviews — without requiring staff to ask every time. Because the codes are dynamic and tracked, salon owners can see which placements actually drive bookings and update destinations without reprinting materials.
## Why salons and spas are a strong fit for QR tracking
Salons and spas have one consistent operational problem: clients leave without rebooking. Front desk staff often don't have time to prompt every client, and clients are distracted during checkout. A QR code at the payment counter or on a take-home card gives clients an easy path to rebook on their own time — even hours after they leave.
Spas also have idle client time to work with. Clients wait during treatments, sit under dryers, or rest post-service. A QR code visible during those windows can convert waiting time into a loyalty signup, a rebook, or a product inquiry — without interrupting the service experience.
## Where salons and spas typically place QR codes
| Placement | Destination | What you learn |
|---|---|---|
| Reception/payment counter | Online booking page | How many clients rebook same-day vs. days later |
| Mirror card in treatment rooms | Loyalty signup or rebook link | Engagement from clients mid-treatment |
| Business card (stylists/therapists) | Stylist booking page | Individual staff booking performance |
| Product display shelf | Product info or purchase link | Interest by product category |
| Waiting area | Service menu or WiFi access | Browsing behavior before service |
| Exit card (with tip envelope) | Review request + rebook prompt | Post-service conversion rate |
Using separate QR codes per placement is the key advantage: you can compare which locations actually drive bookings versus which are ignored. That information is more useful than knowing total bookings alone.
## How to set this up in Linkbreakers
### 1. Create a tracked link per placement
In Linkbreakers, create a separate [tracked link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) for each physical location. Use a clear naming convention — for example: `City Salon / Reception Counter` or `City Salon / Exit Card`.
This keeps scan analytics isolated by placement and lets you make data-informed decisions about where to invest in printed materials.
### 2. Build a post-visit feedback workflow
Create a short [feedback form](https://linkbreakers.com/help/article/how-to-create-nps-and-product-feedback-forms) for clients leaving a treatment. Keep it to two questions: a satisfaction rating and an open comment field. A [workflow condition](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) can route satisfied clients (score 8–10) to your Google or Yelp review page, while lower scores land on a private form that notifies the manager. This intercepts negative feedback before it reaches public review platforms.
### 3. Add a loyalty sign-up path
If your salon runs a loyalty program, a QR code on the exit card or reception desk can link to a [multi-step form](https://linkbreakers.com/help/article/how-to-build-a-customer-journey-with-forms) that collects name, email, and birthday in one flow. Clients are more likely to sign up immediately after a positive visit than when prompted by a cold email later.
### 4. Monitor stylist-level booking performance
If each stylist has a business card with a personal QR code, Linkbreakers tracks how many clients scan that code and how many complete a booking or sign-up. Over time, this gives you a per-staff comparison — which stylists generate the most repeat bookings through their card, and who might benefit from a different call-to-action.
## Limits and caveats
**Scan rates depend on prompting, not just placement.** A QR code silently left on a counter performs worse than one a staff member points to with a brief verbal cue ("Scan this to rebook anytime"). Design the prompt into your staff workflow, not just the physical setup.
**Anonymous scans don't identify the client.** A scan tells you that someone interacted with the code at a specific location and time. To connect a scan to a named client, the destination form must ask for identifying information. Linkbreakers captures [scan data including device and city-level location](https://linkbreakers.com/help/article/what-data-you-can-collect-from-qr-code-scans-location-device-behavior), but client identity comes from the form submission itself.
**Dynamic codes eliminate reprinting costs.** If you switch booking platforms or loyalty tools, update the destination URL in Linkbreakers and all existing printed codes continue to work. Static QR codes from free generators require reprinting every time the destination changes.
**Small salons accumulate data slowly.** With 20–30 clients per day, it takes several weeks to gather enough scan data to draw reliable conclusions about placement performance. Use a 30-day minimum window before making changes based on the numbers.
## Frequently asked questions
### Do clients need to download an app to scan the code?
No. Native camera apps on modern iPhones and Android phones read QR codes without any additional software. No login or account is required on the client's side.
### Can I use one QR code for both booking and loyalty sign-up?
You can direct clients through a single link that leads to a landing page with both options. If you want to measure which clients came for booking versus loyalty separately, use distinct codes or include an intent question at the start of the form.
### My booking software already generates a QR code — why would I add another layer?
Most booking platforms generate a static QR code pointing to their domain. These codes are not tracked, cannot be redirected, and give you no placement-level analytics. Wrapping a Linkbreakers tracked link around your booking URL adds the analytics layer without changing your booking software or requiring clients to use a different flow.
### How many placements should I start with?
Start with two: the payment counter and the exit card. These are the highest-intent moments — the client is completing a transaction or about to leave — and they give you a quick baseline for scan rates before investing in additional printed materials.
### Can I track which stylist's card generates the most bookings?
Yes. Create one Linkbreakers link per stylist, each pointing to their individual booking page. The scan analytics show which cards clients are actually using and which generate completed bookings, giving you an objective performance comparison across staff.
---
# How vacation rental hosts use QR codes for guest communication
Source: https://linkbreakers.com/help/article/how-vacation-rental-hosts-use-qr-codes-for-guest-communication
## Short answer
Vacation rental hosts place dynamic QR codes throughout the property to give guests instant access to check-in instructions, WiFi credentials, appliance guides, and local recommendations — without printing packets that go out of date. A tracked code also tells you which resources guests actually use, so you can improve the welcome experience over time.
## Why QR codes fit short-term rentals
Guests arrive in an unfamiliar space and need answers fast: the WiFi password, how the smart lock works, where to find extra towels. Hosts typically handle this with a paper welcome binder — which gets ignored, torn, or left behind — or by fielding repetitive WhatsApp messages.
A QR code mounted near the front door or on the kitchen counter puts all of that information on the guest's phone in two seconds. Because it uses a [dynamic link](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns), you can update the destination without touching the printed code — useful when WiFi passwords rotate, checkout procedures change, or you add new appliance instructions.
This approach is increasingly common in professionally managed short-term rentals and is starting to replace the binder format entirely.
## Common placements and what they link to
| Placement | Destination | Guest need |
|---|---|---|
| Front door / key lockbox area | Check-in instructions + door code | Arriving guests |
| Kitchen counter | WiFi password, appliance guides, trash schedule | Day-one setup questions |
| Smart TV or entertainment area | Streaming setup, local channel guide | Evening questions |
| Bedroom | House rules, noise curfew reminder | Ongoing stay |
| Checkout card | Departure checklist + feedback form | Smooth checkout |
| Welcome card or binder cover | Master property guide or multi-link page | Everything in one place |
For properties with multiple units, a separate tracked link per unit lets you see which properties generate the most guest questions — a useful proxy for which welcome materials need improvement.
## How to set this up in Linkbreakers
### 1. Build a property guide page
Create a [multi-link page](https://linkbreakers.com/help/article/what-is-a-multi-link-page) in Linkbreakers that lists the key resources: WiFi details, appliance instructions (link to YouTube videos if available), house rules, local restaurant picks, and the host's contact info. This single URL becomes the default destination for your main welcome QR code.
You can update any section of this page between guests without changing the printed code.
### 2. Create a digital contact card for the host
Add a [contact card](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers) with the host's name, phone number, and WhatsApp link. Guests can save it directly to their phone contacts, making it easy to reach out if something breaks or they have a question. This replaces the need to handwrite contact details on paper each time.
### 3. Use a scheduler condition to show different content at checkout
A [scheduler condition](https://linkbreakers.com/help/article/how-to-use-scheduler-conditions) lets the same QR code show different destinations depending on the day or time. For example, the front-door code can display check-in instructions from 3 PM on arrival day, then automatically switch to checkout reminders on the morning of departure day. The guest scans the same code and sees whatever is relevant at that moment.
### 4. Collect post-stay feedback
A checkout card on the nightstand or left near the door with a separate QR code can link directly to a short [feedback form](https://linkbreakers.com/help/article/how-to-create-nps-and-product-feedback-forms). Three to four questions — overall satisfaction, cleanliness, accuracy of listing description, anything to improve — takes under a minute to complete and gives you structured data outside the public review system.
This is particularly useful for addressing issues privately before the guest leaves a public review on Airbnb or VRBO.
## Limits and caveats
**Dynamic QR codes require internet access to resolve.** If your property is in an area with poor mobile coverage, guests scanning at arrival may not be able to load the linked content. For WiFi credentials specifically, consider printing the password in plain text alongside the QR code as a fallback.
**Guests don't always scan.** QR code adoption among older guests or international visitors can be lower. A physical welcome binder or printed card alongside the QR code ensures every guest has access to the same information regardless of scanning behavior.
**Update cycles matter for accuracy.** The advantage of dynamic codes is that you can update links between stays — but only if you actually do. Set a reminder in your property management workflow to review and update QR code destinations at the start of each season or whenever pricing, house rules, or appliances change.
**Tracked codes reveal engagement, not comprehension.** Analytics show that a guest scanned the appliance guide, not whether they read it. If the same appliance generates repeated questions despite a linked guide, the guide content itself may need improvement.
## Frequently asked questions
### Can I use one QR code for all the information?
Yes. A single welcome QR code pointing to a [multi-link page](https://linkbreakers.com/help/article/what-is-a-multi-link-page) with sections for WiFi, appliances, local tips, and checkout is the simplest setup. The tradeoff is that you lose placement-level analytics — you won't know whether guests were looking for WiFi information specifically versus checkout instructions. Starting with one code is fine; add placement-specific codes once you want that level of detail.
### How do I handle WiFi passwords securely?
WiFi credentials linked via a QR code are only as secure as your network setup. For most vacation rentals, a guest-only network with a rotating monthly password is standard practice. Post the current password on your multi-link page and update it between stays — with a dynamic link, the printed QR code never needs to be replaced, even when the password changes.
### Do I need a separate QR code for each stay?
No. A dynamic QR code is reusable indefinitely. The same printed code works for every guest as long as the linked content is current. Only static QR codes — which encode a URL directly — need to be reprinted when the destination changes.
### How does this compare to what hotels do?
Hotels use QR codes primarily for digital menus, room service ordering, and check-out prompts. Vacation rentals have different needs: longer stays, no on-site staff, and more self-service operations. See [how hotels use QR codes to collect guest feedback](https://linkbreakers.com/help/article/how-hotels-use-qr-codes-to-collect-guest-feedback) for a comparison of the hospitality use case.
### What scan rate should I expect from welcome QR codes?
In-room and in-property QR codes placed at key decision points — front door, kitchen counter — tend to see higher scan rates than codes in less prominent spots, since guests encounter them when they have an active need. Based on [placement benchmarks for physical QR codes](https://linkbreakers.com/help/article/qr-code-physical-placement-benchmarks), codes placed at natural pause points (arrival, meal prep, departure) consistently outperform those placed on walls or at eye-level displays where guests are moving past quickly.
---
# How pharmacies use QR codes for prescription pickup and patient education
Source: https://linkbreakers.com/help/article/how-pharmacies-use-qr-codes-for-prescription-pickup-and-patient-education
## Short answer
Pharmacies use QR codes on prescription bags, counter signage, and receipts to reduce staff interruptions for routine queries, deliver patient-specific medication instructions, and collect satisfaction feedback after pickup. Because the scan happens at the point of need — while the patient is holding the medication — completion rates on linked content are higher than email or phone campaigns for the same information.
## Where pharmacies place QR codes
Pharmacies have a handful of high-impact locations that fit QR deployments naturally:
| Placement | Destination | What you learn |
|---|---|---|
| Prescription bag | Medication instruction page | How many patients review their own instructions |
| Counter signage | Refill request form | Walk-in vs. self-serve refill volume |
| Consultation waiting area | Patient intake questionnaire | Pre-consultation data collected without staff effort |
| Checkout receipt | NPS or satisfaction survey | Post-visit sentiment scores |
| Medication insert | Drug usage guide or interaction checker | Patient education engagement rates |
Using a separate QR code per placement is important. Combining all placements under one code collapses the data and makes it impossible to identify which location drives engagement — or complaints.
## Common pharmacy QR use cases
### Medication instructions and drug information
Pharmacies produce instruction sheets for many prescriptions. A QR code on the bag or insert links to a digital version of those instructions — easier to update when guidance changes, and available in multiple languages without reprinting. [Dynamic QR codes](https://linkbreakers.com/help/article/dynamic-vs-static-qr-codes-key-differences) let you change the destination URL without touching the printed code, so if instructions are revised after a safety update, the old printed bags still work.
Patients who return to the instruction link days after pickup are counted as returning visitors in analytics — a signal that they're actively referencing the material rather than ignoring it.
### Refill requests
A QR code on the prescription bag or a shelf card at the counter links to a short refill request form. Patients complete the form while waiting or at home, and the form submission triggers a notification to your team's inbox or pharmacy management system. This reduces refill phone call volume during peak hours when staff are already busy with in-person patients.
For recurring refills, pair the form with a [Linkbreakers workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) that captures the patient's preferred refill date and sends a reminder link at the right time.
### Patient intake for consultations
Independent pharmacies that offer medication reviews, vaccinations, or chronic disease consultations can use QR codes in the waiting area to pre-collect patient information. A short [intake form](https://linkbreakers.com/help/article/how-to-create-a-form) covering current medications, allergies, and the reason for the consultation reduces face-to-face data collection time and gives the pharmacist the information in a readable format before the appointment starts.
This follows the same logic as [QR-based patient intake in healthcare clinics](https://linkbreakers.com/help/article/how-healthcare-clinics-use-qr-codes-for-patient-intake) — the scan replaces a clipboard, and the form data is already digital when the patient sits down.
### Post-visit satisfaction scores
A QR code on the receipt or at the exit collects a brief satisfaction rating. A single NPS question with an optional comment field takes under 30 seconds to complete. Route high scores (9–10) to a Google review prompt; route low scores (0–6) to a private feedback form that alerts your team before the patient leaves a public review.
### New patient registration
A QR code at the pharmacy entrance or on a welcome flier routes new customers to a digital registration form. Capturing contact details, preferred notification method, and medication history upfront reduces the initial prescription intake time at the counter.
Use [scan/rescan conditions](https://linkbreakers.com/help/article/how-to-use-scan-rescan-conditions) on the registration link to route first-time scanners to the new patient form and returning scanners to the refill request page — no reprinting needed as conditions update in real time.
## Limits and caveats
**QR codes cannot transmit prescription data.** The code links to a URL — it does not access electronic health records or communicate with pharmacy management systems directly. Any data collected through linked forms is a separate integration step. If you need form submissions to flow into your dispensing system, you need a webhook or API connection.
**Older patient demographics may need a staff prompt.** Pharmacies serve a broad age range, and some elderly patients are less likely to scan without assistance. A brief verbal prompt from counter staff — "scan this for your full medication guide" — improves adoption among patients who are less comfortable with QR codes.
**Regulatory context matters.** In many jurisdictions, patient health data is subject to HIPAA (US), GDPR (EU/UK), or equivalent regulations. Consult your compliance team before collecting health-related form responses. Linkbreakers [is GDPR compliant](https://linkbreakers.com/help/article/is-linkbreakers-gdpr-compliant), but you remain responsible for disclosing how patient data is used in your communications.
**Print placement can be obscured.** QR codes on prescription bags can be covered by stickers, tape, or dispensing labels. Use a consistent, dedicated placement area and verify scan success before committing to a print run.
## Frequently asked questions
### What information can a pharmacy QR code link to?
A pharmacy QR code can link to any URL: a medication instruction page, a refill form, a satisfaction survey, a consultation booking calendar, or a general patient resource page. The code itself contains nothing sensitive — all content sits at the linked destination, which you control.
### Can QR codes replace printed medication guides?
In most jurisdictions where printed inserts are legally required, QR codes supplement rather than replace them. They're useful for extending instructions beyond what fits on a label or one-page sheet — linking to full prescribing information, video demonstrations, or multilingual versions. Always check local regulatory requirements before removing printed materials.
### How do I track whether patients actually read their medication instructions?
Each unique scan of the instruction QR code is counted as a visitor event in Linkbreakers. You can see whether patients return to the same link on subsequent days after pickup — a signal that they're referring back to the instructions rather than scanning once and ignoring them.
### Do patients need to install an app to use QR codes in a pharmacy?
No. Any modern smartphone camera can scan a standard QR code without a dedicated app. Patients land on the linked page without creating an account or logging in. If the destination is a form, they only submit information if they choose to.
### Can I use one QR code for my whole pharmacy?
Technically yes, but it's not recommended. A single code for all touchpoints collapses all scan data into one stream, making it impossible to know whether patients are engaging with the medication instructions, the refill form, or the NPS survey. Separate codes per touchpoint give you actionable per-placement data.
---
# How to use QR codes for remote door access requests
Source: https://linkbreakers.com/help/article/how-to-use-qr-codes-for-remote-door-access-requests
:::try-ai-prompt {"prompt":"Create a QR code that visitors scan to request a remote door unlock. Collect their first name and the reason they need access, then show a thank you message.","description":"Try building a door access request workflow with the AI builder."}:::
## Short answer
Place a QR code next to a locked door — a gate, office entrance, co-working space, or building lobby. When someone scans it, they fill out a short form with their first name and the reason they need access. A confirmation message is displayed, and the request is logged so anyone with dashboard access can review it and decide whether to unlock the door remotely.
## How it works
Traditional buzzer systems require someone to be physically present or connected to an intercom. A QR-based access request replaces this with a simple scan-and-submit flow that works on any smartphone — no app download, no account creation.
### The visitor experience
1. The visitor scans the QR code posted at the door
2. A form asks for their first name and reason for the visit
3. They tap submit and see a "Thank you — your request has been received" confirmation
4. The person with access reviews the request on their dashboard and decides whether to grant entry
### What you capture
Each submission is logged as a tracked event with full device and location metadata:
- **First name** — who is requesting access
- **Reason** — why they need the door unlocked
- **Timestamp** — when the request was made
- **Device type** — mobile, tablet, or desktop
- **Location** — approximate geo from the device
- **Visit history** — whether this person has scanned before (returning visitor detection)
### Setting it up in Linkbreakers
You can build this entire flow in under two minutes using the "Assistant" feature:
1. Click **Create** and select **Assistant**
2. Describe what you need: *"Create a QR code for visitors to request a door unlock. Collect their first name and reason for access, then show a thank you message."*
3. The AI sets up the link, form fields, and confirmation page automatically
4. Download or print the QR code and place it at your entrance
Alternatively, build it manually:
1. Create a new link with a **Thank You Page** as the destination
2. Add a **Form** step to the workflow with two fields: "Your name" (short text) and "Reason for access" (short text)
3. Connect the form to the thank you page as the exit step
4. Optionally enable **Slack notifications** or **webhooks** to get instant alerts when someone submits
## Limits and caveats
- This system collects access *requests* — it does not physically unlock a door. You need a separate smart lock or access control system to act on the request.
- If you need real-time push notifications, connect a [webhook](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) or [Slack integration](https://linkbreakers.com/help/article/how-to-set-up-slack-notifications-for-qr-code-scans) to the link so you're alerted the moment someone submits.
- For higher security, add a **password step** before the form so only people with a shared code can submit a request.
## Frequently asked questions
### Can I get notified instantly when someone requests access?
Yes. Connect a Slack integration or webhook to the link. Every form submission triggers a real-time notification with the visitor's name, reason, device info, and timestamp.
### Does the visitor need to download an app?
No. The QR code opens a mobile-optimized web page directly in the phone's browser. No app install, no account creation — just scan, fill out the form, and submit.
### Can I see who has requested access before?
Yes. Linkbreakers tracks visitors across scans. If someone has scanned any of your QR codes before, they are marked as a returning visitor and their full history is visible in the [visitor analytics dashboard](https://linkbreakers.com/help/article/how-to-track-how-many-people-scanned-your-qr-code).
### Can I customize what happens after the form is submitted?
Yes. You can show a thank you message with a custom title and description, redirect to any URL, or chain additional steps like a contact card download.
### Is this secure enough for building access?
This is a request system, not an access control system. It is best suited for low-to-medium security scenarios — shared office spaces, co-working lobbies, gated communities, or delivery entrances. For high-security environments, pair it with proper access control hardware and use the password step for pre-screening.
---
# How to track QR code scans to Instagram for event marketing
Source: https://linkbreakers.com/help/article/how-to-track-qr-code-scans-to-instagram-for-event-marketing
:::try-ai-prompt {"prompt":"Create a QR code that redirects to my Instagram page. I want to track how many people scan it from my event poster.","description":"Try creating a tracked Instagram QR code with the AI builder."}:::
## Short answer
Create a dynamic QR code that redirects to your Instagram profile, then place it on your event poster or flyer. Every scan is tracked with a timestamp, device type, and approximate location. After the event, pull the analytics to show your boss exactly how many people engaged with the poster, when peak interest happened, and how that translated into profile visits.
## Why static QR codes don't work for this
If you generate a free QR code from a random website, you get a static image that points directly to your Instagram URL. It works — but you learn nothing. You can't tell if anyone scanned it, when they scanned, or whether your poster placement mattered.
A dynamic, tracked QR code gives you:
- **Scan count** — exactly how many people engaged
- **Timestamps** — when interest peaked (during the event? after? days later?)
- **Device breakdown** — mobile vs tablet vs desktop
- **Location data** — city and country of each scanner
- **Returning visitors** — people who came back and scanned again
This is the data you need to prove that your poster drove real engagement.
## How to set it up
### Option 1 — Use the Assistant (30 seconds)
1. Go to **Create** → **Assistant**
2. Say: *"Create a QR code that redirects to my Instagram page"*
3. Paste your Instagram URL when asked
4. Download the QR code and place it on your poster
### Option 2 — Manual setup (1 minute)
1. Click **Create** and enter your Instagram profile URL (e.g., `https://instagram.com/yourbrand`)
2. Give it a name like "Market Event Poster — July 2026"
3. Add a tag like "events" to organize it alongside future campaigns
4. Download or print the QR code
Either way, every scan is tracked automatically — no extra setup needed.
## Reading the results after the event
Open your Linkbreakers dashboard and click on the link. You'll see:
- **Total scans** — the headline number for your report
- **Timeline chart** — a day-by-day or hour-by-hour view of when people scanned
- **Device breakdown** — mostly mobile (people scanning from their phones at the event)
- **Location map** — confirms scans came from the event city, not bots
- **Visitor profiles** — individual scan records with device details
### Building the case for your boss
Export the data as CSV for a spreadsheet, or screenshot the dashboard. The key metrics to highlight:
1. **"X people scanned the poster"** — direct engagement proof
2. **"Peak scans happened during [time window]"** — shows the poster drove real-time action
3. **"Y% were unique first-time visitors"** — not the same person scanning twice
4. **"All scans originated from [city]"** — confirms it was event attendees, not random traffic
Compare against your Instagram follower growth during the same period. If you gained followers the same day scans peaked, the poster did its job.
## Going further
### Add a form before the redirect
Instead of sending people straight to Instagram, capture their email first. Add a one-field form ("Enter your email for event updates") before the redirect. Now you have both the scan data AND a contact list.
### A/B test poster placements
Create two QR codes with different names — one for the entrance poster, one for the table tent. Compare scan rates to learn which placement performs better for your next event.
### Track multiple events
Use tags to organize QR codes by event. After a few campaigns, you'll have benchmark data: "Our market posters average 85 scans per event" gives you a baseline to improve against.
## Limits and caveats
- Scan tracking measures QR code scans, not Instagram follows. To correlate follows, compare your Instagram insights for the same time period.
- Location data is approximate (city-level from the device's IP), not GPS-precise.
- If someone screenshots the QR code and shares it digitally, those scans are also counted — which is actually a bonus for reach measurement.
## Frequently asked questions
### Can I see exactly who scanned the QR code?
You see device information (phone type, browser, location) for each scan. If you add a form step before the redirect, you can also capture names and emails.
### Does the QR code stop working after the event?
No. Dynamic QR codes work indefinitely. You can even change the destination later — for example, redirect post-event scanners to a recap page or your next event's registration.
### Can I change the Instagram URL without reprinting the poster?
Yes. Dynamic QR codes let you update the destination URL anytime from the dashboard. The printed QR code stays the same.
### How do I prove ROI if I can't directly link scans to followers?
Show the correlation: "We had 120 scans on Saturday between 2pm and 6pm, and gained 45 new followers in the same window. Before the event, we averaged 3 follows per day." The timing alignment makes the case.
### Can I use this for TikTok, YouTube, or other social profiles?
Yes. The QR code redirects to any URL. Replace the Instagram link with your TikTok profile, YouTube channel, LinkedIn page, or any other destination.
---
# How to track QR code traffic to your online shop
Source: https://linkbreakers.com/help/article/how-to-track-qr-code-traffic-to-your-online-shop
:::try-ai-prompt {"prompt":"Create a tracked QR code that sends people to my online shop, so I can see how many scans each placement gets.","description":"Build a tracked QR code for a marketplace shop in a few seconds."}:::
## Short answer
If you sell on a marketplace, the platform owns your analytics. You can see orders, but not how people arrived. Putting a tracked QR code on your packaging, inserts or print material moves that one measurement back to you: every scan is recorded with a timestamp, device and approximate location, and the code still lands the visitor on your normal listing.
## The problem with marketplace listings
You cannot add analytics to a page you do not control. On Amazon, Etsy, eBay or a Shopify storefront you did not build, there is no way to drop in a tag and find out that the postcard in last month's parcels is outperforming the sticker on the box.
A QR code sits one step before the listing. The scan is yours to measure; the destination is still theirs to host.
| | Bare marketplace link | Tracked QR code |
|---|---|---|
| Scan count | Not available | Yes |
| When people scanned | Not available | Timestamped |
| Which placement worked | Not available | One code per placement |
| Change destination later | Reprint required | Update, no reprint |
## One code per placement
The single most useful habit is a separate code for each place a code appears. Package insert, outer box, business card, market stall sign, print ad. They can all point at the same listing.
That is what turns "we got some scans" into "the insert gets four times the scans of the box, so print more inserts." Tag each link with the campaign so the dashboard groups them.
## Step-by-step
1. Ask the assistant for a tracked QR code to your shop URL. It creates the link and the code together.
2. Make one per placement, naming each after where it goes: *insert*, *outer-box*, *stall-sign*.
3. Download and print. The code is dynamic, so the printed image never has to change.
4. After a few weeks, compare scans per placement in the dashboard.
### Going further than a redirect
A code can do more than forward. Two patterns worth knowing:
- **Route by device.** Send phone users to the marketplace app listing and desktop users to the web version.
- **Ask something first.** Put a short form in front for a discount code or a warranty registration, and you capture an email you own rather than a marketplace contact you do not.
## Limits and caveats
- Scans are not sales. The marketplace still owns the checkout, so you can prove someone arrived, not that they bought. Compare scan timing with your order report to make the link.
- A person who scans twice counts twice unless you look at the new-versus-returning breakdown.
- Location is city-level, derived from the network, not GPS.
- Check the marketplace's rules before putting a code in a parcel. Most allow a link to your own listing; many prohibit steering buyers off-platform.
## Frequently asked questions
### Can I point a QR code at an Amazon listing?
Yes. The code redirects to any URL, including a marketplace listing, a storefront, or a specific product page.
### Will I know which product the scan came from?
If you make one code per product, yes. The scan is attributed to the code, so the granularity is whatever you choose when you create them.
### Can I change where the code goes after printing?
Yes. That is the main advantage of a dynamic code. Point it at a seasonal collection now and a different one later, with the same printed image.
### Does this work for Etsy and eBay too?
Yes. Nothing about the code depends on the marketplace.
### What if the listing is taken down?
Update the destination to something else — your own site, a replacement product — and every previously printed code follows.
---
# How to run a discount offer at your booth with a QR code
Source: https://linkbreakers.com/help/article/how-to-run-a-booth-discount-offer-with-a-qr-code
:::try-ai-prompt {"prompt":"Build a booth QR code that collects an email, then shows a thank you page confirming the discount is applied, with a button to join our newsletter.","description":"Set up a show discount that collects emails at your booth."}:::
## Short answer
Put a QR code on the booth offering a show discount. Scanning opens a short form asking for an email, and submitting it lands the visitor on a page confirming the discount is applied, with an optional newsletter opt-in. You leave the show with a list of people who wanted something, not a pile of scanned badges.
## Why a discount rather than a plain sign-up
At a show, nobody gives you an email for nothing. A discount is the exchange, and it changes who ends up on your list: people who intended to buy, not people who wanted the tote bag.
It also gives you a reason to write to them afterwards that is not "we met at a show" — the offer has a deadline, which is the easiest follow-up email anyone will ever send.
## The flow
| Step | What the visitor sees | Why |
|---|---|---|
| Scan | Form asking for email | Shortest possible ask, standing up, on a phone |
| Submit | Confirmation the discount applies | Closes the loop immediately |
| Optional | Newsletter opt-in button | Separate consent, separate decision |
Keep the first form to one field. Every extra box costs you submissions, and a stranger at a booth has a queue behind them. Name and company can come later, in an email they answer sitting down.
### Keeping the opt-in separate
The discount and the newsletter are two different agreements. Someone giving you an email to claim an offer has not agreed to a mailing list. Putting the newsletter behind its own button on the confirmation page keeps the consent explicit and the list clean.
## Step-by-step
1. Ask the assistant to build the flow, including what the confirmation should say.
2. Put your real offer wording on the confirmation page — the discount amount, the code if there is one, and when it expires.
3. Print the code large enough to scan from a metre away, and put it at standing eye height rather than flat on the table.
4. During the show, watch the scan count live to see which hours and which booth positions work.
5. Afterwards, export the emails and send the follow-up before the offer expires.
## Limits and caveats
- The workflow collects the email and confirms the offer. It does not generate or validate discount codes — put a fixed code on the confirmation page, or issue codes from your own store.
- Scans are not redemptions. To connect the two, use a code unique to the show and count its uses in your checkout.
- Anyone can type any email. Expect some noise, and do not treat the raw count as qualified leads.
- Show wifi is unreliable. A visitor with no signal cannot submit the form, so keep it short enough to complete in the seconds they do have.
- Ask for consent for the mailing list explicitly. A discount opt-in is not a marketing opt-in in most jurisdictions.
## Frequently asked questions
### Should I ask for more than an email?
Not at the booth. Every additional field reduces submissions, and you can enrich the record later. If you must qualify on the spot, one dropdown is the limit.
### Can I use the same code at several shows?
You can, but you will not be able to tell them apart. Make one code per show and name it after the event.
### What if someone scans but does not submit?
You still see the scan. The gap between scans and submissions is the most useful number the flow produces — it tells you whether the offer or the form is the problem.
### Can I show a different offer to returning visitors?
Yes. A scan condition can send first-time scanners to the discount and returning ones somewhere else, such as a page about a different product.
### How soon should I follow up?
Before the discount expires, and while they remember the conversation. The week of the show beats the week after.
---
# How musicians use QR codes to promote their music
Source: https://linkbreakers.com/help/article/how-musicians-use-qr-codes-to-promote-their-music
:::try-ai-prompt {"prompt":"Create a link in bio page for my band with Spotify, SoundCloud, Instagram and tour dates, and add a form to collect emails for my mailing list.","description":"Build an artist page with streaming links and a mailing list signup."}:::
## Short answer
Build one page holding every link you would otherwise have to choose between — streaming, socials, tour dates, merch — and put a QR code to it on anything physical. The page tells you which link people actually click, and the code tells you which poster, venue or release sent them.
## Why one page rather than one link
A single streaming link forces a choice you should not have to make. Someone who does not use Spotify hits a dead end; someone who wanted your tour dates gets an album instead.
A multi-link page keeps the choice with the listener and gives you the click data. Over a few weeks it answers questions that matter for how you spend your time: does anyone use the SoundCloud link, do people click merch before or after listening, does the mailing list get any traction at a gig.
## What to put on it
| Section | Examples | Note |
|---|---|---|
| Streaming | Spotify, Apple Music, SoundCloud, Bandcamp | Lead with the one you are pushing |
| Social | Instagram, TikTok, YouTube | Two or three, not all of them |
| Live | Tour dates, ticket links | Move to the top when a tour is on |
| Direct | Mailing list form, merch | The only part you own |
The mailing list is the part worth protecting. Followers belong to a platform and can vanish with an algorithm change; an email list is yours. A short form on the page is the cheapest way to build one.
Order matters more than length. The first two items take most of the clicks, so reorder the page around whatever you are currently promoting rather than leaving it fixed.
## Where the code goes
- **Gig posters and flyers** — one code per venue or city tells you which rooms convert
- **Merch table** — a card or standee next to the stock
- **Record sleeves and cassette inserts** — the code outlives the release
- **Stage backdrop** — large enough to scan from the floor
Making a separate code per placement costs nothing and is the difference between "we got scans" and "the Bristol poster did four times what Cardiff did."
## Limits and caveats
- Scans measure interest at the poster, not streams. Compare the timing with your streaming dashboard to connect the two.
- The page links out to streaming services; it does not play music itself.
- Codes on a dark stage backdrop need real contrast and size to scan from a distance. Test from where the audience actually stands.
- A code on a record sleeve will be scanned for years. Point it at a page you keep updating, not at a single release.
## Frequently asked questions
### Can I change what is on the page after printing the code?
Yes. The code points at the page, not at its contents. Add tour dates, swap the featured release, reorder the links — every printed code follows.
### Can I see which link people click?
Yes. Clicks are recorded per link, so you can tell whether people went to Spotify, the tour dates, or the merch store.
### Can I put a code on a record sleeve that still works next year?
Yes, as long as you keep the page updated. This is the main reason to avoid pointing a printed code straight at a streaming URL.
### Can I collect emails without a separate mailing list tool?
You can collect them on the page and export them. To sync into a mailing tool automatically, connect an integration in Settings.
### Should each band member have their own code?
Usually not. Split attention across several pages and none of them accumulate useful data. One band page, several placement codes, works better.
---
# How to track who opens your document QR code
Source: https://linkbreakers.com/help/article/how-to-track-who-opens-your-document-qr-code
:::try-ai-prompt {"prompt":"Create a QR code that opens our price list, and put a form in front of it that asks for a name and company so I know who opened it.","description":"Gate a document behind a short form so you know who opened it."}:::
## Short answer
A plain document QR code tells you a document was opened, not by whom. Putting a two-field form in front of it turns each open into a named record: who, which company, and when. The document opens straight after they submit, so the friction is one screen.
## Anonymous versus identified
| | Plain document link | Form in front |
|---|---|---|
| Opens counted | Yes | Yes |
| When | Yes | Yes |
| Who | No | Yes |
| Follow-up possible | No | Yes |
| Friction | None | One short form |
The trade is real: some people will not fill in the form. For a public brochure that is a bad trade. For a price list, a spec sheet or a proposal, the people who will not give you a name were rarely going to become customers, and the ones who do are worth a follow-up.
## Where this is worth doing
- **Price lists** sent to prospects, where the open is a buying signal
- **Proposals and quotes**, where you want to know it was read before you chase
- **Spec sheets on a product or a machine**, where the reader is likely a specifier
- **Event handouts** you want to attach to a name
And where it is not: safety information, instructions someone needs immediately, anything regulatory. Never put a form in front of something a person may need in a hurry.
## Step-by-step
1. Upload the document, or use its existing URL as the destination.
2. Ask the assistant to build the link with a form in front asking for name and company.
3. Keep it to two fields. Every extra one costs you opens.
4. Print or send the code.
5. Watch submissions in the dashboard, filtered by date.
## Getting told as it happens
The workflow records who opened the document. To be notified at the moment it happens rather than checking the dashboard, use one of these, both configured in **Settings**:
- **Webhooks** send each event to any endpoint as it occurs, which is how you get a message into Slack, a CRM, or your own backend.
- **Email digests** summarise activity daily or weekly, which is enough when the follow-up is not urgent.
These are workspace settings rather than something the assistant configures. The assistant builds the gate; the notification carries it to you.
## Limits and caveats
- The form records what people type. Nothing verifies it, so treat a name as a claim rather than a fact.
- Anyone who receives the document itself can forward it freely. The gate covers the QR code route, not the file afterwards.
- A gate suppresses some opens. If the count matters more than the identity, do not gate it.
- Do not gate anything safety-critical or legally required.
- Tell people what you will do with the details. A line under the form is usually enough, and in some jurisdictions it is required.
## Frequently asked questions
### Can I see who opened it without asking them?
No. A scan gives you device type, approximate city and a timestamp, none of which identify a person. The form is what turns an open into a name.
### Will one person opening it twice show up twice?
Yes, as two submissions. The new-versus-returning breakdown tells you which opens are repeats.
### Can I skip the form for people who already filled it in?
Yes. A scan condition can route returning visitors straight to the document.
### Can I stop the document being shared?
Not through the QR code. Once someone has the file they can pass it on. If that matters, host it somewhere with its own access control and point the code there.
### Does this work for something other than a PDF?
Yes. The destination can be any URL — a slide deck, a shared drive file, a page on your site.
---
# How to use QR codes on vehicles and fleet signage
Source: https://linkbreakers.com/help/article/how-to-use-qr-codes-on-vehicles-and-fleet-signage
:::try-ai-prompt {"prompt":"Create a QR code for the back of my van that opens a quote request form and tracks where and when it gets scanned.","description":"Build a trackable QR code for vehicle signage."}:::
## Short answer
Vehicle signage is the one advertising channel most businesses already pay for and never measure. A QR code on the back doors or rear panel makes it measurable: you get scans with timestamps and approximate locations, which tells you which routes, depots and parking spots generate enquiries. Point it at a quote form rather than your homepage.
## Where it gets scanned, and why that shapes the design
A vehicle is read in one of two situations, and only one of them is any use:
- **Stationary** — parked at a job, at a depot, in a car park, or in traffic. This is where essentially every scan happens.
- **Moving** — effectively never. Nobody scans a van doing 50.
That makes placement a parking question, not a driving one. The rear doors and the lower rear panel are read by whoever is behind you at a light or walking past in a car park. A code on the side is read while the vehicle is parked at a job, which is often the highest-intent moment you get: a neighbour watching work being done.
Print it large. A code read from three metres needs to be far bigger than one on a leaflet, and vehicle vinyl is not the place to economise on size. High contrast, matte rather than gloss, and away from curved panels or door seams that distort the pattern.
## What to point it at
Your homepage wastes the moment. Someone scanning a van has a specific thought — *what do they charge*, *are they available*, *who are they* — and a short quote request form answers it while they are still standing there.
| Destination | Works when |
|---|---|
| Quote request form | Trades, services, anything priced per job |
| Contact card | The driver is the point of contact |
| Booking page | You take appointments |
| Homepage | Rarely the right answer |
## Measuring it
One code per vehicle is what makes the data useful. The same code across a fleet tells you the fleet works; separate codes tell you which vehicles, routes and depots do.
Location on each scan is city-level, so you learn which areas generate interest, not which street. Over a few months that is enough to decide where to send vehicles and whether a second van in a different town would pay.
## Limits and caveats
- Location is approximate, from the network rather than GPS. It shows the area, not the parking space.
- Scan volumes are low compared with print or digital. Judge this over months, not days.
- Vinyl fades and gets dirty. A code that has lost contrast stops scanning long before it looks unreadable to you — test yours periodically.
- Check local rules on vehicle advertising, and never encourage scanning by other drivers in traffic.
- A code on a vehicle lasts as long as the wrap. Keep the destination current rather than pointing at a campaign that ends.
## Frequently asked questions
### How big should the code be on a van?
Larger than feels necessary. Scanning distance is the deciding factor, and rear-door codes are typically read from two to four metres. The print dimension benchmarks cover the sizing maths.
### Should every vehicle have the same code?
Only if you do not care which vehicle produced the result. One per vehicle costs nothing and is far more useful.
### Can I change the destination without re-wrapping?
Yes. The code is dynamic, so you can point it at a seasonal offer now and the quote form later, with the same vinyl.
### Do people really scan vehicles?
In car parks and at job sites, yes. In moving traffic, no. Expect modest numbers with unusually high intent.
### Where should it go on the vehicle?
Rear doors or lower rear panel for traffic and car parks, sides for job sites. Avoid curves, seams and anything the doors split.
---
# How do I track where my leads are coming from?
Source: https://linkbreakers.com/help/article/how-do-i-track-where-my-leads-are-coming-from
## Short answer
This article explains how do i track where my leads are coming from with practical guidance, limits, and implementation details so you can apply it consistently.
Tracking lead sources requires implementing attribution systems across all marketing channels to understand which efforts generate the highest-quality prospects.
## UTM parameter tracking
Use UTM codes to track digital campaign performance:
**UTM structure:**
- **utm_source** - Traffic origin (google, facebook, email)
- **utm_medium** - Marketing channel type (cpc, social, email)
- **utm_campaign** - Specific campaign name
- **utm_term** - Paid search keywords (optional)
- **utm_content** - Ad variation or content type
**Implementation example:**
`https://yoursite.com/landing?utm_source=linkedin&utm_medium=social&utm_campaign=q4promo`
Use [Linkbreakers UTM builder](https://linkbreakers.com/tools/utm-builder) to create consistent tracking URLs.
## QR code source tracking
Track offline marketing with [QR code analytics](https://linkbreakers.com/help/article/how-qr-code-tracking-works-from-scan-to-analytics):
1. **Create unique QR codes** for each marketing channel through [Linkbreakers](https://app.linkbreakers.com/workspace/dashboard/links)
2. **Assign descriptive names** to identify sources (trade_show_2024, print_ad_magazine)
3. **[Monitor scan analytics](https://linkbreakers.com/help/article/how-to-track-how-many-people-scanned-your-qr-code)** to see geographic and demographic patterns
4. **Connect QR destinations** to lead capture forms with pre-filled source fields
## CRM lead source fields
Set up comprehensive source tracking in your CRM:
**Primary source categories:**
- **Organic search** - Google, Bing, Yahoo traffic
- **Paid advertising** - Google Ads, Facebook Ads, LinkedIn
- **Social media** - Organic social engagement and shares
- **Email marketing** - Newsletter and nurturing campaigns
- **Direct website** - Type-in traffic and bookmarks
- **Referrals** - Partner and customer recommendations
- **Offline events** - Trade shows, conferences, networking
**Secondary attribution:**
- Specific campaign or ad group
- Landing page or content piece
- Geographic location of engagement
- Device type and browser information
## Multi-touch attribution
Track the complete customer journey:
**First-touch attribution:**
Credits the initial source that brought the prospect to your brand.
**Last-touch attribution:**
Credits the final interaction before conversion or lead submission.
**Multi-touch models:**
- **Linear** - Equal credit to all touchpoints
- **Time-decay** - More credit to recent interactions
- **Position-based** - Higher credit to first and last touches
- **Custom** - Weighted based on your specific funnel
## Analytics platform integration
Connect multiple data sources for comprehensive tracking:
**Google Analytics setup:**
- **Goal configuration** for lead generation events
- **Source/medium reporting** for channel performance
- **Attribution modeling** for multi-channel analysis
- **Custom dimensions** for additional tracking parameters
**CRM integration:**
- **Webhook data** from [Linkbreakers forms](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks)
- **Automated source** population in lead records
- **Campaign attribution** for ROI calculation
- **Lead qualification** based on source quality
## Offline source tracking
Capture leads from non-digital channels:
**Phone call tracking:**
- **Unique phone numbers** for different campaigns
- **Call tracking software** to identify sources
- **Conversion recording** for lead quality assessment
**Event lead capture:**
- **[QR codes on materials](https://linkbreakers.com/help/article/how-to-make-qr-codes-trackable)** for easy attribution
- **Badge scanning** systems with source data
- **Follow-up forms** with pre-populated source fields
**Print advertising:**
- **Unique landing pages** for different publications
- **Promo codes** specific to each advertisement
- **Custom phone numbers** for each print campaign
## Lead source reporting
Create dashboards to analyze source performance:
**Key metrics by source:**
- **Lead volume** - Total leads generated
- **Lead quality** - Qualification and scoring rates
- **Conversion rate** - Leads to customers percentage
- **Cost per lead** - Investment divided by lead count
- **Customer lifetime value** - Revenue attribution by source
- **Return on investment** - Revenue minus campaign costs
**Performance analysis:**
- Monthly and quarterly trend analysis
- Source comparison and optimization opportunities
- Geographic performance by source type
- Device and demographic breakdowns
## Data accuracy best practices
Ensure reliable source attribution:
1. **Consistent naming** conventions across all campaigns
2. **Required source fields** in all lead capture forms
3. **Regular data audits** to identify attribution gaps
4. **Cross-platform validation** between analytics and CRM
5. **Training for teams** on proper source tagging
## Common tracking challenges
**Multiple touchpoints:**
Prospects often interact across channels before converting. Use multi-touch attribution to understand the complete journey.
**Direct traffic mysteries:**
High direct traffic may indicate attribution gaps. Investigate with surveys or enhanced tracking implementation.
**Cross-device tracking:**
Users research on mobile and convert on desktop. Consider user journey tools for device-spanning attribution.
## Frequently asked questions
**How accurate is lead source tracking?**
With proper implementation, 85-95% accuracy is achievable. Some attribution loss occurs due to privacy settings and cross-device behavior.
**What's the most important source metric?**
Customer lifetime value by source provides the best ROI insight, though lead volume and quality are important for campaign optimization.
**Can I track sources retroactively?**
Limited retroactive tracking is possible through CRM data analysis and historical campaign correlation, but prospective tracking provides much better accuracy.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How do I track who scanned my QR code?
Source: https://linkbreakers.com/help/article/how-do-i-track-who-scanned-my-qr-code
## Short answer
This article explains how do i track who scanned my qr code with practical guidance, limits, and implementation details so you can apply it consistently.
You can track detailed information about QR code scanners, though personal identification requires voluntary user participation.
## Automatic tracking data
When someone scans your trackable QR code, you automatically capture:
1. **Scan timestamp** - Exact date and time
2. **Geographic location** - Country, region, city
3. **Device information** - Operating system, browser type
4. **Network details** - ISP, connection type (mobile/broadband)
View this data instantly in your [visitor dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors).
## Setting up scan tracking
To track QR code scanners:
1. **Create dynamic QR codes** through [Linkbreakers](https://app.linkbreakers.com/workspace/dashboard/links)
2. **Deploy your codes** anywhere you want tracking
3. **Monitor real-time** scan activity
4. **Export data** for analysis
Static QR codes can't track scanners since there's no data collection system.
## Personal identification limitations
QR codes cannot automatically identify:
- **Names or personal details** of scanners
- **Phone numbers** or contact information
- **Social media profiles** or accounts
- **Exact street addresses** (only city-level location)
Personal data requires voluntary submission through forms or contact cards.
## Advanced identification methods
To identify specific scanners, combine QR codes with:
1. **Contact forms** asking for details
2. **vCard QR codes** for business card exchanges
3. **UTM parameters** to track campaign sources
4. **[Custom workflows](https://linkbreakers.com/help/article/what-is-the-proper-workflow-order-for-lead-gen)** with data capture and lead management
## Real-time monitoring
Linkbreakers provides live tracking features:
- **Instant notifications** when codes are scanned
- **Live visitor feed** showing active users
- **Real-time geographic mapping** of scan locations
- **Device breakdown** analytics
## Privacy compliance
QR scan tracking operates within legal boundaries:
- **Anonymous data collection** by default
- **GDPR compliance** for European users
- **No personal identification** without consent
- **Transparent data handling** practices
## Export and analysis
Access your tracking data through:
- **Dashboard downloads** in CSV format
- **API integration** for custom reporting
- **Webhook notifications** for real-time alerts
- **Third-party analytics** connections
## Frequently asked questions
**Can I see scanner names automatically?**
No. QR codes only collect technical data (location, device, timing). Names require users to voluntarily provide them through forms or contact exchanges.
**How accurate is location tracking?**
Country-level: 99% accurate. City-level: 85-95% accurate depending on the area. Rural locations may be less precise than urban centers.
**Can I track the same person across multiple scans?**
Basic tracking treats each scan independently. For user journey tracking, you'd need login systems or unique identifiers that users voluntarily provide.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How do you manage and track incoming leads or new business inquiries?
Source: https://linkbreakers.com/help/article/how-do-you-manage-and-track-incoming-leads-or-new-business-inquiries
## Short answer
This article explains how do you manage and track incoming leads or new business inquiries with practical guidance, limits, and implementation details so you can apply it consistently.
Managing and tracking leads requires a systematic approach combining technology, process, and consistent follow-up to convert inquiries into customers.
## Lead management framework
Effective lead tracking involves four core components:
1. **Centralized database** - Single source of truth for all lead information
2. **Lead qualification** - Prioritization based on qualification criteria
3. **Automated workflows** - Consistent follow-up and nurturing sequences
4. **Performance analytics** - Metrics tracking and conversion optimization
## Setting up lead capture
Create multiple touchpoints for incoming inquiries:
**Digital channels:**
- **Contact forms** on websites and landing pages
- **[Trackable QR codes](https://linkbreakers.com/help/article/can-qr-codes-be-tracked-whats-possible-whats-not-and-why-it-matters)** linking to [lead capture forms](https://app.linkbreakers.com/workspace/dashboard/links)
- **Social media** lead generation campaigns
- **Email marketing** with clear call-to-actions
**Offline channels:**
- Trade show contact collection
- Business card exchanges at events
- Phone inquiries and referrals
- Print advertising responses
## CRM implementation
Choose and configure customer relationship management systems:
**Popular CRM options:**
- **HubSpot** - Free tier with comprehensive features
- **Salesforce** - Enterprise-level customization
- **Pipedrive** - Simple pipeline management
- **Zoho** - Integrated business suite
**Essential CRM features:**
- Contact and company management
- Deal pipeline tracking
- Email integration and templates
- Task and reminder scheduling
- Reporting and analytics dashboards
## Lead qualification criteria
Develop qualification criteria to prioritize follow-up:
**Profile criteria:**
- Company size and revenue
- Industry fit with your solutions
- Geographic location preferences
- Job title and decision authority
**Behavioral criteria:**
- Website page visits and time spent
- Content downloads and engagement
- Email opens and click-through rates
- Form completions and inquiry details
With Linkbreakers, you can ask the profile questions in your link's workflow steps and store the answers as visitor attributes. The [visitor journey](https://linkbreakers.com/help/article/what-is-a-visitor-journey) shows how far each visit got through those steps.
## Automated tracking systems
Implement automation for consistent lead management:
**Workflow automation:**
- **Instant acknowledgment** emails for new submissions
- **Lead routing** to appropriate sales representatives
- **Follow-up reminders** for sales team members
- **Nurturing sequences** for unqualified prospects
**Integration tools:**
- **[Webhooks](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks)** for real-time notifications
- **Zapier** connections between platforms
- **API integrations** for custom data flows
- **Email marketing** automation platforms
## Lead qualification process
Establish consistent qualification criteria:
**BANT framework:**
- **Budget** - Financial capacity for your solutions
- **Authority** - Decision-making power within organization
- **Need** - Clear problem your product solves
- **Timeline** - Urgency and purchasing timeframe
**MEDDIC approach:**
- **Metrics** - Quantifiable business impact
- **Economic buyer** - Financial decision maker
- **Decision criteria** - Evaluation and selection process
- **Decision process** - Steps to make purchasing decisions
- **Identify pain** - Specific problems to solve
- **Champion** - Internal advocate for your solution
## Response time optimization
Speed matters for lead conversion:
1. **[5-minute rule](https://linkbreakers.com/help/article/what-is-the-5-minute-rule-for-leads)** - Initial response within 5 minutes increases conversion by 900%
2. **Same-day follow-up** - Contact qualified leads within business hours
3. **Persistent outreach** - Multiple touchpoints across different channels
4. **Scheduling availability** - Easy calendar booking for prospects
## Tracking and analytics
Monitor key performance indicators:
**Conversion metrics:**
- Lead-to-opportunity conversion rate
- Opportunity-to-customer conversion rate
- Average deal size and sales cycle length
- Cost per lead and customer acquisition cost
**Source attribution:**
- **UTM tracking** for digital campaigns
- **[QR code analytics](https://linkbreakers.com/help/article/how-qr-code-tracking-works-from-scan-to-analytics)** for offline marketing
- **Referral source** documentation
- **Channel performance** comparison
## Integration with Linkbreakers
Enhance lead tracking using platform features:
- Create **[trackable QR codes](https://linkbreakers.com/help/article/how-to-make-qr-codes-trackable)** for offline events and materials
- Monitor **[real-time visitor activity](https://app.linkbreakers.com/workspace/dashboard/visitors)** to identify hot prospects
- Set up **custom forms** with qualification questions
- Use **[API integration](https://linkbreakers.com/help/api)** to connect with your CRM
## Frequently asked questions
**What's the best CRM for small businesses?**
HubSpot offers excellent free features for startups. Pipedrive provides simple pipeline management for growing teams. Choose based on your specific workflow needs and budget.
**How long should I nurture unqualified leads?**
Typically 6-12 months with monthly touchpoints. Set up automated nurturing sequences and re-qualify periodically as circumstances change.
**Can I track leads across multiple channels?**
Yes, using UTM parameters, unique phone numbers, and QR codes for different campaigns. Consistent source attribution is crucial for measuring channel effectiveness.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to create contact cards (vCard) in Linkbreakers
Source: https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers
## Short answer
This article explains how to create contact cards (vcard) in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Contact cards have become essential for modern networking. Instead of fumbling with business cards or typing contact details manually, you can create a simple QR code that instantly adds your information to someone's phone. Linkbreakers makes this process incredibly straightforward while offering customization options that traditional contact sharing simply can't match.
:::try-ai-prompt {"prompt":"Create a contact card with my professional details including name, job title, company, email, phone, and website.","description":"Try creating a contact card with the AI builder. It will ask for your information."}:::
## What are contact cards in Linkbreakers?
When you create a contact card in Linkbreakers, you're getting two powerful tools in one. First, there's a beautifully customized contact page that displays your information professionally. Second, there's a direct VCF (Virtual Contact File) download link that works seamlessly with compatible devices - typically smartphones and modern computers.
The beauty lies in this dual approach. Your contact page serves as a landing destination that can be branded and customized to match your style, while the VCF download ensures technical compatibility across different devices and platforms.
> Linkbreakers supports the vCard 3.0 standard, ensuring maximum compatibility with phones, tablets, and desktop contact applications.
## Quick summary
- Access the contact card creation interface and fill required contact information fields
- Generate both customized contact pages and direct VCF download links for maximum compatibility
- Add social media profile links that display as platform icons on the contact page and embed in the vCard
- Enable WhatsApp on your phone number so visitors can start a conversation with one tap
- Configure QR code designs and page themes to match your professional branding requirements
- Set fallback destinations for devices that don't support VCF file downloads
- Track contact card interactions through detailed analytics and visitor engagement metrics
- Update contact information instantly without requiring new QR codes or distribution efforts
## Creating your first contact card
Getting started is remarkably simple. Head to [Create a contact card](https://app.linkbreakers.com/workspace/links/create?type=contact-card) to begin the process immediately.
The creation interface presents these key fields:
1. **Full Name** (required) - This becomes the primary identifier in contact lists
2. **Email** (optional) - Enables direct email communication
3. **Phone Number** (optional) - Allows instant calling or messaging
4. **Organization** (optional) - Shows company or organization affiliation
5. **Job Title** (optional) - Provides professional context
6. **Website** (optional) - Links to your professional or personal website
7. **Address** (optional) - Adds a physical address to the vCard, displayed as a clickable Google Maps link on the contact page
8. **Social Links** (optional) - Add up to 10 social media profile URLs that display as recognizable platform icons on the contact page
9. **Enable WhatsApp** (optional) - When checked, the phone number also appears as a WhatsApp icon that opens a direct WhatsApp conversation
You don't need to fill every field. The system works perfectly fine with just a name and one contact method. However, providing more information creates richer networking opportunities.
## Why contact cards outperform traditional methods
Traditional business cards get lost, forgotten, or end up crumpled in pockets. Digital contact sharing through apps requires both parties to have the same application installed. Linkbreakers contact cards solve both problems elegantly.
The QR code approach means anyone with a smartphone camera can access your contact information instantly. No app downloads required. The VCF format ensures the contact information integrates directly into existing contact applications.
But here's what makes Linkbreakers different: you get analytics. You'll know exactly when someone accesses your contact card, from which device, and their approximate location. This data becomes invaluable for following up on networking opportunities.
## Customization options that matter
Beyond basic contact information, Linkbreakers offers customization features that transform simple contact sharing into professional networking tools.
You can set a fallback destination for devices that don't support VCF downloads. This might link to your LinkedIn profile, personal website, or company page. The fallback ensures no networking opportunity gets lost due to technical limitations.
QR code design options let you match your brand colors and style. Professional appearance matters in networking situations, and your contact card should reflect your attention to detail.
Page themes allow further customization of how your contact information appears when someone visits the link directly rather than downloading the VCF file.
## Technical considerations you should know
Linkbreakers generates vCard 3.0 format files, which offers broad compatibility across modern devices. The system uses proper line endings and field formatting to ensure cross-platform reliability.
For maximum scanning reliability, contact card QR codes use high error correction levels. This means the codes remain scannable even if partially obscured or damaged.
The VCF files include standard fields: FN (full name), TEL (telephone), EMAIL (email address), ORG (organization), TITLE (job title), URL (website), and ADR (address). When social links are added, they are embedded as `X-SOCIALPROFILE` entries in the vCard, which many modern contact applications can read and display. These fields map directly to contact application databases on virtually all platforms.
## Using the Linkbreakers API
All Linkbreakers contact card functionality can be automated through the API. This becomes particularly useful for businesses managing multiple team members or events requiring bulk contact card generation.
The [API documentation](https://linkbreakers.com/help/api) provides complete integration details for developers looking to build contact card creation into existing systems.
## Best practices for contact card success
Keep your contact information current. Unlike printed business cards, digital contact cards can be updated instantly when your information changes. Regular maintenance ensures networking contacts always reach you correctly.
Test your contact cards across different devices before important networking events. While Linkbreakers ensures broad compatibility, confirming functionality on iOS, Android, and desktop systems provides peace of mind.
Consider creating different contact cards for different contexts. Your professional networking card might emphasize your job title and company website, while your personal networking card focuses on social media and personal interests.
Use descriptive names for your contact cards in the Linkbreakers dashboard. When managing multiple cards, clear naming helps you find the right one quickly.
## Analytics and follow-up strategies
Linkbreakers provides detailed analytics for every contact card interaction. This data transforms networking from guesswork into strategic relationship building.
You can see exactly when someone accessed your contact card, which geographic region they're from, and what device they used. This information becomes invaluable for timing follow-up communications.
The visitor tracking features in Linkbreakers ([learn more about visitor tracking](https://app.linkbreakers.com/workspace/dashboard/visitors)) help identify repeat interactions, showing which contacts are engaging multiple times with your information.
## Integrating with existing workflows
Contact cards work seamlessly with Linkbreakers' webhook system. You can set up automatic notifications when someone accesses your contact information, enabling immediate follow-up while the networking interaction remains fresh.
The integration possibilities extend to CRM systems, email marketing platforms, and sales tracking tools. Your networking activities can feed directly into existing business processes without manual data entry.
## Frequently Asked Questions
**Do contact cards work on all smartphones?**
Yes, contact cards work with any smartphone that can scan QR codes. The vCard 3.0 format ensures compatibility with virtually all modern contact applications.
**Can I update my contact information after creating the card?**
Absolutely. Linkbreakers allows you to modify contact card information at any time. Changes take effect immediately without requiring new QR codes.
**What happens if someone's device doesn't support VCF files?**
You can set a fallback URL that loads instead. This might link to your LinkedIn profile, personal website, or any other online presence.
**Can I track who accesses my contact card?**
Yes, Linkbreakers provides complete analytics including access times, device types, and geographic locations for every contact card interaction.
**Is there a limit to how many contact cards I can create?**
Contact cards count toward your overall link limits based on your Linkbreakers plan. Most users find their plan allocation more than sufficient for personal and professional networking needs.
**Can I customize the appearance of my contact card page?**
Yes, you can apply different page themes and customize QR code designs to match your personal or professional branding.
**Do contact cards expire?**
No, contact cards remain active indefinitely unless you specifically delete them. Your networking investments continue working long after initial interactions.
**Can I add social media links to my contact card?**
Yes. You can add up to 10 social media profile URLs. The platform is automatically detected from the URL (Instagram, LinkedIn, X/Twitter, Facebook, YouTube, TikTok, GitHub, WhatsApp, Medium, or generic website). They appear as recognizable icons on the contact page and are embedded as `X-SOCIALPROFILE` entries in the downloaded vCard.
**How does the WhatsApp option work on contact cards?**
When you check "Enable WhatsApp" next to the phone field, a WhatsApp icon appears in the social links section of the contact page. Visitors can tap it to open a direct WhatsApp conversation with your number. The phone number still appears separately as a regular clickable phone link.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to make QR codes trackable
Source: https://linkbreakers.com/help/article/how-to-make-qr-codes-trackable
## Short answer
Create a dynamic QR code that routes through your tracking platform, then connect campaign parameters and reporting views before launch.
## Step-by-step
1. **Create a dynamic destination** in your workspace
2. **Attach campaign tags/UTMs** for attribution
3. **Generate the QR code** and export the required format
4. **Test scan paths** on iOS and Android
5. **Publish** to print or digital placements
6. **Monitor** scans and conversion events in dashboard views
## Recommended setup
- Use a naming convention for campaign and placement
- Keep one owner per campaign for data hygiene
- Define a success metric before launch (for example, signups, leads, bookings)
- Run a pre-launch scan QA checklist on multiple devices and networks to catch redirect, UTM, and destination issues early
## Limits and caveats
- Existing static printed codes generally need replacement.
- Scan analytics require network access at scan time.
- Location data is approximate, not GPS-level.
## Frequently asked questions
**Can I track QR scans across multiple locations?**
Yes. Use tags or campaign parameters per placement.
**Do I need API access to get useful reporting?**
No. Dashboard reporting is enough for many teams; API is for advanced pipelines.
**What causes bad tracking quality?**
Missing campaign parameters, inconsistent naming, and untested destination redirects.
For larger programs, document your campaign taxonomy and dashboard definitions in advance so cross-team reporting remains consistent over time.
## Additional context
Use this page as a baseline reference and validate details against your current campaign setup, reporting requirements, and compliance obligations before rollout.
---
# How to track how many people scanned your QR code
Source: https://linkbreakers.com/help/article/how-to-track-how-many-people-scanned-your-qr-code
## Short answer
This article explains how to track how many people scanned your qr code with practical guidance, limits, and implementation details so you can apply it consistently.
Yes, you can track exactly how many people have scanned your QR codes, but only with **dynamic QR codes** that include analytics capabilities.
## Scan count tracking
Dynamic QR codes automatically track:
1. **Total scan count** - Every QR code interaction
2. **Unique visitors** - Individual people (estimated)
3. **Repeat scans** - Return visitors and frequency
4. **Time patterns** - Peak scanning periods
5. **Geographic distribution** - Where scans occur
## Deduplication explained
Unique visitor counts are estimated using device fingerprints and session signals. This means:
- Multiple scans from the **same device** are grouped as one visitor.
- Shared devices can **under-count** visitors.
- Privacy tools or VPNs can **over-count** visitors.
Linkbreakers surfaces both total scans and unique visitors so you can interpret engagement accurately.
View these metrics in your [analytics dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors).
## Types of scan metrics
Comprehensive tracking includes:
**Basic counts:**
- Total scans since creation
- Scans today, this week, this month
- Year-over-year comparison data
**Advanced analytics:**
- Unique vs returning visitor ratios
- Average session duration
- Bounce rate from QR destinations
- Conversion tracking through goals
## Setting up scan counting
To track QR code scans:
1. **Create dynamic QR codes** through [Linkbreakers](https://app.linkbreakers.com/workspace/dashboard/links)
2. **Deploy your codes** across campaigns
3. **Monitor real-time** scan activity
4. **Export data** for detailed analysis
Static QR codes cannot track scan counts.
## Real-time monitoring
Live tracking features include:
- **Instant scan notifications** when codes are used
- **Live visitor feed** showing active users
- **Geographic heat maps** of scanning activity
- **Device breakdown** (mobile vs desktop usage)
## Accuracy considerations
Scan counting faces some limitations:
1. **Duplicate scans** - The same person scanning twice counts as two scans but one visitor
2. **Privacy modes** - Some browsers limit tracking capabilities
3. **Network issues** - Failed connections may not register
## Unique visitor estimation
Estimating individual people involves:
- **Device fingerprinting** (IP + browser + OS combination)
- **Session tracking** within time windows
- **Cookie-based identification** where permitted
- **Privacy-compliant** anonymous analysis
Perfect unique counting isn't possible due to privacy protections.
## Export and reporting
Access scan count data through:
1. **Dashboard widgets** for quick overview
2. **CSV downloads** for spreadsheet analysis
3. **API endpoints** for custom integrations
4. **Automated reports** via email or webhooks
## Business applications
Scan count tracking helps with:
- **Campaign ROI** measurement and optimization
- **Location performance** comparison across venues
- **Content effectiveness** analysis
- **Trend identification** for strategic planning
- **Resource allocation** based on engagement data
## Frequently asked questions
**Can I see exactly who scanned my QR code?**
No personal identification is captured unless users voluntarily provide it. You can see anonymous device and location data but not names or contact details.
**How accurate are QR scan counts?**
Every scan that reaches Linkbreakers is recorded. Compare unique visitors with total scans to separate people from repeat scans, and expect small gaps from failed connections or privacy-restricted browsers.
**Can I track scans across multiple campaigns?**
Yes, using tags and UTM parameters to organize QR codes by campaign, allowing comparison of scan counts across different marketing efforts.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to track location from QR code scans
Source: https://linkbreakers.com/help/article/how-to-track-location-from-qr-code-scans
## Short answer
This article explains how to track location from qr code scans with practical guidance, limits, and implementation details so you can apply it consistently.
QR code location tracking captures geographic data automatically when users scan your codes. Here's how it works and what you can track.
## How geolocation tracking works
When someone scans a trackable QR code:
1. **Device requests** the shortened URL
2. **Server captures** IP address and location data
3. **Analytics system** logs country, region, and city
4. **User redirects** to final destination seamlessly
No special permissions or apps required. The tracking happens server-side through standard web protocols.
## Location data you can collect
Linkbreakers captures multiple geographic data points:
1. **Country and region** with 99% accuracy
2. **City-level precision** in most locations
3. **Time zone information** for scheduling insights
4. **ISP and connection type** (mobile vs broadband)
View live location data in your [visitor dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors).
## Setting up location tracking
Location tracking is automatic with dynamic QR codes:
1. **Create your QR code** in [Linkbreakers](https://app.linkbreakers.com/workspace/dashboard/links)
2. **Deploy anywhere** - printed materials, digital screens, websites
3. **Monitor results** in real-time analytics
4. **Export data** for deeper analysis
No configuration needed. Location data starts collecting immediately.
## Advanced geofencing capabilities
For sophisticated campaigns, combine location data with:
- **UTM parameters** to track specific geographic campaigns
- **Time-based analysis** to understand local engagement patterns
- **Device correlation** to see mobile vs desktop usage by location
- **API integrations** for custom geographic triggers
## Privacy and accuracy considerations
Location tracking through QR codes:
- Uses **anonymous IP geolocation** (no personal data)
- Achieves **city-level accuracy** in urban areas
- May be **less precise** in rural locations
- **Complies with GDPR** and privacy regulations
## Limitations of IP-based tracking
QR location tracking can't provide:
1. **Exact street addresses** or building-level precision
2. **Real-time GPS coordinates** like mobile app tracking
3. **Movement patterns** after the initial scan
4. **Indoor positioning** within large buildings
For precise location needs, consider combining QR codes with dedicated mobile apps.
## Use cases for location tracking
Common applications include:
- **Retail analytics** - Which store locations drive most engagement
- **Event management** - Understanding attendee geographic distribution
- **Marketing campaigns** - Measuring regional campaign effectiveness
- **Supply chain** - Tracking product movement through QR scanning
## Frequently asked questions
**Can QR codes track GPS coordinates?**
No. QR code location tracking uses IP geolocation, which provides city-level accuracy but not precise GPS coordinates like mobile apps.
**Is location tracking legal?**
Yes, when properly disclosed. IP geolocation is standard web analytics practice. Always include privacy policies explaining data collection.
**How accurate is QR location data?**
Country-level accuracy is 99%. City-level precision ranges from 85-95% depending on location and ISP infrastructure.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to create branded links in Linkbreakers
Source: https://linkbreakers.com/help/article/how-to-create-branded-links-in-linkbreakers
## Short answer
This article explains how to create branded links in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Building trust through every click starts with your domain name. When someone sees a short link from your brand, they should immediately recognize it as yours.
Generic short links like `bit.ly/abc123` tell visitors nothing about your brand. But `go.yourcompany.com/summer-sale` communicates trust, professionalism, and clear intent. This difference matters more than you might think.
## Quick summary
- Configure custom domains through DNS settings to create branded short links that build trust
- Let Linkbreakers detect your DNS provider and, where supported, set everything up in one click
- Choose memorable subdomains like "go" or "links" that clearly communicate purpose and action
- Create meaningful link keywords that reflect campaign content and maintain consistent naming conventions
- Integrate branded links seamlessly with QR codes and analytics tracking for comprehensive campaigns
- Implement advanced multi-domain strategies for different business purposes and audience segments
- Troubleshoot common DNS and SSL certificate issues to ensure reliable domain functionality
## Why branded links drive better results
Click-through rates improve when people recognize your brand in the URL. Trust increases when visitors see your domain instead of a third-party service. Brand consistency strengthens when every touchpoint reinforces your identity.
Research consistently shows branded links perform 34% better than generic alternatives. People hesitate before clicking unknown domains, but they confidently engage with brands they recognize. This psychological factor translates directly into campaign performance.
Your marketing campaigns deserve better than anonymous links. Whether you're running email campaigns, social media promotions, or print advertisements, branded short links maintain your professional image throughout the customer journey.
## Setting up your custom domain
Custom domains in Linkbreakers follow a straightforward configuration process. You'll need access to your domain's DNS settings and about 15 minutes to complete the setup.
The process works through Linkbreakers's infrastructure, which handles SSL certificates automatically. This means your branded links always use secure HTTPS connections without additional configuration on your part.
### Choosing your subdomain
Select a subdomain that's memorable and clearly associated with links. Popular choices include:
1. `go.yourcompany.com` - clear action-oriented approach
2. `links.yourcompany.com` - explicitly describes the purpose
3. `click.yourcompany.com` - emphasizes the call-to-action
4. `share.yourcompany.com` - great for social media campaigns
Avoid complex subdomains or ones that could confuse visitors. The goal is instant recognition and trust.
### DNS configuration steps
Navigate to your [workspace settings](https://app.linkbreakers.com/workspace/dashboard/settings) and select "Custom Domains" from the menu. Click "Add Domain" to begin the configuration process.
Enter your chosen subdomain (like `go.yourcompany.com`) in the domain field. Linkbreakers then looks up who manages your domain's DNS (Cloudflare, GoDaddy, Namecheap, Squarespace, IONOS, OVHcloud, Hostinger, Wix, Amazon Route 53 and many more) and tailors the setup page to it.
### One-click setup
When your DNS provider supports [Domain Connect](https://www.domainconnect.org), the setup page shows a **Set up automatically** button. Click it, sign in to your provider if asked, review the changes and approve them. You land back on Linkbreakers, which checks your domain straight away. You never copy a record by hand.
### Guided manual setup
When one-click is not available, the setup page tells you which provider manages your domain, links you to it, and lists the exact records to add, written the way your provider expects them:
**CNAME Record (required):**
- Name: `go` (or your chosen subdomain, without your domain after it)
- Value: `domains.linkbreakers.com`
**CNAME Record for certificates (recommended):**
- Name: `_acme-challenge.go`
- Value: shown on the setup page
- This record lets your HTTPS certificate renew on its own, so you never have to come back to your DNS settings.
Some providers call the name field "Host", "Hostname" or "Record name": the setup page uses your provider's wording. If your domain is on Cloudflare, set the proxy status of the CNAME to **DNS only** (grey cloud), otherwise Linkbreakers cannot see the record.
If the setup page asks for TXT records too, add them the same way. They prove you own the domain and let Linkbreakers issue your certificate.
DNS changes typically propagate within 5-15 minutes, though some registrars may take up to an hour. Linkbreakers automatically checks your configuration and updates the domain status once verification succeeds.
### Domain status workflow
Your custom domain progresses through several states during setup:
**Inactive** - Initial state before DNS configuration begins
**Domain Pending** - Waiting for CNAME record to propagate
**Verification Pending** - Checking TXT record for domain ownership
**Certificate Pending** - Linkbreakers provisioning SSL certificate
**Active** - Ready for creating branded links
The entire process usually completes within 30 minutes. You'll receive notifications as your domain progresses through each stage.
## Creating your first branded link
Once your domain reaches "Active" status, creating branded links becomes effortless. Navigate to [Links](https://app.linkbreakers.com/workspace/dashboard/links) in your dashboard.
Click "Create Link" and you'll see your custom domain available in the domain dropdown. Enter your destination URL and choose a memorable keyword for your short link.
Instead of random characters, you can create meaningful links like:
- `go.yourcompany.com/product-demo`
- `go.yourcompany.com/pricing`
- `go.yourcompany.com/webinar-signup`
### Best practices for link keywords
Keep keywords short and descriptive. Long keywords defeat the purpose of short links and become difficult to share verbally. Aim for 3-15 characters when possible.
Use consistent naming conventions across campaigns. If you use `summer-sale` for one campaign, stick with similar patterns like `winter-sale` or `spring-promo` for others.
Avoid using dates that will become outdated. While `black-friday-2024` works for specific campaigns, consider `black-friday` if you'll run similar promotions annually.
Test your keywords by saying them aloud. If someone couldn't easily type your keyword after hearing it spoken, choose something simpler.
## Advanced configuration options
Linkbreakers supports up to 5 custom domains per workspace, allowing sophisticated domain strategies. Different domains can serve different purposes:
- `go.company.com` for general marketing campaigns
- `events.company.com` for event-related links
- `docs.company.com` for documentation and resources
- `promo.company.com` for special offers and sales
This multi-domain approach enables better campaign organization and clearer visitor expectations.
### QR code integration
Branded links work seamlessly with QR codes. When someone scans a QR code created with your custom domain, they see your brand in any link preview that appears on their device.
This integration maintains brand consistency across both digital and physical marketing materials. A QR code on a printed flyer creates the same branded experience as a link in an email campaign.
### Analytics and tracking
All analytics features work identically with custom domains. You can track clicks, geographic distribution, device types, and visitor behavior regardless of which domain generated the link.
Custom domains don't impact campaign attribution or UTM parameter handling. Your analytics platforms receive the same data whether you use branded links or default Linkbreakers domains.
## Troubleshooting common issues
### DNS propagation delays
If your domain remains in "Domain Pending" status for more than an hour, check your DNS configuration. Use online DNS lookup tools to verify your CNAME record points correctly to `domains.linkbreakers.com`.
Some DNS providers cache records aggressively. Try reducing your TTL (Time To Live) setting to 300 seconds to speed up propagation.
### Certificate provisioning problems
SSL certificate creation occasionally encounters delays during high-traffic periods. If your domain stays in "Certificate Pending" for more than 2 hours, contact support for assistance.
Certificate issues often resolve automatically with patience, but support can expedite the process if you have urgent deadlines.
### Verification failures
TXT record verification requires exact matches. Ensure your verification code matches exactly what Linkbreakers provided, including any special characters or formatting.
Some DNS providers add quotes around TXT record values automatically. If verification fails, try removing any quotes that weren't part of the original code.
## Using branded links programmatically
The [Links API](https://linkbreakers.com/help/api/links) supports custom domains for automated link creation. Specify your custom domain in API requests to generate branded links at scale.
This capability enables sophisticated automation scenarios:
- E-commerce platforms creating product-specific links
- Event management systems generating unique attendee links
- CRM integrations creating personalized outreach links
- Marketing automation platforms building campaign-specific URLs
API-generated links maintain the same analytics, QR code integration, and workflow capabilities as manually created links.
## Frequently Asked Questions
### Can I use my root domain instead of a subdomain?
Linkbreakers requires subdomains for technical reasons related to DNS management and SSL certificate provisioning. Using subdomains also prevents conflicts with your main website's configuration.
### How many custom domains can I configure?
Each workspace supports up to 5 custom domains. This limit accommodates most organizational needs while preventing abuse and maintaining system performance.
### What happens if I delete a custom domain?
Deleting a custom domain immediately breaks all links created with that domain. Visitors clicking those links will see error pages. Consider the impact carefully and migrate important links to other domains before deletion.
### Can I change a link's domain after creation?
Currently, link domains cannot be changed after creation. You'll need to create a new link with your preferred domain. This limitation ensures URL stability and prevents accidental link breakage.
### Do branded links affect SEO?
Branded short links use 301 redirects, which pass link equity to destination pages. However, the redirect does add a small delay compared to direct links. For SEO-critical content, consider using direct links when possible.
### Are there domain name restrictions?
Linkbreakers blocks certain reserved domains and requires valid DNS ownership verification. You cannot use linkbreakers.com subdomains or domains associated with malicious activity.
### How do I track campaign performance across multiple domains?
Use consistent [tag strategies](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) across domains to group related campaigns. UTM parameters and analytics work identically regardless of which custom domain creates the link.
### Can team members create links on all custom domains?
All workspace members can create links on any configured custom domain. Use [role-based access control](https://linkbreakers.com/help/article/what-are-the-workspace-roles-in-linkbreakers) to manage broader permissions if needed.
Custom domains represent more than technical convenience. They're brand assets that reinforce your identity with every interaction. When someone clicks your link, they should never question its authenticity or worry about where it leads.
Start with one well-chosen subdomain and expand your domain strategy as your campaigns grow more sophisticated. The investment in proper setup pays dividends through improved click-through rates, increased trust, and stronger brand recognition across all your marketing channels.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to bulk create QR codes in Linkbreakers
Source: https://linkbreakers.com/help/article/how-to-bulk-create-qr-codes-in-linkbreakers
## Short answer
This article explains how to use Linkbreakers's bulk insert feature to create multiple QR codes at once, including the updated directory selector and the CSV format for assigning QR codes to nested directories.
Creating QR codes one at a time works fine for small campaigns. But when you're running events with hundreds of products, managing inventory across locations, or deploying multi-channel marketing campaigns, you need a faster approach.
The bulk insert feature lets you create hundreds of QR codes at once, and thousands within a few minutes. You can either fill in a spreadsheet-style table directly in the interface or upload a CSV file with all your QR code data.
## Quick summary
- Create hundreds of QR codes at once using a table interface or CSV upload
- Select a directory for each QR code directly in the bulk insert table
- Match custom domains, directories, and QR code templates without needing to memorize UUIDs
- Auto-generate unique shortlinks for each QR code or specify your own
- Drag and drop CSV files anywhere on the bulk insert page for quick import
- Download sample CSV files to understand the correct format and column order
## When to use bulk insert
Bulk insert shines when you need to create multiple QR codes that share similar patterns but differ in specific details. This commonly occurs in several scenarios.
Event management teams create hundreds of QR codes for different sessions, exhibitor booths, or attendee check-ins. Each code needs tracking, but manually creating them wastes hours of preparation time.
Product catalogs require individual QR codes for each SKU or variant. Retail teams need to generate codes for entire product lines, seasonal collections, or inventory locations without clicking through forms repeatedly.
Marketing campaigns often deploy QR codes across multiple channels simultaneously. Creating codes for different ad placements, geographic regions, or customer segments becomes straightforward with bulk operations.
Real estate agencies generate property tour codes for their entire listing portfolio. Educational institutions create codes for course materials, building directories, or campus navigation systems. The common thread is volume combined with systematic variation.
## Creating QR codes with the table interface
Navigate to your [workspace dashboard](https://app.linkbreakers.com/workspace/dashboard/links) and click the "Bulk Insert" button. This opens the spreadsheet-style table interface.
The table starts with one empty row. Each column represents a different QR code property:
| Column | Required | Description |
|--------|----------|-------------|
| **Destination URL** | Yes | The target URL where visitors will land after scanning. The system automatically adds HTTPS if you omit it. |
| **Name** | No | A descriptive label for internal organization. This helps you identify QR codes in your dashboard but doesn't appear to visitors. |
| **Domain** | No | Select a custom domain or leave blank to use the default Linkbreakers domain. |
| **Shortlink** | No | Create a memorable path for your QR code like "summer-sale" or "booth-23". Leave blank to auto-generate a unique random shortlink. |
| **QR Code Template** | No | Apply a pre-designed QR code style. Match templates by name, slug, or ID. |
| **Tags** | No | Add organizational labels separated by semicolons. Tags help filter and search your QR codes later. |
| **Directory** | No | Place the QR code at the root level or inside a directory. Nested directories are supported. In the form, this selector appears after the tags field. |
| **Expires on** | No | The date and time the QR code stops working. Hidden until you click "Add expiration". Leave blank and the QR code never expires. |
| **Expired destination** | No | Where visitors go after the QR code has expired. Leave blank and they see an expired page. |
### Auto-generation features
As you type in the last row, a new empty row automatically appears below. This keeps data entry fluid without clicking "add row" buttons repeatedly.
Each row with a blank shortlink receives a randomly generated unique identifier. Click the refresh icon next to any shortlink field to generate a new random value if you don't like the first suggestion.
The interface validates your data in real-time. If you enter an invalid URL or try to use a shortlink that already exists, you'll see immediate feedback.
## Uploading CSV files
Click the "Upload CSV" button to access the import dialog. You'll see a drag-and-drop area and a download link for a sample CSV file.
### CSV file format
Your CSV must include these columns in order:
1. Destination URL
2. Name
3. Domain
4. Shortlink
5. QR Code Template
6. Tags
7. Directory
8. Expires on
9. Expired destination
The last two columns are optional and were added after this feature shipped. CSV files written before then still import unchanged: a missing or blank expiration column simply means the QR code never expires.
The first row should contain column headers. Linkbreakers automatically detects and skips header rows.
Example CSV structure:
```csv
Destination URL,Name,Domain,Shortlink,QR Code Template,Tags,Directory,Expires On,Expired Destination
https://example.com/product-1,Product 1,linkbreak.ing,prod-1,Default Template,retail;summer,Marketing / Trade Shows,,
https://example.com/product-2,Product 2,,prod-2,,retail;clearance,Resources,2026-12-31,https://example.com/sale-over
https://example.com/product-3,Product 3,,,Premium QR,retail,,,
```
### How expiration dates are read
The Expires On column accepts a plain date like `2026-12-31`, which is read as the **end** of that day in the local timezone of whoever runs the import. "Expires on the 31st" almost always means through the 31st, not the moment it begins. If the exact hour matters, or your team spans timezones, give a full timestamp instead.
You can also give a full timestamp such as `2026-12-31T18:00:00Z` when the exact hour matters.
A value the importer cannot read is reported in the import summary rather than silently ignored, so a mistyped date never turns into a QR code that quietly never expires.
Expiration dates must be in the future. Bulk creation is all-or-nothing, so a single date in the past would reject the whole batch. Linkbreakers checks every row before sending anything and tells you exactly which rows to fix.
### Setting one expiration across every row
A bulk import is usually one campaign, and a campaign usually has one end date. Click **Add expiration** above the table to reveal the column, then pick a date in the bar at the top to apply it to every row at once. Individual rows can still be changed afterwards.
Be deliberate here: when a QR code expires it is deleted along with its analytics, and its shortlink becomes available again. See [how to expire a QR code](/help/dashboard/how-to-expire-a-qr-code-in-linkbreakers) for the full picture.
### How directory matching works
The Directory column supports several lookup formats. Linkbreakers tries to resolve the value in these ways:
- Directory ID: `550e8400-e29b-41d4-a716-446655440000`
- Directory slug: `trade-shows`
- Exact directory path: `marketing/trade-shows`
- Directory name: `Resources`
- Nested name path with `/` separators: `Marketing / Trade Shows`
The nested name path format is designed for human-friendly CSV files. When you upload `Marketing / Trade Shows`, Linkbreakers trims each segment, looks for `Marketing` first, then looks for `Trade Shows` inside that directory. This lets you reference subdirectories without needing to know the stored slug path.
If the Directory column is blank, the QR code is created at the root level.
### Smart column matching
The CSV importer recognizes both comma and semicolon delimiters automatically. If your spreadsheet software exports with semicolons, the system adapts without requiring format conversion.
For the Domain column, you can use:
- Domain name: `linkbreak.ing`
- Domain ID: `550e8400-e29b-41d4-a716-446655440000`
For the QR Code Template column, you can use:
- Template name: `Premium QR`
- Template slug: `premium-qr`
- Template ID: `660f9511-f39c-52e5-b827-557766551111`
When the system can't match a domain, it falls back to the default Linkbreakers domain. When it can't match a directory or template, the row stays at the root level or without a template until you correct it.
### Drag and drop import
You can drag CSV files directly onto the bulk insert page. When you hover a CSV file over the interface, a blue overlay appears confirming the system recognizes your file.
Drop the file anywhere on the page to trigger the import dialog. This shortcut saves clicks when you're working with multiple CSV files in succession.
## Reviewing and submitting
Before creating your QR codes, review the table to ensure all data appears correctly. The system displays how many QR codes you're about to create at the bottom of the page.
Common validation checks:
- All destination URLs use valid formats
- Shortlinks don't conflict with existing codes
- Custom domains are properly configured and active
- Directories exist in your workspace and nested references point to the right parent
- QR code templates exist and are accessible
Click "Create All Links" when you're ready. The system processes your batch and redirects you to the main dashboard where you can view, organize, and track all your newly created codes.
## Error handling
If any QR codes fail validation during bulk creation, the system shows specific error messages. Common issues include:
**Duplicate shortlinks** - Two rows use the same shortlink value, or a shortlink already exists in your workspace. Change one of the conflicting values.
**Invalid URLs** - Destination URLs don't follow proper format. Check for typos, missing protocols, or special characters.
**Domain not found** - The specified custom domain doesn't exist or isn't active in your workspace. Verify the domain name or leave blank to use defaults.
**Directory not found** - The specified directory ID, slug, path, or name doesn't match any available directory. For subdirectories, verify each segment in a value like `Marketing / Trade Shows`.
**Template not found** - The QR code template name, slug, or ID doesn't match any available templates. Check spelling or leave blank for default styling.
The bulk insert interface preserves your data when errors occur. Fix the problematic rows and resubmit without losing your work.
## Best practices
Use descriptive naming conventions that make sense for your organization. If you're creating codes for products, include SKU numbers. For events, reference session numbers or room names.
Use directories for broad structure and tags for cross-cutting labels. For example, a QR code can live in `Marketing / Trade Shows` while also carrying tags like `spring-launch` and `emea`.
Download the sample CSV before creating large batches. This ensures you understand the exact format and column order Linkbreakers expects.
Test with a small batch first. Create 5-10 QR codes to verify your process works correctly before uploading your complete dataset of hundreds of codes.
Keep your CSV files organized in a version control system or shared drive. This creates an audit trail and makes it easy to regenerate QR codes if needed.
## Advanced workflows
Many teams combine bulk insert with other Linkbreakers features to create sophisticated tracking systems.
Create QR codes in bulk, then use the workflow builder to add password protection, forms, or conditional redirects to specific codes. The bulk insert establishes the foundation; workflows add the intelligence.
Use consistent naming, directory structure, and tagging to enable programmatic updates through the Linkbreakers API. Your development team can query QR codes by tag or directory and update each one's destination, held on its redirect workflow step, as campaigns evolve.
Generate multiple variations of the same campaign by creating bulk batches with different tags, directories, or templates. This A/B testing approach helps you identify which QR code designs or messaging perform best with your audience.
## Need help?
If you encounter issues during bulk import or have questions about specific use cases, contact [support@linkbreakers.com](mailto:support@linkbreakers.com). Include your CSV file, with sensitive data removed, to help us diagnose formatting issues quickly.
For teams managing large-scale QR code deployments regularly, consider scheduling a consultation to discuss custom solutions and automation opportunities that fit your specific workflow.
---
# How to invite team members to Linkbreakers
Source: https://linkbreakers.com/help/article/how-to-invite-team-members-to-linkbreakers
## Short answer
This article explains how to invite team members to linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Marketing campaigns work best when teams collaborate effectively. Linkbreakers transforms individual effort into coordinated team success through its workspace collaboration features.
Your workspace serves as a shared environment where team members create QR codes, analyze campaign performance, and optimize visitor experiences together. Getting your team properly set up ensures everyone contributes to your marketing goals efficiently.
## Quick summary
- Navigate to Team Members section and click "Invite Member" to start the invitation process
- Enter valid business email addresses and assign appropriate workspace roles during invitation
- Send invitations with 7-day expiration periods and monitor pending invitation status
- Manage team member roles, permissions, and access control through administrative interface
- Configure onboarding workflows and establish clear collaboration responsibilities for team success
- Implement security measures including force sign-out capabilities and access removal procedures
## Understanding workspace collaboration
Team collaboration in Linkbreakers revolves around shared access to campaigns, analytics, and resources. When you invite team members, they gain access to your workspace's QR codes, links, analytics data, and workflow configurations based on their assigned role.
This shared environment means everyone sees the same campaign data in real-time. Marketing managers can review performance metrics while designers create new QR codes using approved templates. Sales teams can access lead data while campaign managers optimize conversion workflows.
> "The best marketing campaigns happen when everyone works from the same information and toward the same goals."
Workspace limits vary by subscription plan. Free accounts support limited team members, while Pro and Enterprise plans accommodate larger teams with advanced collaboration features.
## Step-by-step invitation process
Navigate to [Team Members](https://app.linkbreakers.com/workspace/dashboard/members) in your workspace dashboard. This section displays current team members and provides invitation controls.
Click "Invite Member" to begin the invitation process. You'll see a form requesting the new member's email address and role assignment.
### Email address requirements
Enter the work email address for your new team member. Linkbreakers validates email formats and checks against blocklisted domains to prevent spam and abuse.
Some email providers and domains are restricted for security reasons. If you encounter an error during invitation, try using a different business email domain or contact support for assistance.
The invitation email comes from Linkbreakers' notification system and includes a secure link for account creation. New members must verify their email address before gaining workspace access.
### Role selection during invitation
Choose the appropriate role for your new team member during the invitation process. [Workspace roles](https://linkbreakers.com/help/article/what-are-the-workspace-roles-in-linkbreakers) determine what actions team members can perform.
**Admin roles** provide full workspace access including billing management, team administration, and campaign configuration. Reserve admin access for trusted team members who need complete control.
**Viewer roles** offer read-only access to campaigns and analytics without modification capabilities. This role works well for stakeholders, clients, or executives who need visibility but shouldn't change campaign settings.
Select the role that matches your team member's responsibilities. You can modify roles later if their duties change or expand.
### Sending the invitation
After entering the email address and selecting a role, click "Send Invitation" to dispatch the invitation email. The system immediately validates the email format and domain restrictions.
Successful invitations appear in your pending invitations list with a timestamp showing when the invitation was sent. Team members have 7 days to accept invitations before they expire automatically.
If someone doesn't receive their invitation email, check their spam folder first. Corporate email systems sometimes filter automated messages. You can resend invitations from the team members page if needed.
### Inviting someone who already has a Linkbreakers account
If the email you invite already has a Linkbreakers account, for example because that person belongs to another workspace, there is no pending invitation. They are added to your workspace immediately with the role you picked, and receive a "You've been added to" email whose link opens your workspace. Their password and sign-in methods stay the same, and a workspace switcher lets them move between their workspaces. See [Working across multiple workspaces](/help/article/work-across-multiple-workspaces).
## Managing pending invitations
The team members page displays all pending invitations with status indicators. You can monitor who has been invited but hasn't yet joined your workspace.
**Pending status** indicates the invitation email was sent successfully but the recipient hasn't created their account yet. These invitations remain valid for 7 days from the send date.
**Expired status** means the invitation exceeded the 7-day acceptance window. Expired invitations must be resent if you still want that person to join your workspace.
### Resending invitations
Click "Resend" next to any pending invitation to send a fresh invitation email. This action generates a new invitation link and resets the 7-day expiration timer.
Resending invitations helps when team members lose the original email or when corporate email systems delay message delivery. The new invitation replaces the previous one automatically.
### Canceling invitations
Remove pending invitations by clicking "Cancel" next to the invitation. This action prevents the invited person from joining your workspace even if they have the invitation email.
Canceling invitations makes sense when team changes occur or when you accidentally invite the wrong email address. Cancelled invitations cannot be restored, but you can send new invitations to the same email address if needed.
## New member onboarding process
When team members accept invitations, they create Linkbreakers accounts linked to your workspace. The onboarding process guides them through account setup and workspace orientation.
New members must verify their email addresses before gaining full access. This verification step ensures account security and confirms the invitation reached the intended recipient.
### Email verification workflow
Invitation emails contain secure links that begin the account creation process. New members click these links and provide basic account information including name and password.
After account creation, Linkbreakers sends a verification email to confirm the email address. Team members must click the verification link before they can access your workspace fully.
The verification process typically completes within minutes. If verification emails don't arrive, new members should check spam folders and contact support if issues persist.
### First-time access experience
Verified team members can sign in and access your workspace immediately. They see the same dashboard navigation with features available based on their assigned role.
New members benefit from workspace orientation sessions where you can explain campaign organization, naming conventions, and collaboration workflows specific to your team.
Consider creating documentation or training materials that explain your team's Linkbreakers usage patterns, preferred templates, and approval processes for campaign changes.
## Advanced team management
### Modifying member roles
Change team member roles anytime through the team members page. Click "Edit" next to any member to modify their role assignment.
Role changes take effect immediately. Promoting someone from Viewer to Admin grants instant access to previously restricted features. Demoting from Admin to Viewer removes administrative capabilities right away.
Consider the impact of role changes on active campaigns. Team members working on campaign modifications might lose access mid-process if their role changes.
### Removing team members
Remove team members by clicking "Remove" next to their name. This action immediately revokes all workspace access and cannot be undone.
Removed members lose access to campaigns, analytics, and workspace resources instantly. They cannot rejoin without receiving a new invitation from a workspace admin.
Before removing active team members, ensure they've completed any ongoing campaign work and transferred knowledge to remaining team members.
### Force sign-out for security
Workspace admins can force sign-out for any team member through the security controls. This feature helps protect workspace security when devices are compromised or when employment situations change.
Force sign-out immediately invalidates all active sessions for the selected team member across all devices. They must sign in again with their credentials to regain access.
Use force sign-out when team members report lost devices, suspicious account activity, or when you need to ensure someone is completely signed out for security reasons.
## Best practices for team collaboration
### Establishing clear responsibilities
Define who creates campaigns, who reviews analytics, and who makes optimization decisions. Clear responsibilities prevent confusion and ensure important tasks don't fall through gaps.
Marketing managers might focus on campaign strategy while designers handle QR code creation and branding. Analytics specialists can monitor performance while content creators develop workflow copy.
Document these responsibilities so team members understand their role in campaign success and know who to consult for specific questions or approvals.
### Using consistent naming conventions
Establish campaign naming patterns that make sense to your entire team. Consistent names help everyone locate specific campaigns quickly and understand campaign purposes at a glance.
Consider patterns like:
- `[Campaign Type] - [Target Audience] - [Month Year]`
- `[Product Name] - [Channel] - [Goal]`
- `[Event Name] - [Location] - [Date]`
Good naming conventions reduce confusion and make analytics reviews more efficient for the entire team.
### Creating shared templates
Develop [QR code templates](https://linkbreakers.com/help/api/qr-code-templates) that codify your brand standards and design preferences. Shared templates ensure visual consistency regardless of who creates campaigns.
Include templates for different use cases like events, product launches, social media campaigns, and print materials. This variety gives team members appropriate starting points for their specific needs.
Update templates when brand guidelines change and communicate updates to the entire team to maintain consistency across all new campaigns.
## Troubleshooting invitation issues
### Email delivery problems
Corporate email systems sometimes block or delay automated messages. If team members don't receive invitations, ask them to check spam folders and add `notifications@linkbreakers.com` to their safe sender lists.
Some organizations require IT approval for new service accounts. Work with your IT team to ensure Linkbreakers emails reach team members reliably.
### Domain restrictions
Linkbreakers blocks certain email domains to prevent abuse. If you encounter domain restriction errors, contact support to discuss options for your organization's specific email setup.
Business email addresses work better than personal email accounts for workspace invitations. Personal email providers sometimes have stricter filtering that affects invitation delivery.
### Account creation failures
If team members encounter errors during account creation, ensure they're using supported browsers and have JavaScript enabled. Modern browsers work best with Linkbreakers' interface.
Clear browser caches and cookies if account creation repeatedly fails. Sometimes stored data conflicts with the invitation process.
## API integration for team management
The [Members API](https://linkbreakers.com/help/api/members) enables programmatic team management for larger organizations. You can invite members, modify roles, and monitor team status through API calls.
This capability supports sophisticated onboarding workflows where HR systems automatically invite new team members or where role changes sync with organizational changes in other systems.
API integration helps enterprises maintain consistent access control across multiple platforms while reducing administrative overhead for workspace managers.
## Frequently Asked Questions
### How many team members can I invite?
Team member limits depend on your subscription plan. Free accounts support limited members while Pro and Enterprise plans accommodate larger teams. Check your plan details for specific limits.
### Can I invite people who don't have Linkbreakers accounts yet?
Yes, invitations work for both existing Linkbreakers users and people who haven't used the platform before. New users create accounts as part of accepting your invitation.
### What happens if someone joins multiple workspaces?
Team members can belong to multiple workspaces with different roles in each. One account, identified by their email, gives access to every workspace they've been invited to, and they move between them with the workspace switcher. See [Working across multiple workspaces](/help/article/work-across-multiple-workspaces).
### Can I change someone's role after they join?
Yes, workspace admins can modify member roles anytime through the team management interface. Role changes take effect immediately.
### Do removed team members retain access to data?
No, removed team members lose all workspace access immediately. They cannot view campaigns, analytics, or any workspace data after removal. Removal only affects your workspace: their Linkbreakers account and any other workspaces they belong to stay as they are.
### Can team members invite other people?
Only workspace admins can send invitations. This restriction maintains control over workspace access and prevents unauthorized team growth.
### What if invitation emails go to spam?
Ask team members to check spam folders and add Linkbreakers to their safe sender lists. You can resend invitations if the original emails don't reach recipients.
### How do I know when someone accepts an invitation?
The team members page updates automatically when invitations are accepted. You'll see new members appear in the active members list with their assigned roles.
Effective team collaboration starts with proper access management. When team members have appropriate roles and clear responsibilities, your marketing campaigns benefit from diverse expertise and coordinated effort.
Take time to plan your team structure before sending invitations. Consider who needs what level of access and how team members will coordinate their efforts. This preparation ensures smooth collaboration from day one.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to set up email digests in Linkbreakers
Source: https://linkbreakers.com/help/article/how-to-set-up-email-digests-in-linkbreakers
## Short answer
Email digests are periodic reports sent to your inbox summarizing your workspace traffic. You can choose between weekly, monthly, or no digest at all from your [Workspace Settings](https://app.linkbreakers.com/workspace/dashboard/settings).
## What is an email digest
An email digest is an automated summary of your workspace activity over a set period. Instead of logging into the dashboard to check performance, the digest brings the key numbers to you.
Each digest email includes:
| Data point | Description |
|---|---|
| Total visits | Number of visits during the period, with percentage change vs. previous period |
| Top country | The country that generated the most traffic |
| Cities reached | How many distinct cities your visitors came from, with change over time |
| Daily visits chart | A visual breakdown of visits per day across the period |
| Top performing link | The link that received the most visits, with its count |
The email also includes a direct link to your [analytics dashboard](https://app.linkbreakers.com/workspace/dashboard) for a deeper look at the data.
## How to configure your digest frequency
1. Go to [Workspace Settings](https://app.linkbreakers.com/workspace/dashboard/settings)
2. Scroll to the **Email digest** section
3. Select your preferred frequency:
- **None** — disables digest emails entirely
- **Weekly** — delivered every Monday, covering the previous 7 days
- **Monthly** — delivered on the 1st of each month, covering the previous month
4. Save your settings
The change takes effect immediately. Your next digest will follow the schedule you selected.
## When digests are sent
Weekly digests are sent every **Monday morning** and cover Monday through Sunday of the previous week. Monthly digests are sent on the **1st of each month** and cover the entire previous calendar month.
This means if you switch to weekly on a Wednesday, your first digest will arrive the following Monday with the previous full week of data.
## Who receives the digest
The digest is tied to the workspace. The workspace owner and admins receive the email based on the configured frequency. The setting applies at the workspace level, not per individual user.
## Use cases
### Active campaign monitoring
If you're running time-sensitive campaigns with [QR codes](https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns) or [branded links](https://linkbreakers.com/help/article/how-to-create-branded-links-in-linkbreakers), a weekly digest helps you catch performance changes quickly. A sudden drop in scans or visits shows up in the next Monday email.
### Long-term tracking
For teams that manage campaigns over weeks or months, the monthly digest provides a high-level view without the noise. You see trends over time — whether traffic is growing, which links consistently perform, and how your geographic reach evolves.
### Staying informed without dashboard access
Team members who don't log into the dashboard regularly can still stay informed through digest emails. This is particularly useful for managers or stakeholders who want visibility into campaign performance without navigating the platform daily.
## Frequently Asked Questions
### Can I receive both weekly and monthly digests?
No. The setting is a single choice per workspace. You can select weekly, monthly, or none. If you want both levels of detail, the weekly digest gives you more granular data while you can review monthly trends directly in the [dashboard](https://app.linkbreakers.com/workspace/dashboard).
### What happens if I have no traffic during a period?
You will still receive the digest email. It will show zero visits and no top performing link, which can be useful as a reminder to check your campaign setup or distribution.
### Can I change the digest day or time?
Not currently. Weekly digests go out on Mondays and monthly digests on the 1st. The schedule is fixed for all workspaces.
### How do I stop receiving digests?
Go to [Workspace Settings](https://app.linkbreakers.com/workspace/dashboard/settings), set the email digest to **None**, and save. You will stop receiving digest emails immediately.
### Does the digest include data from all links in the workspace?
Yes. The digest summarizes traffic across all links and QR codes in your workspace. The top performing link is selected from all active links based on visit count during the period.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What are the workspace roles in Linkbreakers
Source: https://linkbreakers.com/help/article/what-are-the-workspace-roles-in-linkbreakers
## Short answer
This article explains what are the workspace roles in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Access control shapes how teams collaborate effectively. When everyone has appropriate permissions for their responsibilities, campaigns run smoothly and sensitive data stays protected.
Linkbreakers implements role-based access control that balances collaboration with security. Each team member receives permissions aligned with their job function, preventing accidental changes while enabling productive teamwork.
Understanding these roles helps you assign appropriate access levels and maintain proper governance over your marketing campaigns.
## Quick summary
- Assign Admin roles for full workspace access including team management and billing control
- Grant Viewer roles for read-only access to campaigns and analytics without modification capabilities
- Configure Tech roles for advanced API access and system-level technical integrations
- Apply principle of least privilege when assigning roles to minimize security risks
- Review team member permissions regularly to ensure alignment with current responsibilities
- Manage role transitions carefully with proper communication and knowledge transfer procedures
## Role-based access control overview
Role-based access control (RBAC) assigns specific permissions to predefined roles rather than individual users. This approach simplifies team management while ensuring consistent security policies across your workspace.
When you invite team members, you assign them roles that determine what features they can access and what actions they can perform. These permissions apply to all workspace resources including campaigns, analytics, settings, and team management.
The system protects critical functions like billing management and workspace configuration while enabling broad collaboration on campaign creation and optimization.
### Three-tier permission system
Linkbreakers uses three primary roles that cover most organizational needs:
| Capability | Admin | Viewer | Tech |
|------------|--------|---------|------|
| **Campaign Management** |
| Create/Edit QR Codes | ✓ | ✗ | ✓ |
| Delete Campaigns | ✓ | ✗ | ✓ |
| Build Workflows | ✓ | ✗ | ✓ |
| Custom Domains | ✓ | ✗ | ✓ |
| QR Code Templates | ✓ | ✗ | ✓ |
| **Analytics & Reporting** |
| View All Analytics | ✓ | ✓ | ✓ |
| Real-time Dashboards | ✓ | ✓ | ✓ |
| Visitor Journeys | ✓ | ✓ | ✓ |
| Export Data | ✓ | ✗ | ✓ |
| **Team Management** |
| Invite Team Members | ✓ | ✗ | ✗ |
| Change Member Roles | ✓ | ✗ | ✗ |
| Remove Team Members | ✓ | ✗ | ✗ |
| Force Sign-out | ✓ | ✗ | ✗ |
| **Billing & Subscription** |
| View Billing Info | ✓ | ✗ | ✗ |
| Change Subscription | ✓ | ✗ | ✗ |
| Manage Payment Methods | ✓ | ✗ | ✗ |
| Download Invoices | ✓ | ✗ | ✗ |
| **Technical Integration** |
| API Access | Standard | None | Enhanced |
| Webhook Configuration | ✓ | ✗ | ✓ |
| Advanced API Features | ✗ | ✗ | ✓ |
| System Monitoring | ✗ | ✗ | ✓ |
| DNS Management | ✗ | ✗ | ✓ |
This simplified structure reduces confusion while providing granular control over workspace resources.
## Admin role capabilities
Admin roles provide comprehensive workspace access with full control over all features and settings. Team members with admin permissions can modify any campaign, invite new members, and manage billing configurations.
### Campaign and content management
Admins create, modify, and delete QR codes, links, and workflows without restrictions. They can access all campaigns regardless of who created them originally.
This broad access enables admins to:
- Create and configure QR codes with custom designs
- Build and modify visitor workflows
- Set up custom domains and branded links
- Configure webhook integrations and API tokens
- Manage QR code templates and design presets
Campaign modifications made by admins affect live campaigns immediately. This power requires careful consideration when making changes to active marketing initiatives.
### Team administration
Workspace team management falls under admin responsibilities. Only admins can invite new members, modify existing member roles, and remove people from the workspace.
Admin team management capabilities include:
- Sending member invitations with role assignments
- Changing existing member roles (including promoting/demoting other admins)
- Removing team members and revoking access
- Managing pending invitations and resending expired ones
- Forcing sign-out for security purposes
These permissions ensure admins maintain control over workspace access while enabling team growth and role adjustments as organizations evolve.
### Billing and subscription management
Financial controls remain exclusively with admin roles. Admins handle subscription changes, payment method updates, and usage monitoring for the workspace.
Billing responsibilities encompass:
- Upgrading or downgrading subscription plans
- Managing payment methods and billing addresses
- Monitoring usage limits and overage charges
- Downloading invoices and payment history
- Configuring billing notifications and alerts
This financial control prevents unauthorized subscription changes while ensuring admins can optimize costs and plan capacity appropriately.
### Analytics and reporting access
Admins access all analytics data without restrictions. They can view campaign performance, visitor behavior, conversion metrics, and detailed event tracking for every campaign in the workspace.
Advanced analytics features available to admins include:
- Real-time campaign performance dashboards
- Geographic visitor distribution analysis
- Device and browser usage patterns
- Visitor journeys and visitor profiling
- Custom event tracking and conversion funnel analysis
This comprehensive analytics access enables admins to make data-driven decisions about campaign optimization and resource allocation.
## Viewer role permissions
Viewer roles provide read-only access to workspace campaigns and analytics without the ability to modify configurations or create new content. This role suits stakeholders, clients, or team members who need visibility without operational responsibilities.
### Dashboard and analytics access
Viewers can access all dashboard sections including campaign lists, analytics reports, and visitor tracking data. They see the same information as admins but cannot make changes to configurations.
Viewer dashboard access includes:
- Campaign performance metrics and analytics
- Visitor behavior and demographic data
- QR code scan tracking and geographic distribution
- Link click analysis and conversion rates
- Real-time activity monitoring and alerts
This visibility enables viewers to stay informed about campaign performance and contribute to optimization discussions without risking accidental modifications.
### Limited interaction capabilities
While viewers cannot create or modify campaigns, they can interact with certain features in read-only modes. They can view workflow configurations, examine QR code designs, and review campaign settings.
Viewers cannot:
- Create new QR codes or shortened links
- Modify existing campaigns or workflows
- Change workspace settings or configurations
- Invite new team members or modify roles
- Access billing information or subscription details
- Create or modify webhook integrations
These restrictions protect campaign integrity while enabling meaningful participation in campaign analysis and planning.
### Team collaboration benefits
Viewer access facilitates transparent collaboration between operational teams and stakeholders. Executives can monitor campaign performance, clients can review agency work, and cross-functional partners can stay informed about marketing initiatives.
This transparency builds trust and enables better decision-making without the risk of accidental changes to live campaigns.
## Tech role specifications
Tech roles provide comprehensive system access designed for advanced integrations and technical implementations. This role typically serves developers, system administrators, and technical consultants working with Linkbreakers APIs and integrations.
### Advanced API access
Tech roles unlock enhanced API capabilities including bulk operations, advanced automation, and integration development features. These permissions enable sophisticated technical implementations.
Technical capabilities include:
- Full API access with elevated rate limits
- Webhook configuration and debugging tools
- Advanced analytics export and data integration
- Custom domain configuration and DNS management
- System monitoring and performance metrics
### System-level operations
Tech roles can perform system-level operations that affect workspace infrastructure and technical configurations. These capabilities support enterprise deployments and complex integration scenarios.
System operations encompass:
- Advanced security configuration and audit logging
- Integration debugging and troubleshooting tools
- Performance optimization and capacity planning
- Custom authentication and access control setup
- Advanced workflow automation and scripting
Tech role access requires careful assignment as these permissions can affect workspace stability and security posture.
## Role assignment best practices
### Principle of least privilege
Assign the minimum role necessary for each team member to perform their responsibilities effectively. This approach reduces security risks while maintaining operational efficiency.
Start with viewer access for new team members and upgrade roles as responsibilities expand. This progression helps people learn the platform before gaining modification permissions.
### Regular access reviews
Periodically review team member roles to ensure they align with current responsibilities. Remove access for departed team members and adjust roles for people whose duties have changed.
Schedule quarterly access reviews where you examine:
- Active team members and their current roles
- Recent role changes and their business justification
- Departed team members requiring access removal
- Upcoming organizational changes affecting access needs
### Documentation and training
Document role assignments and the reasoning behind permission decisions. This documentation helps maintain consistency and provides context for future access decisions.
Train team members on their role capabilities and limitations. Clear understanding prevents frustration and reduces requests for unnecessary permission changes.
## Managing role transitions
### Promoting team members
When promoting someone to admin status, ensure they understand the additional responsibilities and potential impact of their expanded permissions. Consider gradual transitions where appropriate.
Promotion considerations include:
- Business justification for expanded access
- Training on new capabilities and responsibilities
- Understanding of billing and team management implications
- Awareness of security responsibilities and best practices
### Demoting or restricting access
Role reductions require careful planning to minimize operational disruption. Communicate changes clearly and ensure alternative arrangements for affected responsibilities.
Before demoting roles, consider:
- Active campaigns or projects requiring continued access
- Knowledge transfer needs for specialized responsibilities
- Communication with affected team members about changes
- Transition planning for ongoing work assignments
### Emergency access procedures
Establish procedures for emergency role changes when immediate access modification becomes necessary. These situations might include security incidents, staff departures, or critical operational needs.
Emergency procedures should include:
- Clear escalation paths for urgent access changes
- Documentation requirements for emergency modifications
- Review processes for emergency decisions
- Communication protocols for affected team members
## Frequently Asked Questions
### Can I have multiple admins in one workspace?
Yes, workspaces can have multiple admin users. All admins have identical permissions and can manage each other's access levels. Consider carefully before assigning multiple admin roles.
### What happens if the only admin leaves the organization?
Contact Linkbreakers support immediately if you lose access to all admin accounts. Support can help restore admin access with proper verification procedures, but this process takes time and verification.
### Can viewers see billing information?
No, billing information remains exclusively accessible to admin roles. Viewers cannot see subscription details, payment methods, or usage charges.
### Do role changes take effect immediately?
Yes, role modifications apply instantly. Team members gain or lose access to features immediately when their roles change.
### Can team members belong to multiple workspaces?
Yes, users can join multiple workspaces with different roles in each. Their permissions in one workspace don't affect their access in others. See [Working across multiple workspaces](/help/article/work-across-multiple-workspaces).
### What's the difference between Admin and Tech roles?
Admin roles focus on business operations including team management and billing, while Tech roles emphasize technical capabilities like advanced API access and system configuration.
### Can I create custom roles beyond the standard three?
Currently, Linkbreakers provides the three standard roles (Admin, Viewer, Tech) without custom role creation capabilities. These roles cover most organizational needs effectively.
### How do I know what role to assign someone?
Consider their job responsibilities and required access level. Use viewer access as the default and upgrade to admin only when team management or billing access is necessary.
Effective role assignment protects your workspace while enabling productive collaboration. Take time to understand each role's capabilities and assign permissions thoughtfully based on actual business needs rather than convenience.
Regular role reviews ensure your access control remains aligned with organizational changes and security requirements. When in doubt, start with more restrictive access and expand permissions as needs become clear.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How do you activate MFA in Linkbreakers
Source: https://linkbreakers.com/help/article/how-do-you-activate-mfa-in-linkbreakers
## Short answer
This article explains how do you activate mfa in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Security breaches can destroy marketing campaigns and compromise customer data. Multi-factor authentication (MFA) provides a crucial defense layer that protects your workspace even when passwords are compromised.
Linkbreakers MFA requires team members to verify their identity through email codes in addition to their regular passwords. This dual verification significantly reduces unauthorized access risks while maintaining user-friendly authentication workflows.
Implementing MFA demonstrates your commitment to protecting campaign data, customer information, and brand assets stored in your workspace.
## Quick summary
- Enable multi-factor authentication through workspace security settings to protect all team members
- Configure email-based verification codes that expire after 15 minutes for enhanced security
- Communicate MFA changes to team members before activation to prevent workflow disruptions
- Troubleshoot common issues like email delivery problems and browser session conflicts
- Manage MFA at enterprise scale with proper training and support procedures
- Monitor MFA usage and maintain compliance documentation for audit purposes
## Understanding Linkbreakers MFA
Multi-factor authentication in Linkbreakers uses email-based verification codes as the second authentication factor. When enabled, team members must provide both their password and a time-sensitive code sent to their registered email address.
This email-based approach balances security with accessibility. Most team members can receive verification codes through their existing business email without requiring additional apps or hardware devices.
### How email MFA works
When someone signs into a workspace with MFA enabled, they complete the standard username and password authentication first. The system then sends a 6-digit verification code to their registered email address.
The verification code expires after 15 minutes for security purposes. Users must enter this code within the time limit to complete authentication and access the workspace.
Each verification code works only once. Even if someone intercepts a code, it becomes useless after the legitimate user enters it or when the 15-minute window expires.
### Workspace-level enforcement
MFA operates at the workspace level, meaning it affects all team members who belong to that workspace. When you enable MFA, every team member must use two-factor authentication for workspace access.
This universal enforcement ensures consistent security across your entire team. You can't selectively enable MFA for some team members while leaving others with password-only authentication.
The workspace-wide approach simplifies security management and eliminates potential weak points where some accounts might have weaker protection.
## Enabling MFA for your workspace
Only workspace administrators can enable or disable MFA. This restriction ensures that security decisions remain with authorized personnel who understand the implications for the entire team.
Navigate to [Workspace Settings](https://app.linkbreakers.com/workspace/dashboard/settings) and locate the security section. You'll find MFA controls alongside other workspace security configurations.
### Pre-activation considerations
Before enabling MFA, communicate the change to your team members. Sudden MFA activation can disrupt workflows if people aren't prepared for the additional authentication step.
Consider timing the activation during low-activity periods or when team members are available to handle any authentication issues. Avoid enabling MFA right before important campaign launches or during busy periods.
Ensure all team members have access to their registered email accounts. Team members who can't receive verification emails will be locked out of the workspace until the issue is resolved.
### Activation process
Click "Enable MFA" in the workspace security settings. The system will present a confirmation dialog explaining the implications of this change for all workspace members.
Confirm your decision to enable MFA. The change takes effect immediately for all future sign-in attempts. Team members currently signed in remain authenticated until their sessions expire or they sign out.
The system sends notification emails to all workspace members informing them about the MFA activation. These notifications include instructions for handling the new authentication requirements.
### Immediate effects
Once activated, MFA applies to all authentication attempts for your workspace. Team members signing in will immediately encounter the two-factor authentication flow.
Existing authenticated sessions remain valid until they naturally expire. However, any new sign-in attempts require both password and email verification.
Mobile app users and API integrations continue working with existing authentication tokens. MFA affects interactive sign-in processes but doesn't disrupt programmatic access using valid API tokens.
## Team member experience with MFA
When team members sign into an MFA-enabled workspace, they follow the enhanced authentication workflow that adds email verification to the standard process.
### Sign-in workflow changes
The sign-in process begins normally with email address and password entry. After successful password verification, the system displays a verification code input screen instead of proceeding directly to the dashboard.
Linkbreakers sends a 6-digit verification code to the team member's registered email address. The email includes the code and reminds users about the 15-minute expiration time.
Team members enter the verification code on the authentication screen and click "Verify" to complete the sign-in process. Successful verification grants full workspace access as usual.
### Verification code emails
Verification emails arrive from Linkbreakers' notification system with clear subject lines indicating their purpose. The emails contain the 6-digit code prominently displayed for easy identification.
These emails also include security reminders about not sharing codes and instructions for contacting support if the user didn't initiate the sign-in attempt.
Verification emails typically arrive within seconds, though email delivery can occasionally take a few minutes depending on email provider processing times.
### Code expiration and retry
Verification codes expire exactly 15 minutes after generation for security purposes. If someone enters an expired code, the system rejects it and offers the option to request a new code.
Team members can request new verification codes if the original expires or if they don't receive the email. The system generates fresh codes with new 15-minute expiration windows.
Each user can request a limited number of verification codes within a time period to prevent abuse while ensuring legitimate users can always access the workspace.
## Troubleshooting MFA issues
### Email delivery problems
Corporate email systems sometimes delay or filter automated messages. If team members don't receive verification codes promptly, they should check spam folders and add `notifications@linkbreakers.com` to their safe sender lists.
Email providers with aggressive filtering might block verification emails. Work with your IT team to ensure Linkbreakers notification emails reach team members reliably.
Some organizations require email whitelist approvals for external automated messages. Coordinate with IT teams before enabling MFA to prevent authentication disruptions.
### Lost email access
Team members who lose access to their registered email accounts cannot complete MFA verification. Contact workspace administrators immediately to address these situations.
Administrators can temporarily disable MFA to restore access, though this reduces security for the entire workspace. Consider this option only as a last resort for critical situations.
The proper solution involves updating the team member's email address in their account settings, but this typically requires administrative intervention.
### Browser and session issues
Clear browser caches and cookies if MFA repeatedly fails with valid codes. Sometimes stored authentication data conflicts with the new MFA requirements.
Modern browsers work best with Linkbreakers' MFA implementation. Encourage team members to use current browser versions and enable JavaScript for optimal functionality.
Private/incognito browsing modes can sometimes cause session issues with MFA. Try normal browsing mode if authentication problems persist.
## Managing MFA at scale
### Enterprise considerations
Large organizations should develop comprehensive MFA rollout plans that include team training, communication strategies, and support procedures for authentication issues.
Consider phased rollouts where MFA activates for pilot groups before full organizational deployment. This approach helps identify potential issues and refine support processes.
Establish clear escalation procedures for MFA-related access problems. Team members need to know who to contact and how quickly they can expect resolution.
### Documentation and training
Create internal documentation explaining your organization's MFA implementation and provide step-by-step instructions for team members encountering the new authentication flow.
Include screenshots of the MFA process and common troubleshooting steps in your documentation. Visual guides help team members navigate the new requirements confidently.
Regular training updates ensure new team members understand MFA requirements and experienced users stay current with any process changes.
### Monitoring and compliance
Track MFA adoption and identify team members experiencing repeated authentication difficulties. Early intervention can prevent frustration and maintain productivity.
Document MFA usage for compliance or audit purposes if your organization requires security control documentation. Keep records of when MFA was enabled and any temporary disablements.
## API access and MFA
MFA requirements don't affect existing API token authentication. Programmatic integrations continue working normally because they use API tokens rather than interactive authentication.
However, creating new API tokens requires completing the MFA flow since token creation happens through the authenticated dashboard interface.
Development teams should ensure they have appropriate API tokens before enabling MFA to avoid disruptions in automated systems or integrations.
### Webhook functionality
Webhook deliveries continue operating normally with MFA enabled. These automated processes don't require interactive authentication and remain unaffected by workspace MFA settings.
### Third-party integrations
Existing integrations using OAuth or API tokens maintain their functionality regardless of MFA status. The enhanced authentication requirements apply only to human users signing into the dashboard.
## Disabling MFA
Workspace administrators can disable MFA through the same security settings where they enabled it. However, consider the security implications carefully before removing this protection.
Disabling MFA immediately removes the verification code requirement for all future sign-ins. Team members will revert to password-only authentication for workspace access.
### When to consider disabling MFA
Temporary MFA disabling might be necessary during email system outages that prevent verification code delivery. However, re-enable MFA as soon as email service restores.
Persistent technical issues affecting multiple team members might justify temporary disabling while you work with support to resolve underlying problems.
Never disable MFA permanently without implementing alternative security measures. The enhanced protection MFA provides outweighs the minor inconvenience of email verification.
## Frequently Asked Questions
### Does MFA slow down the sign-in process significantly?
MFA adds approximately 30-60 seconds to the sign-in process, depending on email delivery speed. Most team members find this acceptable given the security benefits.
### Can team members use authentication apps instead of email?
Currently, Linkbreakers MFA uses email-based verification only. Authentication app support isn't available, but email verification provides strong security for most use cases.
### What happens if someone enters the wrong verification code multiple times?
The system temporarily locks the account after multiple failed verification attempts. This protection prevents brute force attacks while legitimate users can try again after a brief waiting period.
### Do verification codes work across different devices?
Yes, verification codes work on any device where the team member attempts to sign in. The codes aren't tied to specific devices or browsers.
### Can I see which team members are using MFA?
Workspace administrators can monitor MFA usage through activity logs and authentication reports. These insights help ensure compliance and identify potential issues.
### How long do signed-in sessions last with MFA enabled?
Session duration remains unchanged with MFA. Team members stay signed in for the same period as before MFA activation, but must complete two-factor authentication for new sign-ins.
### What if our email system has extended outages?
Contact Linkbreakers support during email outages that prevent verification code delivery. Support can provide guidance for maintaining workspace access during technical emergencies.
### Does MFA protect against all security threats?
MFA significantly reduces unauthorized access risks but isn't a complete security solution. Combine MFA with strong passwords, regular access reviews, and security awareness training for comprehensive protection.
MFA represents one of the most effective security measures you can implement for your Linkbreakers workspace. The minor inconvenience of email verification provides substantial protection against unauthorized access and data breaches.
Plan your MFA rollout carefully, communicate changes clearly to your team, and establish support procedures for authentication issues. When implemented thoughtfully, MFA enhances security without significantly impacting team productivity.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Working across multiple workspaces
Source: https://linkbreakers.com/help/article/work-across-multiple-workspaces
## Short answer
One Linkbreakers account, identified by your email address, can belong to several workspaces. You join another workspace when one of its admins invites the email you already use: you are added right away and receive a "You've been added to" email, followed by the workspace name, whose link opens that workspace. Once you belong to two or more workspaces, a workspace switcher appears at the top right of the dashboard. Your role, your session and any MFA requirement are set per workspace, while your password and sign-in methods belong to your account and apply everywhere.
## Quick summary
- One account, one email, any number of workspaces you have been invited to
- You cannot create an extra workspace yourself; an admin of that workspace invites your existing email
- An invitation to an email that already has an account adds you immediately, with no acceptance step
- Password, Google or Microsoft sign-in and email verification belong to your account, so they apply to every workspace
- The switcher at the top right of the dashboard lists your workspaces and your role in each; it only appears with 2 or more
- Signing in opens the last workspace you used
- A workspace that enforces MFA asks for an emailed 6-digit code when you switch into it
- Each workspace keeps its own session, and your [role](/help/article/what-are-the-workspace-roles-in-linkbreakers) is set per workspace
- MCP clients act in one workspace, chosen on the OAuth consent screen
- API tokens belong to one workspace and are not affected
## What belongs to your account and what belongs to a workspace
| Setting | Belongs to | What that means |
| --- | --- | --- |
| Email address | Account | The same email identifies you in every workspace |
| Password | Account | A password change or reset applies to every workspace |
| Google or Microsoft sign-in | Account | Works for every workspace you belong to |
| Email verification | Account | Verify once, valid everywhere |
| Role (Admin, Viewer, Tech) | Workspace | You can be Admin in one workspace and Viewer in another |
| Session | Workspace | Switching does not sign you out of the others |
| MFA requirement | Workspace | Set by each workspace's admins |
| API tokens | Workspace | A token only ever acts in the workspace that issued it |
| Links, QR codes, visitors, analytics | Workspace | Nothing is shared between workspaces |
## How you join another workspace
You cannot create additional workspaces from your account. You get access to another workspace when one of its admins [invites you](/help/article/how-to-invite-team-members-to-linkbreakers) using the email address your account already uses.
1. The admin invites your email from **Team Members** in their workspace
2. Because that email already has a Linkbreakers account, you are added to the workspace immediately, with the role the admin picked
3. You receive an email titled "You've been added to" followed by the workspace name
4. The link in that email opens that workspace directly. If your browser is signed in to a different Linkbreakers account, it signs you out and shows the sign-in form first, so you land in the workspace with the right account
If the admin invites a different email address, such as a personal one, that invitation creates a separate account instead. Ask for the invitation to go to the email you already sign in with if you want one account for all your workspaces.
## Switch between workspaces
The workspace switcher sits at the top right of the dashboard and shows the workspace you are in. Open it to see every workspace you belong to, with your role in each, and pick one to switch.
- The switcher only appears when you belong to 2 or more workspaces
- On mobile, the same list is in the profile drawer
- When you sign in, Linkbreakers opens the last workspace you used
Each workspace keeps its own session. Switching to another workspace does not sign you out of the ones you left, so switching back is immediate unless that session has expired.
## MFA when you switch
MFA is enforced per workspace. When you switch into a workspace whose admins have [enabled MFA](/help/article/how-do-you-activate-mfa-in-linkbreakers), Linkbreakers sends a 6-digit code to your email and asks for it before opening the workspace.
- The code is valid for 15 minutes
- You can ask for a new code after 30 seconds
- Workspaces without MFA open without a code, even if another of your workspaces enforces it
## AI assistants and MCP clients
Claude, ChatGPT, Cursor and other MCP clients connect through the [Linkbreakers MCP server](/help/article/mcp-server-setup) with OAuth. If you belong to several workspaces, the OAuth consent screen asks which workspace the client should use.
- The client acts in that one workspace, with the role you hold there
- To use another workspace from the same client, authorize it again and pick the other workspace
- If the chosen workspace enforces MFA, the consent screen asks for the emailed 6-digit code, with at most 8 attempts per authorization
To limit what a client can do beyond your role, request [API token scopes](/help/article/api-token-scopes) during authorization. See [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents) for every way an agent can connect.
## API tokens and the API
[API tokens](/help/article/what-are-api-tokens) belong to the workspace that created them. Belonging to several workspaces does not change what an existing token can reach, and a token never acts in another workspace.
For developers building on a member's dashboard session, two endpoints in the [Workspaces API reference](/help/api/workspaces) cover multiple workspaces:
- `GET /v1/myself/workspaces` lists the workspaces the signed-in member belongs to, with their role in each
- `POST /v1/myself/workspaces/{workspaceId}:switch` switches the session to another workspace
## For admins: removing members and deleting workspaces
- **Removing a member** removes them from your workspace only. Their account and their other workspaces stay as they are
- **Deleting a workspace** removes that workspace. Its members keep their accounts and every other workspace they belong to
## Limits and caveats
- You cannot create a second workspace yourself; only an invitation from a workspace admin gives you access to another one
- An invitation to a different email address creates a separate account, which does not share the switcher
- An MCP client is authorized for one workspace at a time
- Team member limits depend on the plan of each workspace, not on your account
## Frequently asked questions
### Can I create a new workspace from my existing account?
No. Extra workspaces come from invitations. An admin of the other workspace invites the email address you already use, and you are added immediately.
### Do I need a different password for each workspace?
No. Your password belongs to your account. Changing or resetting it applies to every workspace you belong to, and so does Google or Microsoft sign-in.
### Why don't I see the workspace switcher?
The switcher only appears when you belong to at least 2 workspaces. If you were invited under a different email address, that invitation created a separate account, and its workspace appears there instead.
### Does switching workspaces sign me out?
No. Each workspace keeps its own session, so the workspaces you leave stay signed in.
### Why am I asked for a code when I switch?
That workspace enforces MFA. Enter the 6-digit code sent to your email. It is valid for 15 minutes, and you can request a new one after 30 seconds.
### Can my AI assistant work in two workspaces?
An MCP client works in the workspace you picked on the consent screen. To use another workspace, authorize the client again and choose that workspace.
### What happens to my account if I am removed from a workspace?
Nothing else changes. You lose access to that workspace only, and keep your account and your other workspaces.
## Sources
- [How to invite team members to Linkbreakers](/help/article/how-to-invite-team-members-to-linkbreakers)
- [What are the workspace roles in Linkbreakers](/help/article/what-are-the-workspace-roles-in-linkbreakers)
- [Workspaces API reference](/help/api/workspaces)
## Last reviewed
2026-10-11
---
# AI Analytics Dashboard: Build Custom Dashboards with Conversational AI
Source: https://linkbreakers.com/help/article/ai-analytics-dashboard-assistant
## Short answer
Linkbreakers includes an AI-powered analytics dashboard where you can build custom data visualizations by chatting with an AI assistant. Simply describe what you want to see — "show me events by country over time" or "add a device breakdown pie chart" — and the assistant creates, modifies, or removes monitor widgets in real time. No manual configuration needed.
## Quick summary
- Create analytics dashboards with custom monitor widgets through natural conversation
- 7 chart types available: bar, horizontal bar, line, area, stacked area, pie, and number (KPI)
- 7 data sources: events over time, grouped time series, geographic breakdown, device distribution, visitor trends, event metrics, and workspace metrics
- AI assistant remembers your conversation history and the current dashboard state
- Interactive UI elements guide you through choices when needed
- Usage is metered through platform credits with subscription-aware rate limits
- The Free plan allows 5 Assistant messages per minute, Light 15 and Pro 30
## How the AI dashboard works
### Creating your first dashboard
Navigate to **Analytics** in the left sidebar menu. If you don't have a dashboard yet, you'll see an empty state with a "Create Dashboard" button. Click it to create your first dashboard with four default monitor widgets:
1. **Events Over Time** — a bar chart showing scan and click activity
2. **Top Countries** — a horizontal bar chart of your top locations
3. **Device Distribution** — a pie chart breaking down device types
4. **Visitor Trends** — a stacked area chart showing new vs returning visitors
### Editing with the AI assistant
Click the **Edit Dashboard** button in the top toolbar to open the AI assistant panel. You can describe changes in plain language:
- "Add a pie chart showing device types"
- "Change the top countries to show cities instead"
- "Remove the visitor trends widget"
- "Show me events grouped by country over time"
- "Add a big number showing total events"
The assistant understands your dashboard's current state and makes changes accordingly. You don't need to know widget IDs or configuration details — just describe what you want in natural language.
### Available data sources
The AI assistant can create widgets using these data sources:
| Data Source | What it shows | Best chart types |
|---|---|---|
| Events time series | Total events per time bucket | Bar, line, area |
| Grouped time series | Events over time split by a dimension (country, city, device type, visit type, browser, platform) | Stacked area, line |
| Geographic breakdown | Top countries or cities by event count | Horizontal bar, pie |
| Device distribution | Desktop, mobile, tablet breakdown | Pie, horizontal bar |
| Visitor trends | New vs returning visitors over time | Stacked area, line |
| Events metric | Summary KPIs (total events, top country, etc.) | Number |
| Workspace metric | Workspace totals (members, links, events) | Number |
### Available chart types
| Chart Type | Best for |
|---|---|
| Bar | Event counts over time, comparisons |
| Horizontal bar | Rankings, top-N lists (countries, cities) |
| Line | Trends over time |
| Area / Stacked area | Volume over time, part-of-whole breakdowns |
| Pie | Proportional distribution (device types, browsers) |
| Number | Single KPI display (total events, total links) |
## Usage limits and credits
### Platform credits
Each AI conversation consumes platform credits based on the complexity of the request. A typical interaction costs 150–500 credits. Credits are shared across all AI features.
| Plan | Monthly Credits |
|---|---|
| Free | 5,000 |
| Light | 20,000 |
| Pro | 100,000 |
| Enterprise | Custom |
When credits run out, the AI assistant shows a message directing you to top up in Settings.
### Rate limits
To ensure fair usage and cost efficiency, the AI assistant enforces per-minute rate limits based on your subscription:
| Plan | Messages per minute |
|---|---|
| Free | 5 |
| Light | 15 |
| Pro | 30 |
| Enterprise | 60 |
If you hit the rate limit, wait a moment before sending another message. Upgrading your plan increases both the rate limit and available credits.
### Request safeguards
Each AI request has built-in safeguards:
- **Maximum 5 tool actions per request** — prevents runaway operations
- **Token budget cap** — limits the computational cost of complex requests
- **Workspace verification required** — only verified workspaces can use AI features
## Tips for getting the most out of the AI assistant
### Be specific about what you want
Instead of "add a chart", say "add a horizontal bar chart showing the top 10 cities". The more specific you are, the better the result.
### Use the refresh button
After the AI makes changes, click **Refresh** to reload all widgets with fresh data for your selected date range.
### Conversation persistence
Your conversation history is saved per dashboard. When you reopen the Edit Dashboard panel, your previous conversation is still there. The AI remembers what it did and can follow up on previous requests.
### Date range filtering
Use the date range picker in the toolbar to change the time window for all widgets simultaneously. The AI creates widgets that automatically respect the selected date range.
## Frequently Asked Questions
### Can I create multiple dashboards?
Currently, each workspace has one analytics dashboard. Multiple dashboard support is planned for a future release.
### What happens if the AI can't fulfill my request?
If you ask for something that isn't currently possible (like a data visualization we don't support yet), the AI will let you know and suggest the closest available alternative. Feature requests are noted for our team.
### Can I undo changes?
You can ask the AI to remove widgets it added or revert changes it made. You can also delete the entire dashboard and start fresh with the default widgets.
### Is my conversation private?
Yes. Conversations are stored securely per workspace and are only accessible to workspace members. Conversations are deleted when you delete a dashboard.
### Which AI model powers the assistant?
The assistant is powered by OpenAI's GPT-4 with function calling, ensuring accurate and structured responses. All interactions go through Linkbreakers' API with your workspace's authentication — the AI operates with the same permissions as you.
---
# Per-Link Analytics: Build a Dashboard for a Single QR Code or Link
Source: https://linkbreakers.com/help/article/per-link-analytics-dashboard
## Short answer
Open a link's workflow and click **Analytics**. If the link has no dashboard yet, Linkbreakers offers to build one with AI: the assistant reads the link's workflow steps, proposes widgets that fit what it found, and creates the dashboard only after you have agreed on the contents. Once the dashboard exists, the same button opens it directly.
## Quick summary
- Any link can have exactly one analytics dashboard of its own
- Every widget on a link dashboard is filtered to that link automatically
- The AI assistant proposes widgets based on the link's actual workflow steps before creating anything
- Link dashboards appear in the dashboard switcher on the Insights page, next to the workspace-wide dashboard
- Deleting a link deletes its dashboard
- The workspace-wide dashboard is unchanged and still covers everything
## How it works
### 1. Open the link's workflow
Go to your link and open the workflow editor. In the top bar you'll find an **Analytics** button next to **Assistant**.
### 2. Choose to build a dashboard
If this link has no dashboard yet, clicking **Analytics** opens a short confirmation explaining what the assistant is about to do. Choosing **Assistant** takes you to a full-page conversation with the assistant.
### 3. Let the assistant read your workflow
The assistant starts by analysing the link and its workflow steps, then proposes a handful of concrete widgets, each tied to something it actually found in the workflow. For example:
| What's in the workflow | What the assistant tends to suggest |
|---|---|
| A form step | Submissions over time, completion rate |
| A contact card | Saves to contacts, opens by device |
| A multi-link page | Which link gets clicked most |
| A condition step | How traffic splits across branches |
| Any link at all | Scans over time, geography, device mix, new vs returning |
### 4. Shape it together
Nothing is created yet. Tell the assistant what to keep, drop, or add. Ask for a different chart type. Ask what else is available. This is the point of the step, the dashboard is agreed before it exists.
### 5. Review the result
Once you're happy, the assistant creates the dashboard, adds the agreed widgets, and offers a button to open it. You land on a page dedicated to that link.
## Link dashboards vs the workspace dashboard
| | Workspace dashboard | Link dashboard |
|---|---|---|
| Covers | Everything in the workspace | One link |
| How many | One per workspace | One per link |
| Link filter | QR code filter, set manually | Fixed to the link, nothing to set |
| Found at | Insights | The link's workflow → Analytics |
Both appear in the dashboard switcher on the Insights page, so you can move between them without going back through the workflow editor.
## Editing a link dashboard later
Open the dashboard and use **Edit Dashboard** to talk to the assistant exactly as you would on the workspace dashboard, add widgets, remove them, change chart types, or drag them into a different order. The assistant already knows the dashboard is scoped to this link, so you never need to mention the link in your requests.
## Frequently asked questions
### Can a link have more than one dashboard?
No, one per link. That's what lets the **Analytics** button be unambiguous: it either opens the dashboard or offers to build it.
### Do I need to filter a link dashboard by link?
No. Filtering is automatic and cannot be turned off, which is the point: the numbers on a link dashboard always describe that link.
### Why doesn't the assistant suggest a "top performing links" widget?
Because it's meaningless when the dashboard only ever reports on one link. The assistant leaves it out on purpose.
### What happens if I delete the link?
The dashboard is deleted along with it, including its conversation history.
### Does this affect my existing analytics?
No. The workspace-wide dashboard keeps all its widgets and its QR code filter.
---
# The Assistant section: one conversation for your whole workspace
Source: https://linkbreakers.com/help/article/the-assistant-section
:::try-ai-prompt {"prompt":"Create three links for our autumn campaign, one per store, each with a rating form and a redirect to our Google reviews page, and give them all the same dark theme.","target":"assistant","description":"Try asking the Assistant for several links at once, built and styled in a single conversation."}:::
## Short answer
**Assistant** is the first item in the dashboard menu. It opens a conversation with the assistant that belongs to your workspace rather than to one link, and it has every capability the other assistants have put together. The menu stays on screen, so you can keep working while the conversation is open, and the thread is still there when you come back.
## Quick summary
- One assistant with the full set of capabilities: links, workflows, page themes, QR code designs, analytics, visitors, and visitor journeys
- Nothing is preselected, so you name things the way you think of them and the assistant finds them
- It can work on several links in one request, including creating a batch of them
- The conversation is saved per workspace and survives navigating away
- The eraser button next to the message box clears the conversation and the assistant's memory of it
- It costs platform credits per exchange, exactly like the other AI assistants
## What makes it different from the other assistants
Every other assistant in Linkbreakers is opened from the thing it works on. **Create with AI** is opened from the link creation screen and creates one link. The workflow assistant is opened from a workflow and edits that workflow. The dashboard assistant is opened from a dashboard and edits that dashboard. Each one is deliberately narrow, which is what makes it reliable: it cannot touch anything you did not open.
The Assistant section removes that boundary. There is no resource attached to the conversation, so the first thing the assistant does on most requests is work out what you are talking about. Say "the menu QR" and it searches your links for it. If exactly one link matches, it uses it and tells you which one, so a wrong guess is easy to correct. If several match, it shows you the candidates and asks you to pick. It never asks you for an id.
## It plans, not just builds
You do not have to arrive with a specification. Most people arrive with a goal: more Google reviews, more sign-ups at an event, a campaign across six shops, fewer people abandoning halfway. Describe the goal and the assistant works out what Linkbreakers can do about it before anything is created.
It asks only what changes the design, usually where the traffic comes from and what the visitor should end up doing, then proposes one flow with a reason for each step. A satisfaction question first, a branch on the answer, happy customers sent to your review page, unhappy ones into a private form you actually read. It names what it would measure afterwards and offers the dashboard for it, because a campaign nobody can read the results of is half built. Only when you agree does it start building.
Ask a specific question instead and you get a specific answer. "Add a phone field to the sign-up form" is an instruction, not a brief, and it will simply do it.
## What you can ask for
Anything the other assistants can do, plus the things that only make sense across several resources:
- **Create links, one or many.** "Create a link per city for the spring campaign, all pointing at the same booking page."
- **Build and repair workflows.** Add a form, a password gate, a condition on device or country, and wire the branches. Ask it to check a workflow and it will report what is disconnected.
- **Restyle.** Apply a QR code template or a page theme template, or describe the look you want. You can attach a screenshot of your website and ask it to match the colours.
- **Read your numbers.** "How did the review link do last week?" or "Which link gets the most scans on mobile?" It fetches the real figures and answers with them rather than guessing.
- **Explain a visitor.** Ask about a visit, what the person did, and how far they got through the workflow.
## How the conversation is kept
The thread is stored against your workspace, so it is exactly where you left it after you navigate away and come back. That is useful for a piece of work spread over a morning, and unhelpful when you want to start something unrelated: the assistant carries everything said earlier into each new answer.
The eraser button next to the message box is the fix. It clears the messages and the assistant's memory of them, so the next message starts from nothing. Anything the assistant already built stays exactly as it is: clearing the conversation never deletes a link, a widget, or a theme. The same button is available in every assistant in the app, not just this one.
## Limits worth knowing
- It finds links by searching their name and shortlink, never their destination. A link called "link-4f2a" is one it cannot recognise from a description, so names are worth keeping meaningful.
- One conversation per workspace. There is no list of past threads to switch between, so clear it when you move to unrelated work.
- Each exchange costs platform credits, and a request that touches several links costs more than one that touches none. Your remaining credits are in the top bar.
- It works inside Linkbreakers only. It will decline anything unrelated to your workspace.
## Frequently asked questions
### Does the Assistant section replace Create with AI?
No. Both are there. **Create with AI** is a focused flow for one new link and is still the quickest route when that is all you want. The Assistant section is for everything else, and for anything that spans more than one link.
### Can it delete things?
It can delete workflow steps while rebuilding a flow. For anything that creates or removes in bulk it lays out a plan first and waits for you to confirm before touching anything.
### Does it work on links it did not create?
Yes. It reads your existing links, workflows, themes, and designs the same way it reads the ones it made.
### Does it use credits?
Yes, the same platform credits as the other AI assistants, charged per exchange based on how much work the request takes. Your remaining credits are in the top bar.
### Why did it pick the wrong link?
Because two of your links read alike to a search on name and shortlink. Tell it which one you meant, or rename the links so the difference is visible. The assistant always says which link it used for exactly this reason.
### Is the conversation shared with my team?
The conversation belongs to the workspace, so it is not private to one browser or one device.
---
# What is a UTM builder in Linkbreakers
Source: https://linkbreakers.com/help/article/what-is-a-utm-builder-in-linkbreakers
## Short answer
This article explains what is a utm builder in linkbreakers with practical guidance, limits, and implementation details so you can apply it consistently.
Marketing attribution becomes impossible without proper tracking parameters. UTM codes transform anonymous clicks into actionable campaign intelligence that drives better decision-making and budget allocation.
Linkbreakers' UTM builder streamlines the creation of trackable URLs that work seamlessly with Google Analytics, Adobe Analytics, and other measurement platforms. Instead of manually constructing complex tracking URLs, you get a user-friendly interface that generates properly formatted parameters automatically.
Proper UTM implementation reveals which campaigns drive results, which channels waste budget, and how different audience segments behave across your marketing funnel.
## Quick summary
- Access the UTM builder through any link creation screen to add tracking parameters automatically
- Configure utm_source, utm_medium, and utm_campaign parameters for complete campaign attribution
- Implement consistent naming conventions across all marketing channels and campaign initiatives
- Integrate UTM tracking with Google Analytics and other measurement platforms for comprehensive reporting
- Track QR code performance by bridging physical placements with digital analytics attribution
- Analyze campaign effectiveness using UTM data to optimize budget allocation and audience targeting
## Understanding UTM parameters
UTM (Urchin Tracking Module) parameters are URL query strings that help analytics platforms identify traffic sources and campaign performance. When someone clicks a UTM-tagged link, their analytics session carries attribution data about how they discovered your content.
These parameters appear at the end of URLs like `?utm_source=facebook&utm_medium=social&utm_campaign=summer_sale`. Each parameter provides specific attribution information that analytics platforms use for reporting and analysis.
UTM tracking works across all digital channels including email marketing, social media, paid advertising, QR codes, and offline campaigns that drive online traffic.
### The five standard UTM parameters
**utm_source** identifies the specific platform or website sending traffic. Examples include "facebook", "google", "newsletter", or "billboard_campaign".
**utm_medium** categorizes the marketing channel type. Common values include "social", "email", "cpc" (cost-per-click), "organic", or "qr_code".
**utm_campaign** names the specific marketing initiative. This might be "summer_sale", "product_launch", or "webinar_signup_drive".
**utm_term** traditionally tracks paid search keywords but can identify any specific targeting criteria within campaigns.
**utm_content** differentiates between similar content within the same campaign. Use this for A/B testing different ad creatives, email subject lines, or call-to-action buttons.
Only utm_source, utm_medium, and utm_campaign are required. Term and content parameters provide additional granularity when needed.
## Linkbreakers UTM builder interface
Navigate to any link creation or editing screen in your [Linkbreakers dashboard](https://app.linkbreakers.com/workspace/dashboard/links) to access the UTM builder. The interface appears as an expandable section that reveals parameter input fields when activated.
The builder provides separate input fields for each UTM parameter with helpful placeholder text and validation. As you type, the interface shows a preview of your complete tracking URL with properly encoded parameters.
### Guided parameter entry
The UTM builder includes helpful suggestions and validation to ensure your tracking parameters follow best practices. Invalid characters get automatically encoded and spacing issues are corrected.
Parameter suggestions appear based on common campaign types and previous entries within your workspace. This feature speeds up parameter creation while maintaining consistency across campaigns.
The interface validates parameter combinations to ensure analytics platforms will interpret your tracking data correctly. Invalid configurations trigger warnings with suggested corrections.
### URL preview and validation
As you enter parameters, the builder displays a real-time preview of your complete tracking URL. This preview shows exactly how your final link will appear to visitors and analytics platforms.
The validation system checks for common errors including:
- Missing required parameters (source, medium, campaign)
- Invalid characters that could break tracking
- Excessively long parameter values that might get truncated
- Duplicate or conflicting parameter combinations
Validation errors appear with specific guidance for resolution, ensuring your tracking works reliably across all analytics platforms.
## Campaign attribution strategies
Effective UTM strategy requires consistent naming conventions and systematic parameter usage across all marketing channels. Random or inconsistent parameters create confusing analytics reports that hide campaign performance.
### Source identification best practices
Use descriptive, consistent source names that clearly identify traffic origins. "facebook" works better than "fb" or "Facebook" because consistency matters more than brevity in analytics reporting.
For QR codes, consider sources like:
- "print_magazine" for magazine advertisements
- "trade_show_booth" for event displays
- "product_packaging" for package inserts
- "billboard_highway" for outdoor advertising
Source consistency enables accurate cross-campaign comparison and budget allocation decisions.
### Medium categorization approach
Medium parameters should reflect the fundamental channel type rather than specific tactics within channels. This approach enables meaningful channel comparison and budget analysis.
Standard medium categories include:
- "social" for all social media platforms
- "email" for email marketing campaigns
- "paid_search" for Google Ads and similar platforms
- "display" for banner and visual advertising
- "qr_code" for physical QR code campaigns
- "referral" for partnership and affiliate traffic
Consistent medium usage reveals which channel types perform best for different campaign goals and audience segments.
### Campaign naming conventions
Campaign names should clearly describe the marketing initiative while maintaining consistency across related efforts. Consider including time periods, product focus, or audience targeting in campaign names.
Effective campaign naming patterns:
- `2024_summer_sale_retail` for seasonal promotions
- `product_launch_enterprise_q3` for product announcements
- `webinar_lead_gen_may` for educational content marketing
- `retargeting_cart_abandon_ongoing` for automated sequences
Well-structured campaign names make analytics reports self-explanatory and support long-term performance trend analysis.
## Integration with analytics platforms
UTM parameters work with virtually all web analytics platforms including Google Analytics, Adobe Analytics, Mixpanel, and custom tracking systems. The standardized parameter format ensures compatibility across different measurement tools.
### Google Analytics integration
Google Analytics automatically recognizes UTM parameters and uses them for source/medium reporting, campaign analysis, and attribution modeling. Your UTM-tagged traffic appears in dedicated campaign reports with full conversion tracking.
The platform supports both Universal Analytics and Google Analytics 4 configurations. UTM data flows into conversion funnels, audience analysis, and custom reporting without additional configuration.
Enhanced ecommerce tracking combines UTM attribution with transaction data to reveal campaign ROI and customer lifetime value by traffic source.
### Multi-touch attribution
UTM parameters support sophisticated attribution models that track visitor journeys across multiple touchpoints. Someone might discover your brand through a QR code, research through organic search, and convert through an email campaign.
Multi-touch attribution reveals the true value of awareness campaigns and assists budget allocation decisions across the entire marketing funnel.
Linkbreakers' visitor tracking enhances attribution by connecting QR code scans with subsequent website behavior, even when visitors don't convert immediately.
## QR code UTM tracking
QR codes benefit tremendously from UTM tracking because they bridge physical and digital marketing channels. Without UTM parameters, QR code traffic appears as direct traffic in analytics, obscuring campaign performance.
### Physical campaign attribution
UTM-tagged QR codes reveal which physical placements drive digital engagement. Compare performance between magazine ads, trade show materials, product packaging, and outdoor advertising.
This attribution enables data-driven decisions about physical media investments and helps optimize placement strategies based on actual engagement rather than assumptions.
Geographic data from QR code scans combined with UTM attribution reveals regional campaign effectiveness and supports localized marketing optimization.
### Cross-channel journey tracking
Visitors who scan QR codes often continue their journey through other digital channels. UTM tracking connects these multi-channel experiences to provide complete attribution visibility.
A visitor might scan a QR code from a billboard, browse your website, and later convert through a retargeting ad. Proper UTM implementation ensures the QR code receives appropriate attribution credit in your analytics.
## Advanced UTM strategies
### Dynamic parameter generation
The [Linkbreakers API](https://linkbreakers.com/help/api/links) supports programmatic UTM parameter generation for large-scale campaigns or automated marketing systems.
Dynamic UTM creation enables sophisticated personalization where parameters adjust based on:
- Visitor location or demographic attributes
- Product categories or specific inventory
- Campaign timing or seasonal factors
- A/B testing variations or content versions
This automation ensures consistent tracking across thousands of campaign variations while maintaining parameter accuracy.
### Custom parameter extensions
Beyond standard UTM parameters, you can include custom query parameters that provide additional tracking data for specialized analytics needs.
Custom parameters might track:
- Specific product SKUs or categories
- Sales representative or affiliate identifiers
- Promotion codes or discount levels
- Content formats or creative versions
These additional parameters flow through Linkbreakers workflows and arrive at destination URLs for comprehensive tracking integration.
### Workflow parameter preservation
Linkbreakers maintains UTM parameters throughout multi-step workflows, ensuring attribution data reaches final destinations regardless of workflow complexity.
If a workflow includes forms, password gates, or conditional redirects, UTM parameters persist through each step and appear on the ultimate destination page with full attribution intact.
This parameter preservation enables sophisticated workflow tracking while maintaining accurate campaign attribution for analytics and conversion optimization.
## Troubleshooting UTM tracking
### Parameter encoding issues
Special characters in UTM parameters require proper URL encoding to prevent tracking failures. The Linkbreakers UTM builder handles encoding automatically, but manual parameter entry might introduce errors.
Common encoding problems include spaces (use + or %20), ampersands (&), and special characters like quotes or brackets. The platform's validation system identifies these issues and suggests corrections.
### Analytics platform compatibility
Different analytics platforms have varying requirements for UTM parameter formatting and values. Google Analytics accepts most standard configurations, while specialized platforms might have specific constraints.
Test your UTM implementation across all analytics platforms you use to ensure data appears correctly in each system. Parameter length limits and allowed characters vary between platforms.
### Link sharing and parameter preservation
When visitors share UTM-tagged links through social media or messaging, parameter preservation depends on the sharing platform and method. Some platforms strip query parameters or modify URLs during sharing.
Monitor shared link performance to understand how parameter preservation affects your tracking accuracy. Consider using shorter parameter values to reduce the risk of truncation during sharing.
## Reporting and optimization
### Campaign performance analysis
UTM data enables sophisticated campaign performance analysis that reveals which initiatives drive the best results. Compare campaigns across multiple dimensions including source, medium, and content variations.
Key metrics to analyze include:
- Click-through rates by source and medium
- Conversion rates across different campaigns
- Revenue attribution by traffic channel
- Cost per acquisition for paid campaigns
- Engagement depth by campaign type
This analysis guides budget allocation and campaign optimization decisions based on actual performance data rather than assumptions.
### Cohort and segment analysis
UTM parameters enable audience segmentation that reveals how different visitor types respond to various campaigns. Analyze performance differences between sources, mediums, and campaign types.
Segment analysis might reveal that social media visitors have higher engagement but lower conversion rates compared to email subscribers, or that QR code visitors show different geographic patterns than digital campaign traffic.
These insights support audience-specific optimization and personalization strategies that improve overall campaign effectiveness.
## Frequently Asked Questions
### Do UTM parameters affect SEO?
UTM parameters don't directly impact SEO rankings, but they can create duplicate content issues if not handled properly. Use canonical tags and avoid sharing UTM-tagged URLs as the primary version of important pages.
### Can I change UTM parameters after creating a link?
Yes, you can modify UTM parameters for existing Linkbreakers links through the link editing interface. Changes affect future clicks but don't alter historical analytics data.
### How long can UTM parameters be?
While there's no strict technical limit, keep parameters under 100 characters each for compatibility. Long parameters might get truncated by some analytics platforms or sharing mechanisms.
### Do UTM parameters work with mobile apps?
UTM parameters work with mobile web browsers but require special handling for native app deep links. Consult your mobile analytics platform documentation for app-specific implementation requirements.
### Can I use UTM parameters with non-web destinations?
UTM parameters are designed for web analytics and don't provide value for non-web destinations like phone numbers, email addresses, or app store links unless those destinations redirect through web pages.
### How do UTM parameters affect page loading speed?
UTM parameters add minimal data to URLs and don't significantly impact page loading speed. The analytics processing happens after page load and doesn't affect visitor experience.
### What happens if I use the same campaign name across different time periods?
Analytics platforms typically combine data for identical campaign names regardless of timing. Use date-specific campaign names for time-sensitive initiatives to enable period comparison.
### Can UTM parameters track offline conversions?
UTM parameters track digital interactions only. For offline conversion attribution, integrate your analytics platform with CRM systems or use dedicated attribution tools that connect online and offline data.
UTM tracking transforms QR codes and shortened links from anonymous traffic generators into powerful attribution tools that reveal campaign effectiveness and guide optimization decisions.
Implement consistent UTM strategies across all campaigns and channels to build comprehensive marketing intelligence that supports data-driven budget allocation and creative optimization.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to create a trackable QR code for real campaigns
Source: https://linkbreakers.com/help/article/how-to-create-a-trackable-qr-code-for-real-campaigns
## Short answer
This article explains how to create a trackable qr code for real campaigns with practical guidance, limits, and implementation details so you can apply it consistently.
Creating QR codes shouldn't require design expertise or technical knowledge. Linkbreakers transforms QR code generation into an intuitive process that produces professional, branded codes ready for any marketing channel.
Unlike generic QR code generators that create basic black-and-white squares, Linkbreakers provides comprehensive design control, workflow integration, and analytics tracking that elevate QR codes from simple redirects to sophisticated marketing tools.
Every QR code you create becomes a branded touchpoint that reinforces your identity while providing valuable campaign insights.
## Why trackable QR codes matter
Trackable QR codes let you see **who scanned, when, and from where**, so you can measure ROI and optimize placements. With Linkbreakers, you can also update destinations after printing, which prevents expensive reprints when campaigns change.
## Getting started with QR code creation
Navigate to [QR Codes / Links](https://app.linkbreakers.com/workspace/dashboard/links) in your Linkbreakers dashboard. This central hub displays all your existing campaigns and provides creation tools for new QR codes and shortened links.
Click "Create QR Code" to begin the creation process. The interface guides you through destination configuration, design customization, and workflow setup in a logical sequence that ensures nothing gets overlooked.
The creation process accommodates both simple redirect codes and complex interactive experiences with equal ease. Start simple and add sophistication as your campaigns evolve.
### Destination URL configuration
Every QR code requires a destination where visitors land after scanning. Enter your target URL in the destination field, ensuring it uses proper HTTPS protocol for security and reliability.
The platform validates URLs automatically and suggests corrections for common formatting issues. Invalid destinations trigger warnings that prevent broken QR codes from reaching your campaigns.
Consider using landing pages specifically designed for QR code traffic rather than generic website pages. Dedicated landing pages enable better conversion tracking and provide experiences optimized for mobile scanning.
### Campaign identification and organization
Assign descriptive names to your QR codes that clearly identify their purpose and context. Good names help team members locate specific campaigns quickly and understand their objectives at a glance.
Effective naming conventions include campaign type, target audience, and time period. Examples include "Trade_Show_Lead_Gen_Oct2024" or "Product_Launch_Social_Media_Q4".
Use [tags](https://linkbreakers.com/help/article/what-is-a-tag) to organize related campaigns and enable filtered searching within your dashboard. Tags support sophisticated campaign management as your QR code library grows.
## Design customization options
Linkbreakers provides enterprise-grade design control that rivals professional design software while remaining accessible to non-designers. Every visual element of your QR code can be customized to match your brand identity.
### Template-based design approach
Start with professionally designed templates that provide proven foundations for effective QR codes. [QR code templates](https://linkbreakers.com/help/api/qr-code-templates) include coordinated color schemes, typography, and layout configurations.
Built-in templates cover common use cases including:
- Corporate branding with subtle professional styling
- Event promotion with bold, attention-grabbing designs
- Product packaging with clean, minimal aesthetics
- Social media optimized for small screen display
- Contact cards (vCard) for networking and professional interactions
Custom workspace templates let you codify your specific brand guidelines for consistent application across all team-created QR codes.
### Color and visual styling
Customize foreground and background colors to match your brand palette. The platform supports full color picker controls with hex code input for precise brand matching.
Color customization includes:
- **Dot colors**: Individual data module styling with solid colors or gradients
- **Background options**: Solid colors, gradients, or transparent backgrounds
- **Corner styling**: Separate color control for position detection markers
- **Central image areas**: Custom logo placement with size and positioning control
Color validation ensures your chosen combinations maintain adequate contrast for reliable scanning across different devices and lighting conditions.
### Shape and structure modifications
Beyond color, modify the fundamental shape characteristics that make your QR codes distinctive and recognizable as brand assets.
Shape customization encompasses:
- **Dot shapes**: Square (traditional), circular (modern), or custom geometric forms
- **Corner styles**: Traditional squares, rounded corners, or completely circular markers
- **Overall format**: Standard square codes or rectangular formats for specific placements
- **Size specifications**: Precise pixel dimensions for print and digital applications
These modifications create unique visual identities while maintaining the technical requirements for reliable scanning.
### Logo and image integration
Incorporate your logo or custom images directly into QR code centers for immediate brand recognition. The platform handles technical requirements including error correction adjustment and contrast optimization.
Central image features include:
- **Size control**: Adjust logo size relative to overall code dimensions
- **Background removal**: Hide data dots behind logos for cleaner appearance
- **Error correction**: Automatic adjustment to maintain scannability with logo overlay
- **Format support**: Upload PNG, JPEG, or SVG logos for optimal quality
Professional logo integration transforms generic QR codes into branded marketing assets that reinforce your identity with every scan.
## Workflow integration capabilities
QR codes in Linkbreakers can trigger sophisticated multi-step workflows instead of simple redirects. This capability transforms scanning from passive action into active engagement opportunity.
### Interactive experience design
Build workflows that guide visitors through curated journeys before reaching their final destination. Workflow steps might include forms, password gates, conditional logic, or thank you pages.
Interactive workflows enable:
- **Lead capture**: Collect visitor information before revealing content
- **Content protection**: Password gates for exclusive or premium materials
- **Personalization**: Conditional experiences based on visitor responses
- **Progressive profiling**: Gather information across multiple touchpoints
- **Contact sharing**: Create [contact cards (vCard)](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers) for seamless networking
The visual workflow builder makes complex experience design accessible without technical expertise.
### Form integration and data collection
Embed forms directly into QR code workflows to capture leads, gather feedback, or register attendees. The form builder supports multiple field types and validation rules.
Form capabilities include:
- **Standard fields**: Text input, email, phone, dropdown selections
- **Advanced validation**: Format checking, required field enforcement
- **Conditional logic**: Show/hide fields based on previous responses
- **Multi-step forms**: Break long forms into manageable sections
Form responses integrate with analytics and can trigger webhook notifications to external systems like CRM platforms.
### Conversion tracking and analytics
Configure custom conversion events that track specific visitor actions indicating campaign success. These might include form submissions, downloads, purchases, or content engagement.
Conversion tracking provides:
- **Goal completion rates**: Measure workflow effectiveness
- **Funnel analysis**: Identify dropout points and optimization opportunities
- **ROI calculation**: Connect QR code scans to business outcomes
- **A/B testing support**: Compare workflow variations for optimization
This analytics foundation enables data-driven campaign optimization and ROI demonstration.
## Export formats and technical specifications
Generate QR codes in multiple formats optimized for different use cases, from web display to large-format printing. Each export format maintains design fidelity while optimizing for specific technical requirements.
### Vector and raster format options
**SVG format** provides infinite scalability perfect for design software integration and high-resolution printing. Vector codes maintain crisp edges at any size from business cards to billboards.
**PNG format** offers pixel-perfect raster output with transparency support. PNG works well for web display, presentations, and situations requiring specific pixel dimensions.
**JPEG format** provides compressed raster output suitable for photographic integration or file size-sensitive applications. JPEG compression reduces file sizes while maintaining visual quality.
**WebP format** delivers modern web-optimized output with smaller file sizes and better compression than traditional formats. WebP works best for web applications and mobile optimization.
### Size and resolution configuration
Specify exact pixel dimensions for your QR codes based on intended usage scenarios. The platform calculates optimal specifications for different applications.
Recommended sizes include:
- **Business cards**: 300x300 pixels for crisp printing
- **Flyers and brochures**: 500x500 pixels for medium-format printing
- **Posters and displays**: 1000x1000 pixels or larger for high-visibility applications
- **Web and email**: 200x200 to 400x400 pixels for digital display
Higher resolutions ensure your codes remain scannable when printed at large sizes or viewed from distances.
### Print optimization considerations
For print applications, consider contrast requirements, paper type, and viewing conditions that affect scanning reliability. The platform provides guidance for print-optimized QR code creation.
Print optimization includes:
- **Contrast validation**: Ensure sufficient contrast between foreground and background
- **Size calculations**: Minimum dimensions for reliable scanning at viewing distance
- **Color space considerations**: RGB for digital, CMYK for professional printing
- **Error correction levels**: Higher correction for challenging print conditions
These technical considerations ensure your printed QR codes work reliably in real-world conditions.
## Advanced features and integrations
### API integration for bulk creation
The [QR Code API](https://linkbreakers.com/help/api/qr-code-designs) enables programmatic QR code generation for large-scale campaigns or automated marketing systems.
API capabilities support:
- **Bulk generation**: Create thousands of unique codes automatically
- **Dynamic customization**: Personalize designs based on data or conditions
- **Template automation**: Apply workspace templates programmatically
- **Export automation**: Generate multiple formats simultaneously
API integration enables sophisticated marketing automation where QR codes adapt to campaign data, inventory changes, or personalization requirements.
### Custom domain integration
Use [custom domains](https://linkbreakers.com/help/article/how-to-create-branded-links-in-linkbreakers) for QR codes to maintain brand consistency throughout the visitor journey. Custom domains ensure visitors see your brand even in link previews or security warnings.
Custom domain benefits include:
- **Brand recognition**: Visitors immediately identify codes as yours
- **Trust building**: Branded domains increase scanning confidence
- **Consistency**: Uniform brand experience across all touchpoints
- **Professional appearance**: Custom domains look more legitimate than generic services
Custom domain setup requires DNS configuration but dramatically improves campaign professionalism and visitor trust.
## Testing and quality assurance
Before deploying QR codes to campaigns, thorough testing ensures they work reliably across different devices, apps, and conditions.
### Multi-device scanning verification
Test your QR codes across various smartphones, tablets, and QR code reader apps to ensure universal compatibility. Different devices and apps have varying scanning capabilities and tolerances.
Testing should include:
- **iOS and Android devices**: Different camera systems and QR code readers
- **Various scanning apps**: Built-in camera apps and dedicated QR code scanners
- **Different lighting conditions**: Indoor, outdoor, and artificial lighting scenarios
- **Various distances**: Close-up scanning and scanning from distance
Comprehensive testing identifies potential scanning issues before campaigns launch.
### Workflow functionality validation
For QR codes with interactive workflows, test every step and branching path to ensure visitors can complete their intended journeys without technical problems.
Workflow testing encompasses:
- **Step completion**: Verify each workflow step functions correctly
- **Form validation**: Test field requirements and error handling
- **Conditional logic**: Ensure branching works with different input combinations
- **Final destinations**: Confirm visitors reach intended endpoints
Thorough workflow testing prevents visitor frustration and conversion loss due to technical issues.
## Campaign deployment strategies
### Gradual rollout approach
Consider soft-launching QR codes with limited audiences before full campaign deployment. This approach identifies issues and optimization opportunities with minimal risk.
Gradual deployment might include:
- **Team testing**: Internal team members test codes before external use
- **Limited geographic rollout**: Deploy in specific regions before expanding
- **Channel-specific testing**: Test on one marketing channel before others
- **Audience segmentation**: Start with engaged audiences before broader distribution
This methodical approach ensures campaign success while minimizing risks associated with technical problems or workflow issues.
### Performance monitoring setup
Configure analytics tracking and alerts to monitor QR code performance from launch. Early performance data guides optimization decisions and identifies successful patterns.
Monitoring considerations include:
- **Scan volume tracking**: Monitor daily scanning patterns and trends
- **Conversion rate analysis**: Track workflow completion and goal achievement
- **Error rate monitoring**: Identify scanning failures or technical issues
- **Geographic performance**: Understand regional response variations
Proactive monitoring enables rapid response to performance issues and optimization opportunities.
## Common mistakes to avoid
- **Using static codes** when you need analytics and editable destinations.
- **Printing before testing** on multiple devices and lighting conditions.
- **Skipping tags** that make campaign analysis easier later.
- **Over-stylizing the code** so it becomes hard to scan.
## Frequently Asked Questions
### What's the minimum size for reliable QR code scanning?
QR codes should be at least 2x2 centimeters (approximately 0.8x0.8 inches) for reliable smartphone scanning. Larger codes work better for distance scanning or challenging lighting conditions.
### Can I edit QR code designs after creation?
Yes, you can modify QR code designs, destinations, and workflows after creation. Changes take effect immediately for new scans while maintaining analytics history.
### Do custom colors affect scanning reliability?
High contrast between foreground and background elements ensures reliable scanning. The platform validates color combinations and warns about potential scanning issues.
### How many scans can a single QR code handle?
QR codes have no scan limits. The same code can be scanned millions of times without degradation or performance issues.
### Can I track who scans my QR codes?
Linkbreakers tracks aggregate analytics including scan counts, locations, and device information while respecting visitor privacy. Individual visitor identification requires explicit consent through workflow forms.
### What happens if my destination URL changes?
Update destination URLs through the QR code editing interface. The same physical code will redirect to new destinations without regeneration.
### Do QR codes work offline?
QR codes require internet connectivity to redirect visitors to destinations. The codes themselves can be scanned offline, but redirection requires active network connections.
### How long do QR codes remain functional?
QR codes remain functional indefinitely as long as your Linkbreakers account stays active. There's no expiration date for generated codes.
Creating effective QR codes in Linkbreakers combines intuitive design tools with sophisticated marketing capabilities that transform simple scanning into meaningful engagement opportunities.
Start with basic redirect codes to familiarize yourself with the platform, then explore advanced features like interactive workflows and custom branding as your campaigns become more sophisticated. The platform grows with your needs while maintaining simplicity for routine tasks.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# What is a directory in Linkbreakers
Source: https://linkbreakers.com/help/article/what-is-a-directory-in-linkbreakers
## Short answer
A directory in Linkbreakers is a folder-like way to organize your QR codes and links inside a workspace.
Directories help you group related QR codes, keep large workspaces clean, and make it easier to find, manage, and bulk-create links without leaving everything at the root level.
Directories are available on the Pro plan and Enterprise. They are not included on the Free or Light plans.
## Why directories matter
As soon as a workspace contains more than a handful of QR codes, flat lists become harder to manage. Teams usually need a cleaner structure for campaigns, clients, regions, products, events, or sales materials.
Directories solve that by giving you a hierarchy. Instead of keeping every QR code in one long list, you can place related items into directories and subdirectories.
Common examples include:
- `Marketing`
- `Marketing / Trade Shows`
- `Sales / Product Sheets`
- `Restaurants / Paris / Window Posters`
## What you can do with directories
Directories in Linkbreakers are designed for practical workspace organization. You can:
- Group QR codes by campaign, team, location, or customer
- Create nested subdirectories for more precise structure
- Select a directory during QR code creation
- Assign directories during bulk insert imports
- Keep reporting and day-to-day management easier for large workspaces
This is especially useful when multiple people work in the same workspace and need a shared structure that stays consistent over time.
## Directory examples
A few simple directory strategies work well for most teams:
### Campaign-based structure
Use directories when you run recurring campaigns and want every QR code stored in the right place.
Example:
- `Marketing / Spring Launch`
- `Marketing / Summer Promo`
- `Marketing / Trade Shows`
### Location-based structure
Use directories when the same business runs QR codes in multiple stores, offices, or markets.
Example:
- `Retail / Paris`
- `Retail / London`
- `Retail / New York`
### Client-based structure
Agencies and consultants often prefer one directory tree per client.
Example:
- `Clients / Acme`
- `Clients / Northwind`
- `Clients / Globex`
## Directories and bulk insert
If you use bulk insert, directories make imports easier because each QR code can be assigned directly to the right place during CSV upload.
For example, a CSV directory value such as `Marketing / Trade Shows` can point the QR code to that directory path instead of dropping everything into the root workspace.
This makes bulk QR code creation much more manageable for teams importing campaign batches, event assets, or large product catalogs.
## Who should use directories
Directories are most useful if you:
- Manage many QR codes at once
- Run multiple campaigns in parallel
- Work with teammates in a shared workspace
- Need cleaner structure for clients, regions, or product lines
- Use bulk insert and want imported QR codes filed correctly
If you only create a small number of QR codes, a flat list may be enough. Once volume grows, directories usually become necessary.
## Plan availability
Directories are included with:
- Pro
- Enterprise
Directories are not included with:
- Free
- Light
## Final takeaway
A directory in Linkbreakers is the simplest way to keep QR codes and links organized as your workspace grows.
If you manage campaigns at scale, work with teammates, or import links in bulk, directories help you keep everything structured and easier to operate.
---
# How to Generate a QR Code for Your WhatsApp Business
Source: https://linkbreakers.com/help/article/how-to-generate-a-qr-code-for-your-whatsapp-business
## Short answer
This article explains how to generate a qr code for your whatsapp business with practical guidance, limits, and implementation details so you can apply it consistently.
WhatsApp Business has become essential for customer communication, but directing customers to start conversations requires friction-free experiences. QR codes eliminate the complexity of sharing phone numbers or finding business profiles.
Linkbreakers transforms WhatsApp Business QR codes into sophisticated marketing tools with custom branding, pre-filled messages, and comprehensive analytics that reveal customer engagement patterns.
Instead of basic QR codes that simply open WhatsApp, you can create branded codes that guide visitors through interactive workflows before initiating conversations with pre-configured context.
## Quick summary
- Create WhatsApp Business QR codes using proper phone number formatting and pre-filled message optimization
- Design branded QR codes with WhatsApp-themed elements and professional call-to-action messaging
- Implement interactive workflows for lead qualification and appointment scheduling before conversation initiation
- Track conversation initiation rates and analyze channel performance across different marketing placements
- Ensure compliance with WhatsApp Business policies and privacy regulations for business messaging
- Integrate QR codes with CRM systems and marketing automation for comprehensive customer tracking
## Understanding WhatsApp Business QR codes
WhatsApp Business QR codes use the `wa.me` URL format to initiate conversations with specific business accounts. When scanned, these codes open WhatsApp with your business number pre-loaded and optionally include predefined message text.
The basic format follows `wa.me/1234567890?text=Hello%20I%20would%20like%20to%20learn%20more` where the number represents your WhatsApp Business phone number and the text parameter contains the initial message.
This URL structure enables sophisticated marketing applications when combined with Linkbreakers' workflow capabilities and analytics tracking.
### WhatsApp Business phone number requirements
Your WhatsApp Business account must use a verified phone number that supports business messaging. This number becomes part of your QR code URL and determines which business account receives incoming messages.
Ensure your WhatsApp Business number includes the country code without leading zeros or special characters. For example, a US number (555) 123-4567 becomes 15551234567 in the QR code URL.
International numbers require proper country code formatting to ensure reliable message delivery across different regions and phone systems.
### Message pre-configuration benefits
Pre-filled messages reduce friction by eliminating the need for customers to compose initial contact messages. This convenience increases conversion rates and ensures you receive relevant context about customer inquiries.
Effective pre-filled messages might include:
- "Hi! I'm interested in learning more about [product/service]"
- "Hello, I saw your [location/advertisement] and would like information"
- "Hi! I have a question about [specific topic]"
- "Hello, I'd like to schedule a [consultation/appointment]"
Keep pre-filled messages concise and relevant to the context where customers encounter your QR code.
## Creating WhatsApp QR codes in Linkbreakers
Navigate to [QR Codes / Links](https://app.linkbreakers.com/workspace/dashboard/links) in your Linkbreakers dashboard and click "Create QR Code" to begin the WhatsApp integration process.
### Destination URL configuration
In the destination URL field, enter your WhatsApp Business link using the format:
`https://wa.me/[YOUR_PHONE_NUMBER]?text=[YOUR_MESSAGE]`
Replace `[YOUR_PHONE_NUMBER]` with your complete WhatsApp Business number including country code. Replace `[YOUR_MESSAGE]` with your pre-filled message text, ensuring special characters are properly URL-encoded.
The Linkbreakers URL validation system checks WhatsApp link formatting and suggests corrections for common errors like missing country codes or improperly encoded message text.
### Message customization strategies
Tailor pre-filled messages to match the context where customers encounter your QR code. Different placements might warrant different initial messages that provide relevant context.
**Retail locations**: "Hi! I'm in your store and have a question about [products/services]"
**Business cards**: "Hello! We met at [event/location] and I'd like to follow up"
**Print advertisements**: "Hi! I saw your ad in [publication] and want to learn more"
**Social media**: "Hello! I found you through [platform] and I'm interested in [offering]"
**Product packaging**: "Hi! I have a question about the [product] I purchased"
Context-specific messages demonstrate attentiveness and help you understand which marketing channels drive the most valuable conversations.
### UTM parameter integration
Enhance your WhatsApp QR codes with [UTM tracking parameters](https://linkbreakers.com/help/article/what-is-a-utm-builder-in-linkbreakers) to measure campaign performance and attribution across different marketing channels.
UTM parameters for WhatsApp campaigns might include:
- **utm_source**: "business_card", "storefront", "social_media", "print_ad"
- **utm_medium**: "qr_code", "physical", "digital"
- **utm_campaign**: "customer_service", "lead_generation", "product_inquiry"
These parameters flow through Linkbreakers analytics and provide detailed insights about which QR code placements drive the most WhatsApp conversations.
## Design customization for WhatsApp QR codes
WhatsApp Business QR codes benefit from brand customization that builds immediate recognition and trust. Linkbreakers' design capabilities transform generic codes into professional marketing assets.
### WhatsApp-themed design elements
Consider incorporating WhatsApp's recognizable green color scheme into your QR code design while maintaining your brand identity. This visual connection helps visitors immediately understand the code's purpose.
Design approaches include:
- **Green accent colors**: Use WhatsApp green for dots or corners while maintaining brand colors elsewhere
- **WhatsApp logo integration**: Include the WhatsApp icon as a central image for instant recognition
- **Messaging iconography**: Incorporate chat bubble or communication symbols that reinforce the purpose
- **Brand color dominance**: Maintain your brand colors with subtle WhatsApp references
Balance brand consistency with functional clarity to ensure visitors understand they'll be connecting via WhatsApp.
### Call-to-action text integration
Include clear call-to-action text that encourages scanning and sets expectations about the WhatsApp conversation. Effective CTAs reduce hesitation and increase conversion rates.
Compelling call-to-action examples:
- "Scan to chat with us on WhatsApp"
- "Get instant answers via WhatsApp"
- "Message us directly for quick help"
- "Start a WhatsApp conversation now"
- "Connect with our team instantly"
Position CTA text prominently near the QR code to guide visitor behavior and clarify the expected outcome.
### Professional branding considerations
WhatsApp QR codes often appear in professional contexts where brand presentation matters significantly. Ensure your design choices reinforce credibility and professionalism.
Professional design elements include:
- **Clean, minimal aesthetics**: Avoid cluttered designs that distract from the core message
- **Consistent brand colors**: Use your established color palette for immediate brand recognition
- **High-quality logos**: Include your company logo as a central image for brand identification
- **Professional typography**: Choose readable fonts that match your brand voice and style
Professional presentation builds trust and increases the likelihood that prospects will initiate conversations.
## Interactive workflows for WhatsApp engagement
Linkbreakers workflows can enhance WhatsApp QR codes by collecting context before initiating conversations. This pre-qualification improves conversation quality and provides valuable lead information.
### Lead qualification workflows
Create workflows that gather basic information about visitor needs before directing them to WhatsApp. This context helps your team provide more relevant and helpful initial responses.
Qualification workflows might collect:
- **Inquiry type**: Sales, support, general information, specific product questions
- **Urgency level**: Immediate assistance needed, general inquiry, future planning
- **Contact preferences**: Best times to respond, preferred communication style
- **Specific interests**: Product categories, service types, budget ranges
This information can be passed to your team or included in the pre-filled WhatsApp message for better context.
### Appointment scheduling integration
For service-based businesses, integrate appointment scheduling into your QR code workflow before directing visitors to WhatsApp for confirmation or additional questions.
Scheduling workflows enable:
- **Calendar availability checking**: Show available appointment slots
- **Service selection**: Let visitors choose specific services or consultation types
- **Preliminary information gathering**: Collect details that help prepare for appointments
- **Confirmation preferences**: Determine how visitors prefer appointment confirmations
This integration streamlines the booking process while ensuring your WhatsApp conversations focus on confirmation and relationship building rather than scheduling logistics.
### Product inquiry optimization
For retail businesses, create workflows that identify specific product interests before initiating WhatsApp conversations. This targeting helps staff provide relevant information immediately.
Product inquiry workflows can include:
- **Category selection**: Help visitors choose relevant product categories
- **Feature preferences**: Gather information about desired product characteristics
- **Budget considerations**: Understand pricing expectations for better recommendations
- **Timeline requirements**: Learn when visitors need products or services
This pre-qualification ensures WhatsApp conversations start with relevant context that improves customer satisfaction and conversion rates.
## Analytics and performance tracking
WhatsApp QR codes in Linkbreakers provide comprehensive analytics that reveal customer engagement patterns and campaign effectiveness across different channels and contexts.
### Conversation initiation tracking
Monitor how many QR code scans convert into actual WhatsApp conversations. This metric reveals the effectiveness of your messaging strategy and design choices.
Key metrics include:
- **Scan-to-conversation rate**: Percentage of scans that result in WhatsApp messages
- **Message completion rate**: How many visitors complete pre-filled messages vs. modifying them
- **Response timing**: How quickly your team responds to QR code-generated conversations
- **Conversation quality**: Length and engagement level of resulting conversations
These insights guide optimization decisions about message content, workflow design, and response procedures.
### Channel performance analysis
Compare WhatsApp QR code performance across different marketing channels to identify the most effective placement strategies and audience segments.
Channel analysis might reveal:
- **Physical vs. digital performance**: Which environments drive higher conversion rates
- **Location effectiveness**: Which geographic regions or specific locations perform best
- **Timing patterns**: When customers are most likely to initiate WhatsApp conversations
- **Device preferences**: Whether mobile or desktop scanning affects conversation rates
This data supports budget allocation decisions and placement optimization strategies.
### Lead quality assessment
Analyze the quality of leads generated through WhatsApp QR codes by tracking conversation outcomes and business results.
Lead quality indicators include:
- **Conversation length**: Longer conversations often indicate higher engagement
- **Follow-up requirements**: How many touches needed to achieve desired outcomes
- **Conversion rates**: Percentage of conversations that result in sales or desired actions
- **Customer lifetime value**: Long-term value of customers acquired through WhatsApp QR codes
This analysis helps justify WhatsApp marketing investments and optimize targeting strategies.
## Compliance and best practices
WhatsApp Business usage requires compliance with platform policies and regional regulations regarding business messaging and customer communication.
### WhatsApp Business policy compliance
Ensure your WhatsApp Business QR code usage complies with WhatsApp's terms of service and business messaging policies. Violations can result in account restrictions or termination.
Key compliance areas include:
- **Spam prevention**: Only initiate conversations with explicit customer consent
- **Message relevance**: Ensure pre-filled messages relate directly to your business
- **Response timeliness**: Maintain reasonable response times for customer inquiries
- **Professional conduct**: Use appropriate language and maintain business standards
Regular policy reviews ensure your WhatsApp marketing remains compliant as platform rules evolve.
### Privacy considerations
Respect customer privacy throughout the WhatsApp engagement process, particularly when collecting information through workflow forms before conversation initiation.
Privacy best practices include:
- **Clear data usage disclosure**: Explain how collected information will be used
- **Minimal data collection**: Only gather information necessary for effective service
- **Secure data handling**: Protect customer information according to applicable regulations
- **Consent management**: Ensure customers understand and agree to communication preferences
Transparent privacy practices build trust and ensure compliance with data protection regulations.
### International considerations
WhatsApp Business operates globally, but phone number formatting, messaging regulations, and business communication standards vary by region.
International best practices include:
- **Number format verification**: Ensure phone numbers work across target regions
- **Language localization**: Adapt pre-filled messages for different languages and cultures
- **Regulatory compliance**: Understand business messaging laws in target markets
- **Time zone awareness**: Consider optimal messaging times for different regions
These considerations ensure your WhatsApp QR codes work effectively across diverse markets and customer segments.
## Frequently Asked Questions
### Do I need a special WhatsApp Business account for QR codes?
Yes, you need a verified WhatsApp Business account with a business phone number. Personal WhatsApp accounts don't support business messaging features required for effective customer communication.
### Can I track when someone scans my WhatsApp QR code?
Linkbreakers tracks QR code scans and workflow completion, but WhatsApp conversation initiation depends on whether visitors actually send messages after scanning.
### What's the character limit for pre-filled WhatsApp messages?
WhatsApp doesn't enforce strict character limits for pre-filled messages, but shorter messages (under 100 characters) work better across different devices and provide room for customer modifications.
### Can I use the same WhatsApp number for multiple QR codes?
Yes, you can create multiple QR codes with different pre-filled messages that all direct to the same WhatsApp Business number. Use different messages to identify traffic sources.
### Do WhatsApp QR codes work internationally?
WhatsApp QR codes work globally, but ensure your business phone number includes the correct country code and that your business can handle international customer inquiries.
### Can I schedule WhatsApp business hours through QR codes?
WhatsApp Business accounts can set business hours, but QR codes themselves don't enforce timing restrictions. Consider using workflows to inform visitors about response times.
### How do I handle high volumes of WhatsApp messages from QR codes?
Implement customer service procedures for managing message volume, consider using WhatsApp Business API for automation, and ensure adequate staffing for timely responses.
### Can I integrate WhatsApp QR codes with my CRM system?
Yes, use Linkbreakers' webhook features to send QR code scan data and workflow responses to your CRM system for comprehensive customer tracking.
WhatsApp Business QR codes created through Linkbreakers combine the convenience of instant messaging with sophisticated marketing analytics and brand customization.
Start with simple message pre-filling to reduce customer friction, then explore interactive workflows and advanced analytics as your WhatsApp marketing strategy develops. The platform's flexibility supports both basic customer service applications and sophisticated lead generation campaigns.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# QR code marketing: how to track engagement offline like a pro
Source: https://linkbreakers.com/help/article/qr-code-marketing-how-to-track-engagement-offline-like-a-pro
## Short answer
This article explains qr code marketing: how to track engagement offline like a pro with practical guidance, limits, and implementation details so you can apply it consistently.
Offline marketing has long been the black box of campaign attribution. You invest in billboards, print advertisements, trade show displays, and direct mail campaigns, then struggle to measure their actual impact on business outcomes. QR codes transform this challenge by creating direct, measurable bridges between physical touchpoints and digital engagement. Smart marketers use QR codes not just as convenience tools, but as sophisticated tracking mechanisms that provide precise attribution for offline marketing investments.
## Quick summary
- Solve offline marketing attribution challenges by creating direct offline-to-online tracking connections
- Implement strategic campaigns across print advertising, business cards, events, and retail environments
- Track essential metrics including scan rates, conversion rates, geographic performance, and ROI
- Optimize QR code design and placement for maximum engagement and scannability
- Use advanced agency strategies for client campaign management and cross-channel integration
- Leverage professional analytics platforms for comprehensive offline marketing measurement
## The offline marketing measurement challenge
### Traditional attribution gaps
Offline marketing traditionally relies on indirect measurement methods that provide incomplete pictures of campaign effectiveness. Brand awareness surveys, coupon redemption rates, and website traffic correlations offer directional insights but lack the precision needed for optimization and ROI calculation.
Consider a typical multi-channel campaign that includes magazine advertisements, radio sponsorships, and billboard placements. Traditional analytics might show increased website traffic during the campaign period, but attributing specific conversions to specific placements remains guesswork. Did the customer discover you through the magazine ad, radio mention, or billboard? The answer affects future media buying decisions and budget allocation.
Geographic attribution becomes particularly challenging when campaigns span multiple markets or regions. A national campaign might show strong performance in certain cities, but understanding whether success comes from local media placements, demographic factors, or competitive landscape differences requires more granular data than traditional methods can provide.
Timing attribution poses another challenge. When does offline marketing impact actually translate to online conversions? Some customers act immediately after exposure, while others research for days or weeks before converting. Traditional analytics struggle to connect delayed conversions with specific offline touchpoints.
The lack of individual-level tracking means missed opportunities for personalization and follow-up marketing. When someone engages with your offline campaign, you often can't identify them or continue the conversation through targeted digital channels.
### The ROI measurement problem
Offline marketing budget justification becomes difficult when you can't demonstrate clear connections between spending and outcomes. Marketing teams face increasing pressure to prove ROI for traditional advertising investments, but attribution gaps make this nearly impossible with conventional measurement approaches.
Media buying optimization requires understanding which placements, publications, or venues drive the best results. Without clear attribution data, media buyers make decisions based on reach and demographic assumptions rather than proven performance metrics. This leads to continued investment in potentially underperforming placements while missing opportunities in high-performing alternatives.
Campaign optimization happens slowly when feedback loops are unclear. Digital campaigns can be adjusted in real-time based on performance data, but offline campaigns often run their full duration without optimization opportunities because performance insights arrive too late for course correction.
Budget allocation between offline and online channels becomes contentious when offline results can't be measured with the same precision as digital campaigns. Digital marketers demonstrate clear ROI metrics while offline teams rely on softer metrics that don't carry the same weight in budget discussions.
## QR codes as the missing attribution link
### Direct offline-to-online tracking
QR codes solve the attribution challenge by creating explicit connections between offline touchpoints and online engagement. Each scan represents a direct response to your offline marketing that can be tracked, measured, and attributed to specific campaigns, placements, or creative variations.
The immediacy of QR code scanning provides real-time feedback about offline campaign performance. You can monitor scan rates throughout campaign periods, identify peak engagement times, and adjust strategies based on immediate performance data rather than waiting for delayed attribution signals.
Geographic precision improves dramatically when QR codes enable location-specific tracking. Different QR codes for different regions, venues, or placements provide clear attribution for geographic performance variations. This granular data informs local marketing strategies and helps identify high-performing markets for increased investment.
Individual visitor tracking becomes possible when QR code scans initiate digital journeys that can be followed through your analytics systems. Someone who scans a billboard QR code can be tracked through subsequent website visits, email signups, and eventual conversions, providing complete attribution chains from offline exposure to business outcomes.
### Campaign-specific attribution and insights
Unique QR codes for different campaign elements enable sophisticated attribution analysis that reveals which creative approaches, messages, or placements drive the best results. A single campaign might feature different QR codes for different advertisement versions, enabling A/B testing of offline creative elements.
Publication or venue performance becomes measurable when each placement features unique QR codes. Magazine advertisements can include publication-specific codes that show which titles drive the most engagement. Trade show displays can feature event-specific codes that demonstrate the value of different conference investments.
Creative testing opportunities expand when QR codes can track response rates for different visual designs, calls-to-action, or messaging approaches. The same underlying campaign can test multiple creative variations by using different QR codes that redirect to the same destination while tracking which creative elements drive higher scan rates.
Seasonal and temporal analysis becomes precise when QR codes capture exact timing data for each interaction. This temporal precision reveals when your audience is most responsive to offline marketing, informing future campaign timing and scheduling decisions.
## Strategic campaign ideas across channels
### Print advertising and publications
Magazine and newspaper advertisements benefit enormously from QR code integration that transforms static placements into interactive, trackable experiences. Instead of relying on readers to remember your URL or search for your company, QR codes provide instant access while capturing detailed attribution data.
Trade publication campaigns can use industry-specific QR codes that redirect to content tailored for that publication's audience. A software company might place identical-looking advertisements in three different trade magazines, but each QR code redirects to landing pages customized for that industry segment while tracking which publication drives the most qualified leads.
Direct mail campaigns achieve higher response rates and better attribution when QR codes supplement traditional response mechanisms. Mail recipients can scan codes for instant access to promotional offers while marketers track response rates by geographic region, mailing list segment, or creative variation.
Catalog and brochure integration enables product-specific tracking where each featured item includes QR codes that lead to detailed product information, customer reviews, or purchase options. This granular tracking reveals which products generate the most interest and how catalog engagement translates to sales.
Newspaper advertising can leverage QR codes for local business promotion where geographic targeting is crucial. Restaurant advertisements can include QR codes that redirect to current menus, reservation systems, or promotional offers while tracking which neighborhoods show the highest engagement rates.
### Business cards and networking materials
Professional networking becomes more effective when business cards include QR codes that provide instant access to digital business profiles, portfolio samples, or scheduling systems. The scan data reveals which networking events or meetings generate the most follow-up interest.
Conference and trade show business cards can include event-specific QR codes that redirect to different landing pages or promotional offers relevant to that event's audience. This targeting improves conversion rates while providing clear attribution for event ROI calculation.
Sales team effectiveness can be measured when business cards include salesperson-specific QR codes that track which team members generate the most digital engagement from their networking activities. This data informs training needs and helps identify top performers for best practice sharing.
Follow-up automation becomes possible when business card QR codes initiate digital workflows that add contacts to CRM systems, trigger email sequences, or schedule follow-up appointments. The networking interaction seamlessly transitions to digital relationship building with complete tracking throughout the process.
### Event marketing and trade shows
Event marketing gains significant measurement capabilities when QR codes track engagement across different touchpoints throughout the event experience. Registration confirmations, session check-ins, booth visits, and sponsor interactions can all generate trackable data that reveals attendee behavior patterns.
Trade show booth optimization benefits from QR codes placed strategically around booth displays that track which areas generate the most interest. Different codes for product demonstrations, literature downloads, or meeting scheduling reveal which booth elements drive the most qualified engagement.
Conference session tracking enables event organizers to measure actual attendance and engagement rather than relying on registration numbers. Session-specific QR codes can track attendance patterns and identify which topics or speakers generate the most audience interest.
Networking facilitation improves when attendee badges include QR codes that enable instant contact sharing while tracking networking activity. Event organizers gain insights into networking patterns while attendees enjoy frictionless contact exchange.
Sponsor value demonstration becomes data-driven when sponsor placements include trackable QR codes that measure engagement levels. Sponsors receive concrete metrics about their event investment while organizers can demonstrate tangible value for future sponsorship sales.
### Retail and point-of-sale marketing
In-store marketing materials gain tracking capabilities when QR codes connect physical displays with digital analytics. Product shelf talkers, promotional signage, and demonstration areas can feature QR codes that track customer interest and engagement patterns.
Product packaging integration enables post-purchase engagement tracking where QR codes facilitate warranty registration, customer feedback collection, or loyalty program enrollment. This packaging-based tracking continues the customer relationship beyond the initial purchase transaction.
Store window displays can include QR codes that allow street traffic to engage with your business even when the store is closed. These after-hours interactions provide insights into foot traffic patterns and customer interest levels that traditional retail analytics miss.
Point-of-sale promotions become more sophisticated when QR codes enable instant coupon redemption, loyalty point earning, or social media sharing while tracking which promotions drive the most customer engagement.
Seasonal display effectiveness can be measured when holiday or promotional displays include QR codes that track customer response to different seasonal marketing approaches. This data informs future seasonal campaign planning and inventory decisions.
## Metrics that matter for offline marketing
### Fundamental engagement metrics
Scan rate serves as the primary engagement metric for QR code campaigns, representing the percentage of people exposed to your code who actually scan it. This metric varies significantly based on placement, design, and audience characteristics, making it essential for optimization efforts.
Unique visitor tracking provides insights into audience reach by identifying how many distinct individuals engage with your campaigns versus repeat interactions from the same people. Understanding the balance between new and returning scanners helps evaluate campaign penetration and audience loyalty.
Time-to-scan analytics reveal how quickly people respond to your offline marketing after exposure. This temporal data helps optimize campaign timing and placement strategies while providing insights into customer decision-making patterns.
Geographic distribution shows where your offline marketing generates the most engagement, enabling location-specific optimization and budget allocation decisions. This geographic data proves particularly valuable for businesses with multiple locations or regional marketing strategies.
Device and browser analytics provide technical insights that inform mobile optimization strategies and ensure your destination experiences work optimally for your actual audience's technology preferences.
### Conversion and business impact metrics
Conversion rate measurement tracks how QR code scans translate to meaningful business outcomes like email signups, demo requests, purchases, or other defined conversion events. This metric demonstrates the true business value of offline marketing investments beyond simple engagement counting.
Revenue attribution becomes possible when QR code interactions can be tracked through your sales funnel to actual purchase transactions. This end-to-end tracking provides the ROI data necessary for budget justification and optimization efforts.
Cost per acquisition (CPA) calculation enables direct comparison between offline and online marketing channels when QR codes provide clear attribution for offline-driven conversions. This comparison helps optimize budget allocation across channels.
Customer lifetime value (CLV) analysis reveals the long-term impact of offline marketing by tracking the total value generated by customers acquired through QR code campaigns. This longer-term perspective often shows higher value for offline-acquired customers.
Lead quality assessment helps determine whether offline marketing generates better or worse prospects compared to other channels. QR code data can reveal demographic, behavioral, or engagement patterns that indicate lead quality differences.
### Campaign optimization metrics
Placement performance comparison reveals which locations, publications, or venues drive the best engagement and conversion rates. This comparative analysis informs future media buying and placement strategies while identifying underperforming investments.
Creative variation testing becomes possible when different QR codes track response rates for different visual designs, messaging approaches, or call-to-action variations. This testing provides data-driven insights for creative optimization across future campaigns.
Temporal performance analysis shows when your audience is most responsive to offline marketing, enabling optimized campaign timing and scheduling decisions. Peak engagement periods might vary by industry, audience segment, or geographic region.
Drop-off analysis identifies where visitors abandon the conversion process after scanning QR codes, revealing optimization opportunities for landing pages, forms, or workflow steps that follow the initial scan.
Return visitor behavior provides insights into customer loyalty and long-term engagement patterns. Understanding how often people return to scan the same QR codes or engage with related campaigns helps evaluate customer relationship development.
## How Linkbreakers provides professional offline tracking
### Comprehensive analytics dashboard
The [Linkbreakers analytics dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors) provides real-time visibility into QR code campaign performance with detailed metrics that enable professional-grade offline marketing optimization. The dashboard consolidates scan data, visitor information, and conversion tracking in intuitive interfaces that support both quick overview monitoring and detailed analysis.
Real-time monitoring capabilities enable immediate response to campaign performance changes. You can watch scan activity as it happens, identify trending patterns, and make tactical adjustments based on immediate feedback rather than waiting for delayed reporting cycles.
Geographic heat maps visualize where your campaigns generate the most engagement, helping identify high-performing regions and optimization opportunities for geographic expansion or budget reallocation. This geographic intelligence supports both strategic planning and tactical campaign adjustments.
Device and browser breakdowns provide technical insights that inform mobile optimization strategies and ensure destination experiences work optimally for your audience's actual technology preferences. Understanding your audience's device patterns helps optimize landing pages and conversion workflows for maximum effectiveness.
Visitor journey tracking follows individuals through complete interaction sequences from initial QR code scan through any subsequent workflow steps to final conversions. This end-to-end visibility enables sophisticated funnel analysis and optimization efforts.
### Advanced segmentation and filtering
Campaign organization features enable sophisticated tracking across multiple simultaneous campaigns with clear attribution for different initiatives, creative variations, or placement strategies. The platform supports complex campaign hierarchies that align with organizational structures and reporting needs.
[Tag-based organization](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) allows flexible categorization of QR codes and campaigns for analysis across different dimensions like geographic regions, product categories, or marketing channels. This tagging system supports both predetermined analysis frameworks and ad-hoc investigation needs.
Time-based filtering enables analysis of campaign performance across specific periods, supporting both real-time optimization and historical performance evaluation. Comparison capabilities help identify seasonal patterns, campaign effectiveness trends, and long-term performance evolution.
Audience segmentation based on scan behavior, geographic location, device types, or custom criteria enables targeted analysis that reveals how different audience segments respond to offline marketing efforts. This segmentation supports personalized follow-up strategies and audience-specific optimization efforts.
Conversion funnel analysis provides detailed visibility into how visitors progress through any workflow steps configured after QR code scanning. This funnel visibility identifies optimization opportunities and measures the effectiveness of different conversion pathway designs.
### Integration with marketing technology stacks
[Webhook integrations](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enable real-time data flow from QR code scans into CRM systems, marketing automation platforms, and custom applications. This integration ensures offline marketing data combines with other customer interaction data for comprehensive relationship management.
UTM parameter preservation maintains campaign attribution throughout the entire visitor journey, ensuring QR code scans appear correctly attributed in Google Analytics and other web analytics platforms. This attribution continuity enables comprehensive cross-channel analysis and optimization.
API access enables custom integrations and automated reporting workflows for organizations with specific analytics or integration requirements. The programmatic access supports sophisticated automation and custom dashboard development for enterprise-scale offline marketing operations.
Custom event tracking capabilities measure specific business outcomes beyond basic scan counting, enabling ROI calculation and business impact assessment for offline marketing investments. These custom events integrate with broader marketing attribution systems for comprehensive performance measurement.
Export functionality ensures data portability and supports custom analysis in preferred business intelligence tools or spreadsheet applications. This data access flexibility ensures organizations can analyze offline marketing performance using their preferred analytical frameworks and tools.
## Design and placement optimization for maximum scans
### Visual design best practices
QR code design significantly impacts scan rates, making visual optimization crucial for campaign success. The platform's [advanced design controls](https://app.linkbreakers.com/workspace/dashboard/links) enable professional-quality codes that maintain scannability while reflecting brand identity and encouraging engagement.
Contrast optimization ensures QR codes remain scannable across various lighting conditions and viewing distances. High contrast between the code pattern and background improves reliability while enabling creative color schemes that align with brand guidelines and campaign aesthetics.
Size considerations affect both scannability and visual impact. QR codes must be large enough for reliable scanning at intended viewing distances while balancing visual prominence with overall design aesthetics. The platform provides sizing guidance for different placement scenarios from business cards to billboards.
Brand integration capabilities enable seamless incorporation of logos, colors, and visual elements that reinforce brand identity while maintaining scanning functionality. Professional brand integration increases trust and scan likelihood compared to generic black-and-white codes.
Call-to-action optimization includes strategic text placement and messaging that clearly communicates the value proposition for scanning. Effective calls-to-action explain what visitors will receive in exchange for their scan, increasing engagement rates through clear value communication.
### Strategic placement considerations
Visibility optimization considers sight lines, lighting conditions, and environmental factors that affect QR code discoverability and scannability. Codes must be positioned where target audiences naturally look while ensuring adequate lighting and viewing angles for reliable scanning.
Accessibility requirements ensure QR codes can be scanned by people with different physical abilities and device types. Placement height, viewing angles, and surrounding space considerations affect accessibility and should align with universal design principles.
Context relevance improves scan rates when QR codes appear in logical locations where audiences expect to find additional information or engagement opportunities. Contextual placement feels natural rather than intrusive, encouraging voluntary engagement.
Traffic flow analysis helps identify optimal placement locations based on how people move through physical spaces. High-traffic areas provide exposure while strategic placement at decision points can influence behavior and increase engagement likelihood.
Environmental durability considerations ensure QR codes remain scannable throughout campaign periods despite weather, wear, or other environmental factors. Material selection and protective measures affect long-term campaign effectiveness.
### Testing and optimization strategies
A/B testing opportunities emerge when different QR codes can track performance variations for different design approaches, placement strategies, or messaging variations. This testing provides data-driven insights for optimization across future campaigns.
Placement testing compares performance across different locations, venues, or environmental conditions to identify optimal placement strategies. Understanding which environments drive the best engagement helps optimize future placement decisions and budget allocation.
Creative iteration enables continuous improvement through design refinements based on performance data. Scan rate variations between different creative approaches provide feedback for visual optimization and brand presentation strategies.
Seasonal optimization accounts for how engagement patterns change throughout the year based on audience behavior, environmental factors, or campaign context. Understanding seasonal variations helps optimize timing and creative approaches for maximum impact.
Performance monitoring enables ongoing optimization throughout campaign periods rather than waiting for final results. Real-time feedback supports tactical adjustments that maximize campaign effectiveness and ROI.
## Advanced campaign strategies for agencies
### Client campaign management
Agency workflows benefit from [workspace organization](https://linkbreakers.com/help/article/what-is-a-workspace) that provides dedicated environments for each client while maintaining centralized management and reporting capabilities. This client separation ensures data privacy while enabling agencies to demonstrate value through comprehensive analytics.
White-label reporting capabilities enable agencies to present campaign performance data using client branding rather than agency or platform branding. This white-label presentation reinforces client relationships while demonstrating campaign transparency and professional service delivery.
Custom domain implementation allows agencies to use client-branded domains for QR code destinations, maintaining complete brand consistency throughout the customer journey. This branded approach increases trust and click-through rates while reinforcing client brand value.
Multi-campaign coordination supports complex client initiatives that span multiple channels, geographic regions, or time periods. The platform enables sophisticated campaign organization that aligns with client business structures and reporting requirements.
Performance benchmarking capabilities help agencies demonstrate relative campaign performance and identify optimization opportunities across different client campaigns or industry verticals. This comparative analysis supports strategic recommendations and future campaign planning.
### Cross-channel integration strategies
Omnichannel campaign coordination enables QR codes to work seamlessly with digital marketing efforts while maintaining clear attribution for each channel's contribution. UTM parameter integration ensures offline-initiated journeys appear correctly in digital analytics platforms.
Social media integration opportunities arise when QR codes drive traffic to social platforms while maintaining attribution for offline touchpoints. This integration enables sophisticated cross-channel campaigns that leverage the strengths of both offline reach and social media engagement.
Email marketing coordination enables QR code scans to trigger email sequences while maintaining attribution for the offline touchpoint that initiated the relationship. This coordination creates seamless customer journeys that span multiple channels and touchpoints.
Retargeting integration becomes possible when QR code scans enable pixel firing or cookie placement that supports subsequent digital advertising efforts. Offline engagement can thus initiate digital retargeting campaigns with clear attribution for the offline trigger.
CRM integration ensures QR code interactions become part of comprehensive customer profiles that include all touchpoint history. This integration enables lead qualification and personalized marketing strategies based on complete customer interaction history.
### ROI demonstration and client reporting
Performance reporting capabilities enable agencies to demonstrate clear ROI for offline marketing investments through comprehensive analytics that track from initial scan through final conversion. This end-to-end attribution provides the data necessary for budget justification and optimization recommendations.
Comparative analysis features help demonstrate QR code campaign performance relative to other marketing channels or historical performance benchmarks. This comparative context helps clients understand the relative value of offline marketing investments.
Custom dashboard creation enables agencies to present client-specific views that highlight the metrics most relevant to each client's business objectives and KPIs. These customized presentations improve client communication and demonstrate strategic alignment.
Automated reporting capabilities reduce manual effort while ensuring clients receive regular performance updates that maintain transparency and demonstrate ongoing value. Automated reporting frees agency resources for strategic optimization rather than routine reporting tasks.
Predictive analytics opportunities emerge from historical performance data that can inform future campaign planning and budget allocation decisions. Understanding performance patterns helps agencies provide strategic recommendations that improve client outcomes.
## Frequently Asked Questions
### How do I choose the right QR code size for different placements?
QR code size depends on viewing distance and scanning conditions. For business cards, 1-inch squares work well. Posters and flyers need 2-3 inch codes. Billboards require much larger codes, sometimes 12 inches or more. The key is ensuring the code can be clearly seen and scanned from the intended viewing distance.
### What's the best way to track ROI from offline QR code campaigns?
Set up conversion tracking that follows visitors from QR code scan through your sales funnel to actual purchases or meaningful business outcomes. Use [UTM parameters](https://linkbreakers.com/help/article/what-is-a-utm-builder-in-linkbreakers) for proper attribution in Google Analytics and configure custom events for specific conversion goals. This end-to-end tracking enables accurate ROI calculation.
### How can I improve QR code scan rates?
Optimize scan rates through clear value propositions (tell people what they'll get), strategic placement in high-visibility locations, appropriate sizing for viewing distance, high contrast design, and branded appearance that builds trust. Include compelling calls-to-action that explain the benefit of scanning.
### What metrics should I focus on for offline marketing campaigns?
Focus on scan rates, unique visitors, conversion rates, geographic performance, and actual business outcomes like leads generated or revenue attributed. Don't just count scans, measure how scans translate to meaningful business results that justify your offline marketing investments.
### Can QR codes work for B2B marketing campaigns?
Yes, QR codes work excellently for B2B marketing. Use them on trade show materials, business cards, direct mail, and professional publications. B2B audiences often appreciate the convenience and professional appearance of well-designed QR codes that provide instant access to relevant business information.
### How do I track which specific advertisements or placements perform best?
Create unique QR codes for each placement, publication, or campaign element. This enables direct attribution showing which magazine ads, billboard locations, or event placements drive the most engagement and conversions. Use [campaign organization features](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) to manage multiple codes effectively.
### What's the difference between QR code analytics and web analytics?
QR code analytics capture the offline-to-online transition that web analytics miss. You can see exactly which offline touchpoints drive digital engagement, while web analytics only show traffic after it arrives at your website. QR codes provide the missing attribution link for offline marketing.
### How long should offline campaigns run to get meaningful data?
Campaign duration depends on your audience and placement type. High-traffic locations might provide meaningful data within days, while specialized publications or niche events might need weeks or months. Monitor scan rates and statistical significance to determine when you have enough data for optimization decisions.
### Can I use the same QR code across multiple offline channels?
While possible, using unique QR codes for different channels provides much better attribution data. The marginal cost of additional QR codes is minimal compared to the attribution value gained from understanding which channels drive the best results for optimization and budget allocation.
### How do I ensure QR codes remain scannable in outdoor environments?
Use weather-resistant materials, ensure adequate size for viewing distance, maintain high contrast even in various lighting conditions, and consider placement protection from direct weather exposure. Test scannability under actual environmental conditions before finalizing placement strategies.
## The future of measurable offline marketing
QR codes have evolved from simple convenience tools into sophisticated attribution mechanisms that transform offline marketing from an art into a science. The ability to track, measure, and optimize offline campaigns with the same precision as digital channels represents a fundamental shift in marketing capability.
Smart marketers recognize QR codes as essential infrastructure for modern omnichannel campaigns that seamlessly blend offline reach with digital measurement and optimization. This integration enables sophisticated attribution modeling that includes offline touchpoints in comprehensive customer journey analysis.
The data generated by QR code campaigns provides insights that improve not just offline marketing, but overall customer understanding and experience design. Geographic patterns, device preferences, and engagement behaviors revealed through QR code analytics inform broader marketing strategies across all channels.
Organizations that master offline marketing attribution through QR codes gain competitive advantages in environments where traditional advertising effectiveness continues declining. The ability to demonstrate clear ROI for offline investments ensures continued budget allocation while competitors struggle with attribution challenges.
The future belongs to marketers who can measure everything, optimize continuously, and demonstrate clear connections between marketing activities and business outcomes. QR codes provide the missing link that makes comprehensive marketing attribution possible across all touchpoints and channels.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How do businesses monitor QR code scans in real-time?
Source: https://linkbreakers.com/help/article/how-do-businesses-monitor-qr-code-scans-in-real-time
## Short answer
This article explains how do businesses monitor qr code scans in real-time with practical guidance, limits, and implementation details so you can apply it consistently.
Real-time QR code monitoring enables businesses to track campaign performance as it happens, respond immediately to engagement spikes or technical issues, and optimize customer experiences while interactions are occurring. Modern businesses use sophisticated monitoring systems that provide instant visibility into scan activity, visitor behavior, and conversion performance without waiting for delayed reporting cycles. This immediate feedback loop transforms QR codes from static marketing tools into dynamic, responsive customer engagement systems.
## Quick summary
- Implement real-time tracking systems to monitor QR code scans and visitor behavior as they occur
- Set up automated alerts for performance changes, technical issues, and conversion opportunities
- Configure live dashboards with geographic heat maps and device analytics for immediate insights
- Integrate monitoring systems with CRM and marketing automation platforms for seamless workflows
- Deploy enterprise-scale monitoring solutions with predictive analytics and competitive intelligence
- Establish compliance protocols and security measures for real-time data protection
## Real-time monitoring infrastructure and capabilities
### Live activity tracking systems
Real-time scan monitoring provides instant visibility into QR code engagement as scans occur, enabling immediate response to performance changes or customer behavior patterns. Live tracking helps identify trending campaigns, technical issues, or optimization opportunities while they're happening rather than through delayed discovery.
Geographic heat maps update continuously to show where engagement is occurring across different regions, venues, or placement locations. Real-time geographic intelligence helps identify unexpected hot spots, optimize placement strategies, and respond to local market opportunities as they develop.
Device and browser analytics update immediately to show what technology visitors are using to scan codes and access destinations. Real-time device data helps ensure optimal user experiences and identify technical compatibility issues that might affect engagement rates.
Conversion tracking monitors business outcomes in real-time, showing how scan activity translates to lead generation, sales, or other defined success metrics. Immediate conversion visibility enables rapid optimization of post-scan experiences and workflow adjustments.
### Performance alert and notification systems
[Dynamic QR codes deliver 3-4 times higher engagement](https://www.qr-code-generator.com/blog/qr-code-analytics/) compared to static alternatives, making real-time monitoring essential for capitalizing on this performance advantage through immediate optimization and response capabilities.
Threshold-based alerts notify teams when scan rates exceed or fall below expected performance ranges, enabling proactive response to campaign changes. Automated alerts ensure no significant performance shift goes unnoticed, whether positive or negative.
Geographic anomaly detection identifies unusual scan patterns in specific locations that might indicate campaign success, technical problems, or competitive activity. Location-based alerts help teams respond quickly to local market opportunities or issues.
Technical performance monitoring alerts teams to problems affecting scan reliability, page loading speeds, or mobile optimization that could impact visitor experiences. Technical alerts enable rapid response to issues that affect conversion rates and customer satisfaction.
Conversion rate alerts notify teams when post-scan performance changes significantly, enabling immediate optimization of landing pages, forms, or workflow steps that affect business outcomes. Conversion monitoring ensures optimal customer experiences throughout the engagement process.
### Integration with business systems
CRM integration provides real-time visitor data flow into customer relationship management systems, ensuring immediate visibility into prospect engagement and enabling timely sales follow-up. Real-time CRM updates help teams capitalize on engagement momentum while prospects are actively interested.
Marketing automation triggers enable QR code scans to immediately initiate email sequences, CRM updates, or targeted advertising campaigns. Real-time automation ensures no engagement opportunity is missed while reducing manual follow-up requirements.
Customer support integration alerts support teams to visitor issues or specific assistance requests triggered by QR code interactions. Real-time support notifications enable proactive customer assistance and issue resolution before problems escalate.
Business intelligence dashboards provide executive-level real-time visibility into QR code campaign performance within broader business context. Strategic monitoring helps align QR code investments with overall business objectives and performance metrics.
## Setting up live monitoring dashboards
### Essential dashboard components
Scan activity visualization shows live engagement across all active QR code campaigns with real-time updates as scans occur. Activity dashboards help teams understand current performance and identify campaigns requiring attention or optimization.
Geographic performance mapping provides real-time visualization of scan activity across different regions, helping identify trending locations and unexpected engagement patterns. Geographic dashboards support tactical decisions about placement expansion or budget reallocation.
Visitor behavior tracking shows real-time visitor progression through post-scan workflows, revealing engagement depth and conversion patterns. Behavior monitoring helps optimize user experiences and identify friction points that affect conversion rates.
Performance metrics display shows key indicators like scan rates, conversion percentages, and business outcomes with immediate updates. Metrics dashboards provide quick performance assessment and help identify optimization priorities.
### Customization and user experience
Role-based dashboard views provide different information displays for executives, marketing teams, sales personnel, and technical staff. Customized views ensure relevant information reaches appropriate decision makers without overwhelming users with unnecessary data.
Alert prioritization systems identify which performance changes require immediate attention versus routine fluctuations that don't warrant intervention. Intelligent alerting prevents notification fatigue while ensuring critical issues receive appropriate response.
Mobile dashboard access enables monitoring and response from smartphones and tablets, supporting immediate action regardless of location. Mobile monitoring capabilities help teams respond quickly to opportunities or issues while away from computers.
Historical comparison features show real-time performance against previous periods, helping identify trends and assess current performance relative to benchmarks. Comparative displays provide context for current activity and help identify unusual patterns.
### Team collaboration features
Shared monitoring capabilities enable multiple team members to access real-time performance data and coordinate responses to opportunities or issues. Collaborative monitoring ensures comprehensive coverage and prevents duplicate efforts.
Communication integration connects monitoring systems with team messaging platforms, enabling immediate notification and discussion about performance changes. Integrated communication streamlines response coordination and decision-making processes.
Assignment and escalation workflows ensure critical alerts reach appropriate team members and escalate to management when necessary. Systematic escalation prevents important issues from being missed due to availability or timing constraints.
Response tracking logs team actions taken in response to monitoring alerts, providing accountability and helping identify effective intervention strategies. Action tracking helps refine monitoring and response processes over time.
## Automated monitoring and response systems
### Intelligent alert management
Machine learning-based anomaly detection identifies genuinely unusual patterns that warrant attention while filtering out normal performance variations. Intelligent detection reduces false alerts while ensuring significant changes receive appropriate response.
Context-aware alerting provides background information about performance changes, including potential causes and recommended responses. Contextual alerts help teams respond more effectively by understanding the broader situation surrounding performance changes.
Progressive escalation ensures alerts reach appropriate personnel based on severity and response time requirements. Escalation systems prevent critical issues from being missed while avoiding unnecessary interruptions for routine matters.
Alert correlation identifies when multiple performance changes might be related to the same underlying cause or opportunity. Correlated alerts help teams understand complex situations and coordinate comprehensive responses.
### Automated optimization responses
Dynamic content delivery automatically adjusts post-scan experiences based on real-time performance data and visitor characteristics. Automated content optimization ensures visitors receive the most effective messaging without manual intervention.
Traffic routing automation redistributes scan traffic to different destinations based on capacity, performance, or testing requirements. Automated routing maintains optimal user experiences while supporting sophisticated testing and optimization strategies.
Budget allocation automation adjusts campaign spending based on real-time performance across different placements, regions, or audience segments. Automated budget optimization maximizes ROI by concentrating resources on highest-performing campaign elements.
A/B testing automation continuously optimizes campaign elements through systematic testing of different approaches. Automated testing ensures ongoing improvement without requiring manual test management or statistical analysis.
### Proactive customer engagement
Sales alert automation notifies teams immediately when high-value prospects engage with QR codes, enabling rapid response to hot leads. Automated sales alerts help teams capitalize on engagement momentum while prospects are actively interested.
Customer support automation creates service tickets when QR code interactions indicate problems or specific assistance needs. Automated support workflows ensure customer issues receive appropriate attention and resolution.
Follow-up automation schedules appropriate communication based on visitor behavior patterns and engagement timing. Automated follow-up ensures consistent relationship development without overwhelming customers or missing opportunities.
Personalization engines deliver customized experiences based on real-time visitor characteristics and behavior patterns. Automated personalization increases engagement and conversion rates without requiring manual customization for each visitor.
## Enterprise-scale monitoring solutions
### Scalability and performance requirements
High-volume processing capabilities ensure monitoring systems can handle scan spikes from viral campaigns or major events without performance degradation. Scalable infrastructure maintains real-time responsiveness regardless of engagement volume.
Global distribution support enables real-time monitoring across multiple geographic regions and time zones. Distributed monitoring ensures consistent performance and appropriate response coverage regardless of where engagement occurs.
Data reliability and redundancy prevent monitoring failures that could result in missed opportunities or delayed issue detection. Reliable infrastructure provides confidence in monitoring accuracy for business-critical decision making.
Integration capacity supports connections with multiple business systems without affecting monitoring performance. Robust integration capabilities ensure monitoring data enhances all relevant business processes and decision-making activities.
### Advanced analytics and intelligence
Predictive analytics capabilities use real-time data combined with historical patterns to forecast likely performance outcomes and recommend optimization strategies. Predictive insights help teams make proactive decisions about campaign adjustments.
Competitive intelligence tracking identifies unusual activity patterns that might indicate competitive campaigns or market changes affecting QR code performance. Competitive monitoring helps optimize campaign positioning and tactical responses.
Market opportunity identification uses real-time performance data combined with external signals to identify expansion opportunities or optimization needs. Opportunity detection helps teams capitalize on market changes and competitive advantages.
Performance benchmarking compares real-time results against historical performance and industry standards to identify optimization opportunities. Automated benchmarking helps teams understand relative performance and set appropriate optimization priorities.
### Security and compliance features
Data security protocols ensure real-time monitoring data is protected against unauthorized access or manipulation. Security measures maintain monitoring integrity while protecting sensitive business and customer information.
Privacy compliance monitoring ensures data collection and usage align with privacy regulations and customer preferences. Compliance monitoring helps maintain legal compliance while enabling valuable business intelligence.
Audit trail capabilities track all monitoring system access and configuration changes for accountability and compliance purposes. Audit trails support regulatory compliance and help identify security or performance issues.
Backup and recovery systems ensure monitoring capabilities remain available even during system failures or maintenance periods. Reliable backup systems maintain business continuity and prevent monitoring gaps during critical periods.
:::register-linkbreakers-banner {"eyebrow":"Try Linkbreakers","headline":"Monitor QR code performance in real-time","description":"Linkbreakers provides live dashboards, instant alerts, and automated responses for immediate campaign optimization and customer engagement.","ctaHref":"https://app.linkbreakers.com/workspace/sign-up/wizard?showcase=default&ref=help-dashboard-monitoring"}:::
## Linkbreakers real-time monitoring platform
### Comprehensive live tracking capabilities
The [Linkbreakers platform](https://app.linkbreakers.com/workspace/dashboard/visitors) provides enterprise-grade real-time monitoring with instant visibility into scan activity, visitor behavior, and conversion performance. The platform architecture supports high-frequency monitoring with immediate alerting and comprehensive automation capabilities.
Live activity dashboards show scan activity as it happens across all campaigns, providing immediate visibility into performance changes and engagement patterns. Real-time dashboards enable tactical optimization and help teams capitalize on engagement momentum.
Geographic heat maps display scan activity across different regions with immediate updates and trend analysis. Real-time geographic intelligence helps identify market opportunities and optimization needs as they develop.
Performance alert systems provide instant notification of significant changes in campaign performance, technical issues, or optimization opportunities. Automated alerting ensures proactive response without requiring constant manual monitoring.
### Advanced automation and integration
[Webhook integration](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enables real-time data streaming to CRM systems, marketing automation platforms, and custom applications. Webhook automation ensures QR code engagement immediately triggers appropriate business processes.
[API-based monitoring](https://linkbreakers.com/help/api) supports custom dashboard development and integration with existing business intelligence systems. Programmatic access enables sophisticated monitoring that aligns with organizational processes and technology investments.
Automated response capabilities trigger immediate actions based on performance changes or visitor behavior patterns. Automation ensures consistent response to opportunities and issues without requiring manual intervention.
Custom event tracking enables real-time monitoring of specific business outcomes that align with organizational objectives. Custom tracking ensures monitoring focuses on metrics that matter for business success.
### Business intelligence and collaboration
Executive dashboard views provide high-level real-time visibility into QR code performance within broader business context. Strategic monitoring helps align QR code campaigns with overall business objectives and performance metrics.
Team collaboration features enable multiple users to access monitoring data and coordinate responses to opportunities or issues. Collaborative monitoring ensures comprehensive coverage and effective response coordination.
Mobile monitoring access enables real-time campaign oversight and response from any device or location. Mobile capabilities help teams respond quickly to opportunities or issues regardless of availability constraints.
Historical comparison tools show real-time performance against previous periods and benchmarks, providing context for current activity and helping identify optimization opportunities. Comparative analysis supports strategic decision making and performance optimization.
## Frequently Asked Questions
### How quickly can real-time monitoring detect performance changes?
Real-time monitoring typically detects performance changes within seconds to minutes of occurrence. The Linkbreakers platform provides immediate visibility into scan activity and performance shifts without delays that might affect optimization opportunities.
### What types of alerts should businesses set up for QR code monitoring?
Set up alerts for scan rate changes, conversion rate variations, technical issues, geographic anomalies, and high-value visitor engagement. Focus on alerts that enable actionable responses rather than information-only notifications that create alert fatigue.
### Can real-time monitoring handle high-traffic events or viral campaigns?
Professional monitoring platforms include auto-scaling capabilities that maintain performance during traffic spikes. Load balancing and distributed infrastructure ensure reliable monitoring regardless of engagement volume or viral campaign success.
### How do I prevent alert fatigue while maintaining comprehensive monitoring?
Use intelligent alert thresholds, prioritization systems, and escalation workflows that focus attention on genuinely important changes. Configure alerts based on business impact rather than technical metrics to ensure notifications warrant attention.
### What business systems should integrate with real-time QR code monitoring?
Integrate with CRM systems for immediate prospect updates, marketing automation platforms for triggered workflows, customer support systems for issue alerts, and business intelligence tools for strategic oversight and reporting.
### How do I ensure real-time monitoring complies with privacy regulations?
Implement consent management, data retention policies, and anonymization processes within monitoring systems. Ensure monitoring respects privacy preferences while providing valuable business intelligence for optimization and customer service.
### What's the ROI of implementing real-time QR code monitoring?
Real-time monitoring ROI comes from faster optimization responses, immediate customer service improvements, reduced campaign waste, and enhanced conversion rates. Most businesses see 15-30% improvement in QR code campaign effectiveness with real-time monitoring.
### Can real-time monitoring identify technical problems automatically?
Yes, monitoring systems can detect slow loading pages, broken links, mobile compatibility issues, and other technical problems that affect visitor experiences. Automated technical monitoring enables rapid response to issues that impact conversion rates.
### How do I scale real-time monitoring across multiple QR code campaigns?
Use [systematic campaign organization](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns), automated monitoring setup, and centralized dashboard management. Scalable monitoring infrastructure supports growth without increasing management complexity or response time requirements.
### What training do teams need for effective real-time monitoring?
Teams need training on dashboard navigation, alert interpretation, response procedures, and escalation protocols. Focus on decision-making frameworks and response priorities rather than technical system operation for most team members.
## Building responsive QR code marketing systems
Real-time monitoring transforms QR code campaigns from static marketing tools into dynamic, responsive systems that adapt immediately to performance changes and customer behavior patterns. Organizations that implement comprehensive real-time monitoring gain competitive advantages through immediate optimization and enhanced customer engagement.
The integration of real-time monitoring with automated response systems creates intelligent marketing infrastructure that responds to opportunities faster than manual processes allow. This automation enables scalable customer engagement while maintaining personalization and responsiveness.
Modern businesses recognize real-time monitoring as essential infrastructure for customer-centric marketing that responds immediately to engagement opportunities and optimization needs. The ability to monitor, analyze, and respond in real-time provides strategic advantages in increasingly competitive markets.
Success in real-time QR code monitoring comes from focusing on actionable insights rather than comprehensive data collection. Strategic monitoring systems provide the foundation for responsive marketing that enhances customer experiences while driving measurable business outcomes.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to improve engagement rates with QR codes
Source: https://linkbreakers.com/help/article/how-to-improve-engagement-rates-with-qr-codes
## Short answer
This article explains how to improve engagement rates with qr codes with practical guidance, limits, and implementation details so you can apply it consistently.
Improving QR code engagement rates requires a strategic approach that optimizes visual design, placement strategy, value proposition clarity, and post-scan user experience. The most effective strategies focus on removing friction from the scanning process while clearly communicating the value visitors will receive. High-performing QR codes combine compelling calls-to-action with seamless mobile experiences that deliver immediate value to engaged users.
## Design optimization for maximum scannability
### Visual design best practices
High contrast between the QR code pattern and background ensures reliable scanning across various lighting conditions and viewing distances. Black codes on white backgrounds provide optimal scannability, while colored designs require careful contrast testing to maintain functionality.
Appropriate sizing balances visual prominence with scanning reliability. QR codes must be large enough for scanning at intended viewing distances while fitting harmoniously within overall design layouts. Business cards need 1-inch codes minimum, while billboards require much larger dimensions.
Error correction level optimization enables codes to remain scannable even when partially obscured or damaged. Higher error correction provides reliability but creates denser patterns that require larger sizes for consistent scanning success.
Brand integration capabilities allow incorporation of logos, colors, and visual elements that reinforce brand identity while maintaining scanning functionality. Professional brand integration increases trust and recognition compared to generic black-and-white codes.
Clear visual hierarchy guides viewer attention to QR codes through strategic placement, sizing, and surrounding design elements. Effective hierarchy ensures codes are noticed and understood within busy visual environments.
### Call-to-action optimization
Value proposition clarity explains exactly what visitors will receive in exchange for scanning. Clear benefit communication increases engagement rates by removing uncertainty about what happens after scanning.
Action-oriented language encourages immediate scanning through compelling, specific instructions. "Scan for 20% discount" outperforms generic "Scan here" because it communicates clear, immediate value.
Urgency elements create motivation for immediate action rather than delayed consideration. Limited-time offers, exclusive access, or quantity limitations encourage scanning while opportunity exists.
Trust indicators build confidence in scanning safety and value delivery. Brand logos, security badges, or testimonials help overcome scanning hesitation, particularly for unfamiliar brands or public placements.
Contextual relevance ensures call-to-action messaging aligns with placement environment and audience expectations. Restaurant codes should promise menu access or special offers, while business cards should offer professional information or networking value.
### Technical optimization factors
Mobile-optimized destinations ensure seamless experiences on smartphones since QR codes primarily represent mobile interactions. Poor mobile optimization significantly reduces engagement regardless of scan success rates.
Fast loading speeds prevent visitor abandonment during the transition from scan to content. Page loading delays create friction that reduces engagement and conversion rates, particularly for users on cellular networks.
Error-free functionality ensures scanning leads to intended destinations without broken links or technical issues. Regular testing across different devices and browsers prevents technical problems that damage engagement rates.
SSL security certificates build trust and ensure safe data transmission for visitors who scan codes. Security indicators help overcome scanning hesitation while protecting visitor information and business reputation.
Cross-device compatibility ensures QR code destinations work consistently across different smartphone brands, operating systems, and browser versions. Compatibility issues can significantly impact engagement rates for certain audience segments.
## Strategic placement and context optimization
### Location and visibility strategies
High-traffic positioning places QR codes where target audiences naturally look and have time to scan. Strategic placement considers sight lines, lighting conditions, and audience flow patterns for maximum exposure and engagement opportunity.
Contextual relevance improves engagement when codes appear in logical locations where audiences expect additional information or engagement opportunities. Natural placement feels intuitive rather than intrusive, encouraging voluntary engagement.
Accessibility considerations ensure QR codes can be scanned by people with different physical abilities and device types. Appropriate height placement, viewing angles, and surrounding space affect accessibility and overall engagement rates.
Environmental durability maintains scannability throughout campaign periods despite weather, wear, or other environmental factors. Durable materials and protective measures ensure consistent performance that supports sustained engagement.
Timing optimization considers when target audiences are most receptive to engagement based on location context and daily patterns. Peak traffic times might provide exposure while strategic timing can influence behavior and increase engagement likelihood.
### Audience-specific placement strategies
B2B environments require professional presentation and clear value propositions that align with business contexts. QR codes in professional settings must communicate business value and maintain appropriate professional appearance.
Consumer retail placements benefit from prominent positioning and immediate value offers that encourage spontaneous engagement. Retail codes should provide product information, promotions, or enhanced shopping experiences.
Event marketing placements capitalize on engaged audiences and social environments where QR code usage feels natural. Event contexts often generate higher engagement rates due to audience expectations and social proof.
Transportation and transit placements reach captive audiences with time to engage while waiting or traveling. Transit codes should provide entertainment, information, or time-saving value that aligns with travel context.
Outdoor advertising requires larger sizes and weather-resistant materials while competing for attention in busy environments. Outdoor codes need compelling value propositions and prominent positioning to overcome environmental distractions.
### Multi-channel integration approaches
Cross-channel consistency ensures QR codes work harmoniously with other marketing messages and don't conflict with simultaneous campaigns. Integrated campaigns provide multiple engagement paths while maintaining clear messaging.
Digital integration connects QR codes with online marketing efforts through coordinated messaging and attribution tracking. Cross-channel attribution helps demonstrate comprehensive campaign value and optimization opportunities.
Social media amplification encourages sharing and viral distribution of QR code content. Social integration can multiply engagement beyond direct scanning through secondary sharing and word-of-mouth promotion.
Email marketing coordination uses QR codes to bridge digital and physical touchpoints while maintaining attribution for multi-touch customer journeys. Email integration provides context and preparation for physical world engagement.
Content marketing alignment ensures QR codes provide access to valuable information that complements broader content strategies. Content integration provides substance behind engagement while supporting overall marketing objectives.
## Value proposition and incentive strategies
Industry research shows that [exclusive content or information drives 39% of QR code scans](https://qrcodekit.com/guides/qr-code-marketing-statistics/), making it the leading consumer motivation, followed by discounts or promotional offers at 33%. Understanding these motivations helps craft compelling value propositions that align with proven engagement drivers.
### Immediate value delivery
Exclusive content access provides immediate gratification for scanning while building perception of insider access. Premium content, early access, or behind-the-scenes information creates engagement motivation.
Promotional offers deliver tangible financial value that justifies scanning effort and time investment. Discounts, special pricing, or bonus offers provide clear, measurable value exchange for engagement.
Convenience enhancement saves time or effort for target audiences through streamlined access to information or services. Menu access, contact sharing, or appointment scheduling provides functional value that improves customer experience.
Entertainment value engages audiences through interactive content, games, or social experiences. Entertainment-focused codes often generate higher engagement in consumer contexts where fun and exploration are valued.
Educational information provides valuable knowledge or insights that help audiences accomplish goals or solve problems. Educational value works particularly well for B2B audiences and complex product categories.
### Progressive engagement strategies
Tiered value delivery starts with immediate gratification and builds toward deeper engagement over time. Progressive value structures encourage initial scanning while developing ongoing relationships through continued interaction.
Loyalty program integration rewards repeat engagement while building long-term customer relationships. Loyalty systems provide motivation for continued interaction beyond initial scanning curiosity.
Community access connects scanners with like-minded individuals or exclusive groups. Community value appeals to social motivations and can generate sustained engagement through ongoing participation.
Personalization opportunities deliver customized experiences based on scanning behavior and preferences. Personalized value increases relevance while demonstrating attention to individual customer needs and interests.
Relationship development focuses on building connections rather than immediate transactions. Relationship-oriented codes often generate higher lifetime value despite potentially lower immediate conversion rates.
### Context-sensitive value propositions
Location-specific offers provide value that's relevant to scanning context and immediate surroundings. Local promotions, venue information, or area-specific content increases relevance and engagement likelihood.
Time-sensitive opportunities create urgency that encourages immediate action rather than delayed consideration. Limited-time offers or event-specific content motivates scanning while opportunity exists.
Audience-specific messaging tailors value propositions to target demographic characteristics and likely interests. Customized messaging increases relevance and engagement for specific audience segments.
Seasonal relevance aligns value propositions with current events, holidays, or seasonal interests. Timely content feels more relevant and engaging compared to generic offers that lack temporal context.
Problem-solving value addresses specific challenges or needs that target audiences experience. Solution-oriented codes often generate high engagement when value clearly addresses audience pain points.
## Post-scan experience optimization
### Mobile user experience design
Responsive design ensures optimal viewing and interaction across different device sizes and capabilities. Mobile-first design principles prioritize smartphone usability since QR codes primarily represent mobile interactions.
Touch-friendly interfaces accommodate finger navigation rather than precise cursor control. Large buttons, clear navigation, and touch-optimized layouts improve usability and reduce abandonment rates.
Simplified navigation minimizes complexity and reduces cognitive load for visitors transitioning from physical to digital experiences. Streamlined pathways help visitors accomplish goals without confusion or frustration.
Fast loading optimization prioritizes speed over visual complexity to prevent abandonment during the critical transition period. Performance optimization is particularly important for cellular network connections.
Clear goal completion pathways guide visitors toward desired actions without confusion about next steps. Obvious conversion workflows increase completion rates and business value from engagement.
### Content strategy and information architecture
Immediate value delivery provides promised benefits quickly after scanning to maintain engagement momentum. Delayed gratification can lead to abandonment before value is realized.
Scannable content format uses headlines, bullet points, and visual elements that enable quick information consumption. Dense text blocks discourage mobile reading and reduce engagement quality.
Progressive disclosure reveals information gradually to prevent overwhelming visitors while enabling deeper exploration for interested users. Layered information architecture accommodates different engagement levels.
Visual storytelling uses images, videos, and graphics to communicate value quickly and effectively. Visual content often engages mobile users more effectively than text-heavy approaches.
Clear conversion opportunities present obvious next steps for visitors who want to continue engagement or relationship development. Prominent calls-to-action help capitalize on engagement momentum.
### Conversion optimization techniques
Form simplification reduces abandonment by minimizing information requests and optimizing for mobile completion. Essential information only approaches increase completion rates while gathering necessary business data.
Social proof integration builds trust and encourages action through testimonials, reviews, or usage statistics. Social validation helps overcome conversion hesitation and builds confidence in business relationships.
Security assurance communicates data protection and transaction safety to build trust for information sharing or purchases. Security indicators help overcome common concerns about digital engagement safety.
Instant gratification provides immediate confirmation or reward for conversion actions. Quick acknowledgment maintains positive momentum and reinforces the value of engagement.
Follow-up automation ensures continued relationship development through appropriate communication that maintains engagement beyond initial interaction. Automated follow-up prevents missed opportunities while respecting visitor preferences.
:::register-linkbreakers-banner {"eyebrow":"Try Linkbreakers","headline":"Optimize QR code engagement with real-time insights","description":"Linkbreakers provides analytics-driven optimization tools to maximize engagement rates through intelligent design, placement insights, and conversion tracking.","ctaHref":"https://app.linkbreakers.com/workspace/sign-up/wizard?ref=help-dashboard-engagement"}:::
## Linkbreakers engagement optimization features
### Design and customization tools
The [Linkbreakers platform](https://app.linkbreakers.com/workspace/dashboard/links) provides professional design tools that optimize QR codes for maximum engagement while maintaining brand consistency. Advanced customization options enable visual optimization without compromising scanning functionality.
Brand integration capabilities allow seamless incorporation of company colors, logos, and visual elements that build trust and recognition. Professional brand integration often increases engagement rates compared to generic code designs.
A/B testing infrastructure enables systematic optimization of design elements, calls-to-action, and value propositions. Built-in testing capabilities help identify highest-performing approaches without external tool requirements.
Template libraries provide proven design approaches for different industries and use cases. Professional templates accelerate campaign deployment while ensuring optimal engagement practices.
Size optimization guidance ensures QR codes maintain scannability across different viewing distances and placement scenarios. Automated sizing recommendations prevent engagement issues from technical scanning problems.
### Analytics and optimization insights
[Engagement tracking](https://app.linkbreakers.com/workspace/dashboard/visitors) provides detailed insights into scan rates, conversion patterns, and user behavior that inform optimization strategies. Comprehensive analytics reveal what works and what needs improvement.
Performance benchmarking compares engagement rates against industry standards and historical performance to identify optimization opportunities. Benchmarking helps set realistic improvement goals and measure progress.
Geographic analysis reveals which locations generate the highest engagement rates and conversion quality. Location insights help optimize placement strategies and budget allocation for maximum effectiveness.
Device analytics show how audience technology preferences affect engagement patterns and conversion outcomes. Device insights help prioritize technical optimization efforts for maximum impact.
Behavioral segmentation identifies which visitor types generate the most value and respond best to different optimization strategies. Segmentation enables targeted optimization that improves overall campaign effectiveness.
### Integration and automation capabilities
[CRM integration](https://linkbreakers.com/help/api) ensures engagement data enhances customer relationship management and enables follow-up optimization. Integration provides comprehensive customer understanding that improves relationship development.
[Marketing automation connectivity](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enables QR code engagement to trigger sophisticated workflows and personalization strategies. Automation ensures no engagement opportunity is missed while scaling personalized experiences.
UTM parameter integration maintains proper attribution throughout visitor journeys for accurate engagement measurement in all analytics platforms. Attribution continuity enables comprehensive optimization across all measurement systems.
Custom event tracking measures specific engagement outcomes that align with business objectives rather than generic metrics. Custom tracking ensures optimization focuses on activities that drive actual business value.
## Examples that improve scans
- **Menus**: Add “View today’s specials” as the CTA instead of just “Scan me.”
- **Events**: Place codes at eye level near registration, not on the floor.
- **Packaging**: Offer a quick start guide or warranty registration right after the scan.
## Frequently Asked Questions
### What's the most effective way to increase QR code scan rates?
Focus on clear value propositions, optimal placement, and professional design. Communicate exactly what visitors will receive, place codes where your audience naturally looks, and ensure high contrast for reliable scanning. Value clarity typically has the biggest impact on engagement rates.
### How do I optimize QR codes for different age demographics?
Younger audiences often respond to interactive content and social experiences, while older demographics prefer clear, functional value. Adjust messaging, design complexity, and post-scan experiences based on your target audience's preferences and technology comfort levels.
### What's the ideal size for QR codes in different contexts?
Business cards need minimum 1-inch codes, posters require 2-3 inch codes, and billboards need 12+ inch codes. The key is ensuring codes can be clearly seen and scanned from the intended viewing distance while maintaining appropriate visual proportion.
### How do I improve conversion rates after scanning?
Optimize mobile user experience, deliver promised value immediately, simplify conversion workflows, and provide clear next steps. Most conversion issues occur after scanning rather than with the QR code itself, so focus on post-scan experience optimization.
### What incentives work best for QR code engagement?
Immediate value like discounts, exclusive content, or convenience enhancement typically generate the highest engagement. Time-sensitive offers create urgency while exclusive access builds perceived value. Match incentives to your audience's primary motivations.
### How do I measure QR code engagement success?
Track scan rates, conversion rates, and business outcomes rather than just scan volume. Focus on metrics that connect to actual business value like lead generation, sales, or customer acquisition. Quality engagement matters more than quantity.
### What placement strategies generate the highest engagement?
High-visibility locations where your audience naturally looks and has time to scan work best. Context matters - restaurant codes should be near seating areas, retail codes near products, and event codes at registration or networking areas.
### How do I optimize QR codes for outdoor environments?
Use larger sizes, high contrast colors, weather-resistant materials, and protective placement. Test scannability under actual environmental conditions including different lighting and weather. Ensure codes remain readable despite environmental challenges.
### What technical factors affect QR code engagement rates?
Fast-loading mobile-optimized destinations, reliable scanning functionality, and cross-device compatibility are crucial. Technical problems can eliminate engagement regardless of good design and placement. Regular testing prevents technical issues.
### How do I create urgency without appearing pushy?
Use genuine time limitations, exclusive access offers, or limited quantity promotions. Authentic urgency based on real constraints feels natural while artificial pressure can damage trust. Focus on opportunity rather than pressure.
## Building sustainable QR code engagement strategies
Improving QR code engagement rates requires systematic optimization across design, placement, value proposition, and user experience elements. Organizations that focus on delivering genuine value while removing friction from the engagement process achieve the highest sustainable engagement rates.
The most successful QR code campaigns balance immediate gratification with long-term relationship development. This approach generates not just higher scan rates, but more valuable customer relationships that contribute to business growth over time.
Modern businesses recognize engagement optimization as an ongoing process rather than a one-time setup. Continuous testing, analysis, and refinement based on actual performance data enables sustained improvement and competitive advantage.
Success in QR code engagement comes from understanding your audience deeply and optimizing every touchpoint in their journey from initial exposure through conversion and beyond. Strategic engagement optimization provides the foundation for customer acquisition and relationship development that drives measurable business outcomes.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to measure QR code funnel performance and ROI
Source: https://linkbreakers.com/help/article/how-to-measure-qr-code-funnel-performance-and-roi
## Short answer
This article explains how to measure QR code funnel performance and ROI with practical guidance, limits, and implementation details so you can apply it consistently.
A QR code scan is just the start. What matters is what happens next: how many visitors complete the journey, where they drop off, and what business value each conversion generates. Linkbreakers gives you the event data and visitor profiles to answer all of these questions.
## Quick summary
- **Measure completion rate** at each step to identify where visitors abandon the journey
- **Calculate conversion rate** from scan to desired business outcome (lead, purchase, sign-up)
- **Use the visitor journey** and visitor attributes to judge quality of conversions, not just quantity
- **Connect UTM parameters** to attribute QR conversions to specific campaigns
- **Export raw events** for deeper analysis in your BI tool or spreadsheet
## The QR funnel: what to measure at each stage
Every QR code journey has distinct stages, each with a measurable drop-off. Map your journey to this framework before you start tracking.
| Stage | What happens | Key metric |
|---|---|---|
| Impression | Someone sees the QR code | Not measurable in Linkbreakers |
| Scan | Visitor scans the QR code | Total scans (events) |
| Step completion | Visitor completes a workflow step (form, condition, etc.) | Step completion rate |
| Destination click | Visitor reaches the final URL | Destination load rate |
| Conversion | Visitor completes your business goal | Conversion rate |
The gap between scans and conversions is your funnel. Each step where visitors drop off is an optimization opportunity.
## Tracking scans and events in Linkbreakers
Every scan of your QR code creates an [event](https://linkbreakers.com/help/article/what-is-an-event-in-linkbreakers) in Linkbreakers. Events capture:
- Timestamp, entry URL, and destination URL
- Device type, OS, browser, and screen resolution
- Approximate location (country, city from IP)
- Visitor ID (new vs. returning device)
- Workflow step triggered
Access events in real time from [your dashboard](https://app.linkbreakers.com/workspace/dashboard/live) or export them via the [Analytics API](https://linkbreakers.com/help/api/analytics).
## Calculating step-by-step drop-off
For multi-step journeys, calculate completion rate at each step:
```
Step completion rate = visitors who completed step N / visitors who reached step N
```
| Example journey | Visitors reached | Visitors completed | Completion rate |
|---|---|---|---|
| Step 1: Scan (entry) | 1,000 | 1,000 | 100% (baseline) |
| Step 2: Form shown | 1,000 | 620 | 62% |
| Step 3: Destination loaded | 620 | 580 | 94% |
| Step 4: Goal conversion | 580 | 87 | 15% |
In this example, the form is the biggest drop-off point. Reducing form friction (fewer fields, clearer value proposition) will have the largest impact on overall funnel performance.
### How to find drop-off in Linkbreakers
Form submissions generate events with the action `form_submit`. Count form submit events vs. total scans on the same link to calculate form completion rate. Export the event stream via API or your analytics integration to do this calculation.
## Measuring lead quality, not just quantity
Scan volume is a vanity metric if the visitors don't match your ideal customer profile. Put your qualifying questions in the link's workflow steps, then read the [visitor journey](https://linkbreakers.com/help/article/what-is-a-visitor-journey) of each visit: how many steps the visitor reached, how many were on their path, and whether they reached the end.
| Journey | Quality signal | Recommended use |
|---|---|---|
| No steps recorded | Scan only | Nurture with content, don't prioritize |
| Stopped at an early step | Moderate interest | Standard follow-up sequence |
| Stopped close to the end | High engagement | Priority follow-up, targeted offer |
| Reached the end | Went through every step on their path | Immediate sales contact |
The journey appears in the "Journey" column of the [Live view](https://app.linkbreakers.com/workspace/dashboard/live) and in event CSV exports (`journey_steps_reached`, `journey_steps_total`, `journey_completed`, `journey_progress`).
### Combining volume and quality metrics
| Metric | Formula | What it tells you |
|---|---|---|
| Qualified scan rate | Scans that reached the end / total scans | What % of your audience is high-quality |
| Cost per qualified lead | Campaign spend / leads that reached the end | True acquisition cost for good leads |
| Progress-weighted conversion rate | (Journey progress × conversion) / total | Adjusts conversion rate for lead value |
## Using UTM parameters for campaign attribution
QR codes drive offline-to-online traffic. Without attribution, you can't tie a scan to the campaign that drove it. Use [UTM parameters](https://linkbreakers.com/help/article/what-is-a-utm-builder-in-linkbreakers) in your destination URLs to attribute correctly in Google Analytics or your analytics platform.
| UTM parameter | What to set | Example |
|---|---|---|
| `utm_source` | Where the QR code is placed | `packaging`, `poster`, `event-badge` |
| `utm_medium` | The channel type | `qr-code` |
| `utm_campaign` | The campaign name | `launch-q1-2026` |
| `utm_content` | Variant (A/B test) | `version-a`, `store-nyc` |
Example destination URL with UTMs:
```
https://yoursite.com/landing?utm_source=packaging&utm_medium=qr-code&utm_campaign=launch-q1-2026
```
This lets you see QR-driven conversions alongside all other channels in your GA4 or BI dashboard. See [how to track where your leads are coming from](https://linkbreakers.com/help/article/how-do-i-track-where-my-leads-are-coming-from) for a broader tracking setup.
## Calculating QR code ROI
ROI requires knowing both the value generated and the cost. Here's a simple framework:
### Step 1: Define conversion value
| Conversion type | How to value it |
|---|---|
| Lead captured | Average lead value from CRM conversion history |
| Sale completed | Average order value |
| App install | LTV estimate minus acquisition cost |
| Event registration | Ticket price or meeting value |
### Step 2: Count conversions attributable to QR
Count form submissions and downstream conversions tagged with your QR UTMs over the measurement period.
### Step 3: Calculate
```
ROI = (Revenue from QR conversions - Cost of QR campaign) / Cost of QR campaign × 100
```
| Input | Example value |
|---|---|
| QR leads captured | 340 |
| Lead-to-customer rate | 12% |
| Customers from QR | 41 |
| Average customer value | $480 |
| Revenue from QR | $19,680 |
| Campaign cost (print + setup) | $2,400 |
| ROI | **720%** |
## Reading the analytics dashboard
### Key views in Linkbreakers
| View | Where to find it | What to use it for |
|---|---|---|
| Live scans | [Dashboard → Live](https://app.linkbreakers.com/workspace/dashboard/live) | Real-time scan monitoring during events or launches |
| Link analytics | [Dashboard → Links](https://app.linkbreakers.com/workspace/dashboard/links) | Scans, unique visitors, destinations per link |
| Visitor profiles | [Dashboard → Visitors](https://app.linkbreakers.com/workspace/dashboard/visitors) | Per-visitor history and attributes |
| Event stream | Analytics API | Raw events for external analysis |
### Metrics to watch per link
| Metric | Definition | Benchmark |
|---|---|---|
| Total scans | All scan events | Baseline — depends on distribution |
| Unique visitors | Distinct device fingerprints | Compare to total scans for repeat rate |
| Form completion rate | Form submits / total scans | 40–70% is healthy for short forms |
| Rescan rate | Returning visitors / total visitors | Above 20% signals strong re-engagement |
| Top countries | Scans by country | Inform geo-targeting priorities |
| Top devices | iOS vs. Android vs. desktop | Guide mobile UX priorities |
## Connecting QR data to your BI stack
For advanced funnel analysis, connect Linkbreakers data to your existing analytics infrastructure. See [real-time analytics: from QR scan to business intelligence](https://linkbreakers.com/help/article/real-time-analytics-from-qr-scan-to-business-intelligence) for setup guides covering Tableau, Power BI, and custom dashboards.
| Integration option | Best for |
|---|---|
| [Webhooks](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) | Real-time event forwarding to CRM or Slack |
| [Analytics API](https://linkbreakers.com/help/api/analytics) | Pulling historical data for BI dashboards |
| UTM parameters | Merging QR traffic with GA4 or Mixpanel |
| [Zapier](https://linkbreakers.com/help/article/automate-your-lead-generation-with-qr-codes-zapier) | Sending leads to email sequences or sheets |
## Frequently asked questions
### How do I know which step in a multi-step journey is causing drop-off?
Each form submission and workflow interaction generates a distinct event type. Export events via the API and group by event type and link ID. The step with the largest gap between "step shown" and "step completed" events is your biggest drop-off point.
### Can I track conversions that happen after the visitor leaves Linkbreakers?
Downstream conversions (purchases, sign-ups on your own site) require UTM attribution. Tag your QR destinations with UTMs, then track goal completions in your website analytics tool. Linkbreakers measures the journey up to the destination redirect.
### How do I compare performance across multiple QR codes in one campaign?
Use consistent UTM naming across all links in the campaign and analyze the combined `utm_campaign` data in GA4. Inside Linkbreakers, use [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) to group related links and compare scan volumes side by side.
### Is there a way to track offline sales back to a QR code scan?
Yes, through form-captured identifiers. If a visitor scans your QR code and submits a form with their email, then later purchases in-store, you can match the email in your CRM to attribute the sale. This requires a CRM integration via webhook or Zapier.
### What's a good conversion rate for a QR code campaign?
It varies widely by industry and journey length. As a rough benchmark: a single-step redirect (scan → destination) has near-100% completion. Add a form and expect 40–70% completion. A 3-step journey might see 25–50% end-to-end. Lead-to-customer conversion downstream depends on your sales process.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to build a report that proves your campaign worked
Source: https://linkbreakers.com/help/article/how-to-build-a-report-that-proves-your-campaign-worked
:::try-ai-prompt {"prompt":"Build me a dashboard for this campaign showing scans per day, peak scan times, location breakdown and device mix, so I can show my manager what the poster achieved.","target":"assistant","description":"Ask the workspace assistant to build the campaign report for you."}:::
## Short answer
Describe the report you need and the workspace assistant builds it. It can read your links and their workflows, propose the widgets that fit what you actually ran, and assemble the dashboard. You do not have to know which chart types exist or configure them one at a time.
## Why this uses the workspace assistant
Most prompts in this help center open the link builder, which creates one link. A report is not a link — it spans the links you already have. The workspace assistant is the one that reaches across them: it can list your links, read their workflow steps, query scan data, and build dashboards.
That is why the button above opens the **Assistant** section rather than the link builder. If you paste this prompt into the link builder it will try to build you a link.
## What makes a report convincing
A manager asking "did the poster work" is asking three questions. Answer them in this order:
| Question | Widget | What it settles |
|---|---|---|
| Did anyone engage? | Scans over time | The volume, and whether it was real |
| When? | Peak scan times | Whether it tracks the campaign, not background noise |
| Who and where? | Location and device breakdown | Whether it reached the intended audience |
The timing chart usually does the most work. A flat line with a spike on the days the posters went up is a much stronger argument than a total, because it rules out the obvious objection that the scans would have happened anyway.
### Say what you compare against
A number alone is not evidence. "412 scans" means nothing until it sits next to something: the fortnight before the campaign, another city, last year's event. Ask the assistant for the period before as well as during, and the report answers the follow-up question before it is asked.
## Step-by-step
1. Open the **Assistant** section, or use the button above.
2. Describe the campaign and what you need to show. Name the link if you have several.
3. Review what it proposes. It suggests widgets based on the steps your workflow actually contains — a form gets completion rates, a plain redirect does not.
4. Adjust in plain language: *"add a comparison with the two weeks before"*, *"use eastern US time"*, *"drop the device chart."*
5. Share the dashboard, or export the figures for a slide.
## Limits and caveats
- The report shows what was measured. If the campaign ran without a tracked link, there is no data to recover afterwards.
- Scans are evidence of engagement, not of revenue. Connecting them to sales means comparing timing with your own order data, or putting a form in the workflow so the outcome is captured directly.
- Location is city-level and derived from the network. It is good for "which region", not "which street".
- A visitor who scans twice is two scans. Use the new-versus-returning split before quoting a figure as people reached.
- The assistant builds from the data in your workspace. It cannot pull in spend, impressions or figures from other tools, so cost-per-scan is a calculation you do yourself.
## Frequently asked questions
### Can it build a dashboard covering several links at once?
Yes. Ask for the campaign rather than the link, and it can span the links involved. Tagging them beforehand makes this reliable.
### Can I change the timezone and date format?
Yes. Ask for the timezone you report in. Dashboards default to the workspace setting, which is often not the one your manager reads.
### What if I did not tag the campaign before it ran?
You can still build the report from the links themselves, selecting them by name or by date range. Tagging just makes it easier next time.
### Can I get this as a slide or a PDF?
Export the underlying figures and put them in your own deck. The dashboard itself is a live view rather than a document.
### How far back does the data go?
As far back as the link has existed. Scans are recorded from the moment a link is created, so a report can cover any period since then.
---
# How to expire a QR code in Linkbreakers
Source: https://linkbreakers.com/help/article/how-to-expire-a-qr-code-in-linkbreakers
## Short answer
Every QR code and link can carry an optional expiration date. Set one and the QR code stops working at that moment. Visitors are sent to a destination you choose, or shown an expired page if you did not pick one.
Expiration is off by default. A QR code with no expiration date keeps working forever, which is the right answer for most of them.
:::try-ai-prompt {"prompt":"Create a QR code for our summer sale landing page that stops working on the 31st of August and sends anyone who scans it after that to our homepage.","description":"Try building a QR code that expires on its own with the AI builder."}:::
## Quick summary
- Expiration is optional and off by default
- Set it when creating a QR code, or across a whole batch in bulk insert
- Pick where visitors go afterwards, or let them see an expired page
- The date must be in the future
- **When it expires, the QR code and its analytics are deleted and the shortlink becomes available again**
- The AI assistant can set and remove expirations for you
## When you would want this
Expiration is worth using when a QR code is tied to something that genuinely ends:
- A promotion or discount that should stop being redeemable the moment it closes
- Event materials, badges, and signage that should not keep sending people to last year's schedule
- A time-limited download, an internal document, or a link shared for a fixed window
- Printed materials that will outlive the campaign on them, where a dead link is better than a wrong one
If you only want a QR code to *change* where it points rather than stop working, you do not want expiration. Edit its destination, or use a [scheduler condition](/help/workflow/how-to-use-scheduler-conditions) to route by date. The QR code itself stays alive in both cases.
## Setting an expiration date
### On a new QR code
In the creation wizard, on the Customize step, find the **Expiration** section under Organize and click **Set an expiration date**.
Pick the day, and adjust the time if the exact hour matters. New dates default to 23:59 on the day you pick, because "expires on the 31st" almost always means through the end of the 31st rather than the moment it begins. The time shown is your own local time, so what you see is when it will expire for you.
Optionally fill in **Send visitors to**. This is where anyone who scans the QR code after it expires ends up. Leave it empty and they get an expired page instead.
### Across a whole batch
In [bulk insert](/help/dashboard/how-to-bulk-create-qr-codes-in-linkbreakers), click **Add expiration** above the table. That reveals an expiration column, plus a bar at the top that applies one date to every row at once, which is usually what you want when the whole batch belongs to one campaign. You can still adjust individual rows afterwards.
If you are importing a CSV, the last two columns are the expiration date and the expired destination. Leave them blank for QR codes that never expire.
### With the AI assistant
Ask for it in plain language: *"make this QR code stop working after the 15th of September and send people to our homepage afterwards"*.
The assistant never adds an expiration date on its own initiative. It only sets one when you ask for it, and it will tell you what expiring does before it commits.
## What visitors see
Once the date passes, anyone scanning the QR code gets one of two things:
- **The destination you chose**, if you set one. This is the better option for printed material still in circulation, because it puts your visitor somewhere useful instead of at a dead end.
- **An expired page**, if you did not. It says the link has expired and nothing more.
Either way the original destination is unreachable. There is no window where the QR code half works.
## What happens to the QR code itself
This is the part worth reading twice.
Expiring is not archiving. When the date passes, the QR code is removed from your workspace, and everything belonging to it goes too:
- Its scan history and analytics
- Its workflow, including every step you built
- Its tags and its per-link dashboard
- Its QR code image
Its shortlink also becomes available again, so a new QR code can use it later.
This is deliberate. An expired QR code is finished, not paused. If you want the campaign's numbers, export or read them before the expiration date passes.
## Changing your mind
You can change or remove an expiration date at any point **before** it passes. Ask the assistant to remove it, or update the QR code through the API. The QR code carries on as if the date had never been set.
Once the date has passed, the QR code is gone and cannot be brought back. That is why expiration dates must be in the future when you set them: a date in the past would delete a QR code through what looks like an ordinary edit, so Linkbreakers rejects it.
## Frequently asked questions
### Does an expired QR code keep counting scans?
No. Scans after the expiration date are not tracked, and the scans it collected before then are removed with the QR code.
### Can I reuse the shortlink afterwards?
Yes. Once a QR code expires its shortlink goes back into circulation and a new QR code can claim it. Be careful with this if the old QR code is printed on something still in the wild: whoever scans that printed code will reach whatever now sits on that shortlink.
### What is the difference between expiring and deleting?
The outcome is the same, the timing is not. Deleting happens when you click delete. Expiring happens on its own at a moment you chose in advance, and lets you leave visitors a destination instead of nothing.
### Can I set a QR code to expire after a number of scans?
Not today. Expiration is by date and time only. If scan-based expiry is something you need, tell us.
### Does an expired QR code still count towards my plan limits?
No. It no longer exists in your workspace, so it does not count against your QR code allowance. The credits spent creating it are not refunded.
### What timezone is the date in?
The date is stored as an exact moment, and the picker shows it in your browser's local time. That is worth knowing if your team is spread across timezones: someone in another country setting "the 31st at 23:59" is choosing a different instant than you would. If the precise hour matters, agree on it explicitly.
---
# How to manage your links in Linkbreakers
Source: https://linkbreakers.com/help/article/how-to-manage-your-links-in-linkbreakers
Links are the core object in Linkbreakers. Everything else attaches to a link: the QR code, the workflow, the analytics, the visitors. The **Links** page in the dashboard is where you create them and keep them organised.
## Short answer
Open **Configure → Links** in the dashboard sidebar. Every link you have ever created is listed there with its QR code, name, tags, total visits, domain and page theme. Use **Add new link** to create one, the **List / Directory** switcher to change how they are grouped, and search or tag filters to find a specific link.
## A link is not a QR code
This is the distinction that makes the page easier to read:
- A **link** is the trackable URL. It owns the destination, the [workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation), the analytics and the visitor history.
- A **QR code** is one way to hand that link to someone. It is generated from the link and can be restyled at any time without touching the link itself.
So one link can be shared as a QR code on a poster, as a short URL in an email, and as a tap target in an ad, and all three feed the same analytics. See [What's a link?](https://linkbreakers.com/help/article/whats-a-link) for the full model, and [What's a QR code design?](https://linkbreakers.com/help/article/whats-a-qr-code-design) for the visual side.
## Step-by-step
### Create a link
1. Click **Add new link** on the Links page.
2. Choose what the link should do: send visitors to a website, share a [contact card](https://linkbreakers.com/help/article/how-to-create-contact-cards-vcard-in-linkbreakers), show a [social links page](https://linkbreakers.com/help/article/how-to-create-a-social-links-page), or show a [thank you page](https://linkbreakers.com/help/article/how-to-create-a-thank-you-page).
3. Enter the destination, then pick a domain and shortlink. A [custom domain](https://linkbreakers.com/help/article/how-to-create-branded-links-in-linkbreakers) puts your own brand in the URL.
4. Optionally apply a [QR code template](https://linkbreakers.com/help/article/whats-a-qr-code-template) so the generated QR code matches your brand.
5. Name the link and add [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) so you can find it later.
### Find a link
- **List view** shows every link in one flat table, newest first. Sort by name or total visits from the column headers.
- **Directory view** groups links into [directories](https://linkbreakers.com/help/article/what-is-a-directory-in-linkbreakers), which is the better view once you run several campaigns in parallel.
- **Search** matches on the link name and the shortlink.
- **Filter by tags** narrows the list to one campaign, client or region.
### Open a link
Clicking a row opens the link's workflow canvas. From there you can change the destination, add steps such as forms, password gates or country conditions, restyle the QR code, and download it in the format you need.
### Expire a link
Links can be given an expiration date. When it passes, the link stops working and is deleted along with its analytics, so set it deliberately. Full detail in [How to expire a QR code in Linkbreakers](https://linkbreakers.com/help/article/how-to-expire-a-qr-code-in-linkbreakers).
### Create many links at once
Use **Bulk Insert Links** to paste or import a CSV of destinations and create them in one pass. The CSV columns are destination, name, domain, shortlink, template, tags, directory, expiration date and expired destination. See [How to bulk create QR codes in Linkbreakers](https://linkbreakers.com/help/article/how-to-bulk-create-qr-codes-in-linkbreakers).
## Limits and caveats
- Deleting a link deletes its events and analytics too, and any QR code already printed for it stops resolving.
- Expiration deletes the link on purpose. If you only want traffic to stop, use a scheduler condition in the workflow instead.
- Directory view requires a Pro or Enterprise plan.
- Each link created consumes platform credits, so plan limits apply. See [How do plan limits work](https://linkbreakers.com/help/article/how-do-plan-limits-work-in-linkbreakers).
## Frequently asked questions
### Where did the QR Codes page go?
It is the same page, renamed to **Links**. The page always managed links; the QR code was only one of the things attached to each of them. Nothing about your existing links, QR codes or analytics changed.
### Can I change a link's destination after printing its QR code?
Yes. The QR code encodes the short URL, not the destination, so updating the destination takes effect immediately for every QR code already in the wild.
### Can a link exist without a QR code?
Yes. Every link gets a QR code generated for convenience, but you are free to share only the short URL. Traffic is tracked identically either way.
### Can two links share one QR code design?
Yes, that is what [QR code templates](https://linkbreakers.com/help/article/whats-a-qr-code-template) are for. Apply the same template to as many links as you like.
### How do I see how a single link is performing?
Open the link and use its [per-link analytics dashboard](https://linkbreakers.com/help/article/per-link-analytics-dashboard), or look at the workspace-wide numbers under Insights → Analytics.
## Last reviewed
2026-09-20
---
# How to automate QR code campaigns with MCP
Source: https://linkbreakers.com/help/article/how-to-automate-qr-code-campaigns-with-mcp
## Short answer
You can automate QR code campaign creation, workflow configuration, and analytics retrieval by connecting an MCP-compatible AI client (Claude Code, Claude Desktop, or Continue) to the Linkbreakers MCP server. Once connected, you describe campaign operations in natural language and the AI executes them as API calls against your Linkbreakers workspace. This replaces manual dashboard navigation and custom API integration code with conversational automation.
## Quick summary
- MCP (Model Context Protocol) is an open standard that lets AI assistants call functions on external services
- The Linkbreakers MCP server is hosted at `https://mcp.linkbreakers.com` — no installation required
- Setup takes under 2 minutes: run one configuration command, sign in via OAuth
- AI can automate the full campaign lifecycle: create links, build workflows, generate QR codes, pull analytics
- Bulk operations that take hours in a dashboard can be completed in seconds through conversation
- The MCP server supports 35+ operations covering links, workflows, QR designs, analytics, domains, media, visitors, and tags
## What is MCP
The [Model Context Protocol](https://modelcontextprotocol.io) (MCP) is an open protocol developed by Anthropic that standardizes how AI assistants connect to external tools and data sources. It defines a structured way for an AI model to discover available operations on a remote service, understand their parameters, and call them during a conversation. MCP replaces the need for custom API client code — instead of writing SDK integration, you configure a connection and interact through natural language. The protocol uses HTTP and JSON, supports OAuth for authentication, and works with any service that implements an MCP server.
## Setup
### Prerequisites
Before starting, you need:
1. A Linkbreakers account with an active workspace
2. An MCP-compatible AI client
### Setup for Claude Code (one command)
Claude Code is Anthropic's command-line AI assistant. Adding the Linkbreakers MCP server takes one command:
```bash
claude mcp add --transport http linkbreakers https://mcp.linkbreakers.com
```
Restart Claude Code after running this command. On first use, Claude Code will open your browser so you can sign in to your Linkbreakers account via OAuth. After signing in, the session is authenticated automatically.
### Setup for Claude Desktop
Add the following to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"linkbreakers": {
"url": "https://mcp.linkbreakers.com"
}
}
}
```
The config file is located at:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
When you first use a Linkbreakers tool, Claude Desktop will open your browser so you can sign in to your Linkbreakers account via OAuth.
### Setup for Claude (web app)
Use the custom Connectors feature:
1. Open Claude Settings and go to **Connectors**
2. Click **Add custom connector**
3. Enter the name `linkbreakers` and server URL `https://mcp.linkbreakers.com`
4. Save and reconnect
Claude will prompt you to sign in to your Linkbreakers account via OAuth when you first use a Linkbreakers tool.
### Setup for Continue (VS Code)
Add to `~/.continue/config.yaml`:
```yaml
mcpServers:
- name: linkbreakers
transport:
type: streamable-http
url: https://mcp.linkbreakers.com
```
Continue will handle the OAuth sign-in flow when you first interact with the Linkbreakers MCP server.
### Verifying the connection
After setup, test with a simple prompt:
> "List my Linkbreakers links."
If configured correctly, the AI will call the `links_list` tool and return your workspace links. If tools do not appear, verify that you completed the OAuth sign-in flow, then restart your AI client.
## Campaign automation walkthrough
This section walks through a complete campaign lifecycle using MCP — from creating the initial link to checking performance after launch.
### Step 1: Create the campaign link
Start with a prompt that describes the campaign:
> "Create a tracked link for our Q3 product launch at https://shop.example.com/q3-launch. Use the slug 'q3-launch', name it 'Q3 Product Launch', and tag it with 'q3-campaign', 'product', and 'launch-2026'."
The AI calls `links_create` with these parameters and returns the short URL (e.g., `lbr.ai/q3-launch`), the link ID, and the creation timestamp.
### Step 2: Add workflow steps
Now build a customer journey on top of the link:
> "Add a workflow to the Q3 Product Launch link. First step: a form collecting the visitor's name, email, and company. Second step: redirect to the product page at https://shop.example.com/q3-launch/details."
The AI calls `workflow_steps_create` twice — once for the form step and once for the redirect step — then calls `workflow_steps_create_relationship` to connect them in sequence. It returns the step IDs and the workflow structure.
### Step 3: Configure conditional routing (optional)
Add geographic targeting:
> "Before the form step, add a country condition. Route visitors from the US and Canada to https://us.shop.example.com/q3-launch, and route everyone else through the form step we just created."
The AI inserts a country condition step at the beginning of the workflow and reconfigures the relationships.
### Step 4: Generate a QR code design
Customize the QR code appearance:
> "Create a QR code design for the Q3 Product Launch link with a dark blue foreground (#1a365d) and white background."
The AI calls `qrcodedesigns_create` with the color parameters and link reference.
### Step 5: Check analytics after launch
Once the campaign is live and QR codes are printed, pull performance data:
> "Show me the scan metrics for the Q3 Product Launch link. How many total scans, how many unique visitors, and what are the top countries?"
The AI calls `events_list` and `metrics_workspace` to aggregate scan data, then presents a formatted summary with totals, unique visitor counts, and geographic breakdowns.
### Step 6: Iterate based on results
Use insights to refine the campaign:
> "The US is generating the most scans. Update the default redirect destination to our US-specific landing page at https://us.shop.example.com/q3-special."
The AI calls `workflow_steps_list` to find the link's redirect step, then `workflow_steps_update` to change its destination. The destination lives on that redirect step, not on the link, which is why `links_update` cannot change it.
## Bulk operations
MCP is particularly powerful for repetitive operations. Instead of clicking through the dashboard for each item, describe the entire batch:
### Creating links in bulk
> "Create 25 tracked links for each city in our retail expansion. Here are the cities and store page URLs: [list]. Tag each link with 'retail-expansion' and the city name. Use the city name as the slug."
The AI calls `links_create_bulk` with all 25 entries, applying consistent tagging. This completes in seconds rather than the 15-20 minutes it would take through the dashboard.
### Generating contact cards for a team
> "Create contact cards for each person on this list: [names, titles, emails, phone numbers]. Each card should enable WhatsApp, include their LinkedIn URL, and use 'Save my contact' as the button label."
The AI creates individualized vCard workflow steps for each team member, each with social links and messaging integration.
### Tagging and organizing existing links
> "List all links that don't have any tags. Add the tag 'untagged-review' to each of them so we can organize them later."
The AI calls `links_list` to find untagged links, then calls `links_update` for each to add the tag.
## MCP versus traditional API integration
To understand the practical difference, compare how you would create a campaign link with a workflow using the traditional SDK approach versus MCP.
### Traditional approach (TypeScript SDK)
```typescript
import { Configuration, LinksApi, WorkflowStepsApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
const workflowApi = new WorkflowStepsApi(config);
// Step 1: Create the link
const linkResponse = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: 'https://shop.example.com/q3-launch/details',
shortlink: 'q3-launch',
name: 'Q3 Product Launch',
tags: ['q3-campaign', 'product'],
},
});
const linkId = linkResponse.link.id;
// Step 2: Find the redirect step created with the link (it holds the destination)
const { workflowSteps } = await workflowApi.workflowStepsServiceList({ linkId });
const redirectStep = workflowSteps.find(
(step) => step.eventAction === 'EVENT_ACTION_CLIENT_REDIRECT',
);
// Step 3: Insert a form step in front of the redirect, wired in one call
await workflowApi.workflowStepsServiceCreate({
linkId,
workflowStepsServiceCreateBody: {
eventAction: 'EVENT_ACTION_FORM_SUBMIT',
insertBefore: redirectStep.id,
payload: {
form: {
formFields: [
{ type: 'FORM_FIELD_TYPE_TEXT', label: 'Name', key: '$firstName', required: true },
{ type: 'FORM_FIELD_TYPE_EMAIL', label: 'Email', key: '$email', required: true },
{ type: 'FORM_FIELD_TYPE_TEXT', label: 'Company', key: 'company', required: false },
],
},
},
},
});
```
This requires 30+ lines of code, SDK installation, environment variable management, and deployment infrastructure.
### MCP approach (natural language)
> "Create a tracked link for https://shop.example.com/q3-launch with slug 'q3-launch', name 'Q3 Product Launch', and tags 'q3-campaign' and 'product'. Add a form step collecting name, email, and company, then redirect to https://shop.example.com/q3-launch/details."
One prompt. No code. No deployment. The AI chains the same API calls behind the scenes.
### When to use each
**Use the SDK when:**
- Building a production application that creates links or workflows programmatically
- Integrating QR code generation into an existing software product
- Running automated pipelines in CI/CD environments where reproducibility matters
- You need fine-grained error handling and retry logic
**Use MCP when:**
- Setting up campaigns ad hoc or on short timelines
- Prototyping workflows before committing to code
- Running one-time bulk operations
- Pulling analytics reports conversationally
- Non-technical team members need to interact with the platform programmatically
## Available MCP operations
The Linkbreakers MCP server exposes the following operations:
### Links
| Operation | Tool name | Description |
|-----------|-----------|-------------|
| Create link | `links_create` | Create a tracked short link |
| List links | `links_list` | List links with filters |
| Get link | `links_get` | Get details for a specific link |
| Update link | `links_update` | Update link settings |
| Delete link | `links_delete` | Remove a link |
| Bulk create | `links_create_bulk` | Create multiple links at once |
### Workflows
| Operation | Tool name | Description |
|-----------|-----------|-------------|
| Create step | `workflow_steps_create` | Add a workflow step to a link |
| List steps | `workflow_steps_list` | List steps for a link |
| Get step | `workflow_steps_get` | Get step details |
| Update step | `workflow_steps_update` | Modify step configuration |
| Delete step | `workflow_steps_delete` | Remove a workflow step |
| Connect steps | `workflow_steps_create_relationship` | Wire steps in sequence |
### Analytics
| Operation | Tool name | Description |
|-----------|-----------|-------------|
| List events | `events_list` | Retrieve scan event timeline |
| Workspace metrics | `metrics_workspace` | Get workspace-level statistics |
### QR codes
| Operation | Tool name | Description |
|-----------|-----------|-------------|
| Create design | `qrcodedesigns_create` | Create a QR code design |
| Update design | `qrcodedesigns_update` | Modify a QR code design |
| List templates | `qrtemplates_list` | List QR code templates |
| Get template | `qrtemplates_get` | Get template details |
| Create template | `qrtemplates_create` | Create a reusable QR template |
| Update template | `qrtemplates_update` | Modify a QR template |
| Delete template | `qrtemplates_delete` | Remove a QR template |
| Publish template | `qrtemplates_publish` | Publish a QR template |
### Visitors
| Operation | Tool name | Description |
|-----------|-----------|-------------|
| List visitors | `visitors_list` | List visitors, filtered by attributes such as budget or interest |
| Get visitor | `visitors_get` | Get visitor details |
| List attributes | `visitors_list_attribute_keys` | List visitor attribute keys and their types |
### Domains
| Operation | Tool name | Description |
|-----------|-----------|-------------|
| Create domain | `domains_create` | Add a custom domain |
| List domains | `domains_list` | List custom domains |
| Get domain | `domains_get` | Get domain details |
| Check domain | `domains_check` | Verify DNS and TLS status |
### Media and tags
| Operation | Tool name | Description |
|-----------|-----------|-------------|
| Create media | `media_create` | Upload a media asset |
| List media | `media_list` | List media assets |
| Get media | `media_get` | Get media details |
| Delete media | `media_delete` | Remove a media asset |
| List tags | `tags_list` | Search and list tags |
### Page themes
| Operation | Tool name | Description |
|-----------|-----------|-------------|
| List themes | `page_themes_list` | List page themes |
| Get theme | `page_themes_get` | Get theme details |
| Update theme | `page_themes_update` | Modify a page theme |
## Rate limits
The MCP server inherits standard Linkbreakers API rate limits. Limits depend on your workspace plan:
- **Monthly allowance:** 250 API calls a month on Free, 5,000 on Light and 10,000 on Pro. Enterprise has no monthly cap.
- **Rate limit:** each workspace API token can make 600 requests per 60 seconds.
Each MCP operation maps to one or more API calls. A simple `links_create` is one call. A multi-step workflow creation may use 4-6 calls (link creation + step creation + relationship wiring). Bulk operations count as one call per batch.
If you hit rate limits during bulk operations, the AI will report the error and you can wait before continuing. For sustained high-volume automation, consider using the REST API with SDKs and proper retry logic instead of MCP.
## Frequently asked questions
**Can I automate MCP operations on a schedule?**
MCP is designed for interactive, conversational use. For scheduled automation (cron jobs, recurring campaigns), use the Linkbreakers CLI or REST API with SDKs. MCP is best for ad-hoc campaign setup, one-time bulk operations, and conversational analytics.
**Does MCP support webhooks or real-time notifications?**
No. MCP is a request-response protocol. For real-time notifications when QR codes are scanned, use [Linkbreakers webhooks](/help/article/how-do-webhooks-work-in-linkbreakers) configured through the dashboard or API.
**Can multiple team members use MCP at the same time?**
Yes. Each team member signs in with their own Linkbreakers account via OAuth and configures their own AI client. All team members in the same workspace share the same data, so operations from any team member affect the same links, workflows, and analytics.
**What happens if the AI makes an error during a multi-step operation?**
Each MCP operation is atomic. If step 3 of a 5-step workflow fails, steps 1 and 2 are already committed. The AI will report the error and you can ask it to retry the failed step or adjust the parameters. You can also review and fix partial results in the dashboard.
**Is there a way to preview changes before the AI executes them?**
MCP operations execute immediately when the AI calls them. To add a review step, instruct the AI: "Show me the parameters you would use to create this link, but don't create it yet." The AI will display the planned API call without executing it. You can then confirm or adjust.
**Can I use MCP with AI tools other than Claude?**
Yes. Any AI tool that implements the MCP client specification can connect to the Linkbreakers MCP server. The protocol is open and documented at [modelcontextprotocol.io](https://modelcontextprotocol.io). Currently tested clients include Claude Code, Claude Desktop, Claude (web), and Continue (VS Code).
## Limits and caveats
- MCP is designed for interactive use. For production automation pipelines, use the REST API with SDKs.
- API rate limits apply to all MCP operations. High-volume bulk operations may hit limits on free plans.
- The MCP server is stateless and does not cache results. Repeated queries execute fresh API calls.
- Visual QR code design preview is not available through MCP. Use the dashboard for visual design refinement.
- Complex workflow debugging may be easier in the dashboard where you can see the step graph visually.
- Feature availability and limits can vary by plan and workspace setup.
- The AI may occasionally misinterpret ambiguous prompts. Be specific about parameters like slugs, tags, and URLs.
## Last reviewed
This article was last reviewed on June 6, 2026.
---
# Programmatic QR code generation: API vs AI agents
Source: https://linkbreakers.com/help/article/programmatic-qr-code-generation-api-vs-ai-agents
## Short answer
There are three approaches to programmatic QR code generation: REST API with SDKs for production applications, CLI scripting for DevOps and automation pipelines, and AI agents via MCP for conversational and ad-hoc workflows. Linkbreakers is the only QR code platform that supports all three through a unified backend — the same workspace data, the same authentication system, and the same set of operations accessible from TypeScript, Python, Go, Java, Rust, CLI, or natural language through the Model Context Protocol.
## Quick summary
- **REST API + SDKs** — Best for production applications, CI/CD integration, and code-level control. Available in TypeScript, Python, Go, Java, and Rust.
- **CLI scripting** — Best for DevOps workflows, shell scripts, cron jobs, and terminal-based automation. Outputs human-readable tables or machine-readable JSON.
- **MCP AI agents** — Best for ad-hoc campaign setup, one-time bulk operations, conversational analytics, and non-technical users who need programmatic access.
- All three approaches connect to the same Linkbreakers API and operate on the same workspace data
- No feature is exclusive to one approach — links, workflows, QR designs, analytics, and domains are available across all three
- You can mix approaches freely: create a campaign via MCP, monitor it via CLI, and integrate scan events via SDK
## Three approaches compared
### Approach 1: REST API with SDKs
The REST API is the foundation of programmatic access to Linkbreakers. Every other approach — CLI and MCP — ultimately calls the same API endpoints. The SDKs wrap these endpoints in language-native interfaces with type safety, error handling, and authentication management.
**How it works:**
Install the SDK for your language, configure authentication with a secret key, and call methods that map to API endpoints. Responses are typed objects you can use directly in your application logic.
**TypeScript example — creating a tracked link with QR code:**
```typescript
import { Configuration, LinksApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
const response = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: 'https://shop.example.com/product-42',
name: 'Product 42 Launch',
slug: 'product-42',
tags: ['product-launch', 'q3-2026'],
waitForQrcode: true,
},
});
console.log('Short URL:', response.link.shortlink);
console.log('QR code:', response.link.qrcodeSignedUrl);
```
**Python example — bulk link creation from a CSV:**
```python
import csv
import os
from linkbreakers import Configuration, LinksApi
config = Configuration(
access_token=os.environ['LINKBREAKERS_SECRET_KEY'],
host='https://api.linkbreakers.com',
)
links_api = LinksApi(config)
with open('products.csv') as f:
for row in csv.DictReader(f):
response = links_api.links_service_create(
create_link_request={
'destination': row['url'],
'name': row['product_name'],
'tags': ['product-catalog', row['category']],
}
)
print(f"{row['product_name']}: {response.link.shortlink}")
```
**Go example — high-throughput link generation:**
```go
package main
import (
"context"
"fmt"
"os"
linkbreakers "github.com/linkbreakers-com/linkbreakers-go"
)
func main() {
config := linkbreakers.NewConfiguration()
config.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("LINKBREAKERS_SECRET_KEY"))
config.Servers = linkbreakers.ServerConfigurations{
{URL: "https://api.linkbreakers.com"},
}
client := linkbreakers.NewAPIClient(config)
ctx := context.Background()
products := []string{"widget-a", "widget-b", "widget-c"}
for _, product := range products {
request := linkbreakers.NewCreateLinkRequest(
fmt.Sprintf("https://shop.example.com/%s", product),
)
request.SetName(fmt.Sprintf("Product: %s", product))
request.SetTags([]string{"catalog", "automated"})
response, _, err := client.LinksAPI.LinksServiceCreate(ctx).
CreateLinkRequest(*request).Execute()
if err != nil {
fmt.Printf("Error creating %s: %v\n", product, err)
continue
}
fmt.Printf("%s: %s\n", product, response.Link.Shortlink)
}
}
```
**Strengths:**
- Full type safety and IDE autocomplete
- Fine-grained error handling with status codes and retry logic
- Integrates directly into application code
- Best performance for high-throughput operations
- Five language choices: TypeScript, Python, Go, Java, Rust
**Trade-offs:**
- Requires writing and maintaining code
- Needs deployment infrastructure (CI/CD, hosting)
- SDK updates must be tracked and applied
### Approach 2: CLI scripting
The [Linkbreakers CLI](/help/article/linkbreakers-cli-setup) provides a terminal-based interface for all core platform operations. It is designed to work in three contexts: interactive terminal use by humans, shell scripts and cron jobs, and as a tool surface for AI agents operating in terminal environments.
**How it works:**
Install the CLI binary, authenticate with a workspace token, and run commands. Output defaults to human-readable tables but can switch to JSON with the `--output json` flag for machine consumption.
**Creating a link:**
```bash
linkbreakers links create \
--destination https://shop.example.com/product-42 \
--name "Product 42 Launch" \
--tags product-launch,q3-2026
```
**Listing links as JSON for scripting:**
```bash
linkbreakers links list --page-size 50 --output json | jq '.links[].shortlink'
```
**Shell script for campaign deployment:**
```bash
#!/bin/bash
# deploy-campaign.sh — create links for each URL in a file
CAMPAIGN_TAG="summer-sale-2026"
while IFS=, read -r name url; do
RESULT=$(linkbreakers links create \
--destination "$url" \
--name "$name" \
--tags "$CAMPAIGN_TAG" \
--output json)
SHORT_URL=$(echo "$RESULT" | jq -r '.link.shortlink')
echo "$name -> $SHORT_URL"
done < campaign-urls.csv
```
**Domain verification in CI/CD:**
```bash
# Check that custom domain DNS is configured correctly
linkbreakers custom-domains check my-domain-id --output json | jq '.status'
```
**Strengths:**
- No code compilation or dependency management
- Works in any shell environment (bash, zsh, PowerShell)
- Integrates with CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins)
- JSON output pipes into `jq`, `awk`, or any text processing tool
- Self-updating: `linkbreakers self-update`
**Trade-offs:**
- Limited to operations the CLI exposes (covers core features, not every API endpoint)
- Shell scripting has weaker error handling than SDK code
- Not suitable for embedding in application code that runs in production
### Approach 3: MCP AI agents
The [MCP server](/help/article/mcp-server-setup) enables AI assistants to interact with Linkbreakers through natural language. Instead of writing code or shell commands, you describe what you want and the AI translates your intent into API calls.
**How it works:**
Configure an MCP-compatible AI client (Claude Code, Claude Desktop, Continue) with the Linkbreakers MCP server URL. Your client handles OAuth sign-in automatically. The AI discovers available operations and calls them during conversation.
**Setup for Claude Code (one command):**
```bash
claude mcp add --transport http linkbreakers https://mcp.linkbreakers.com
```
**Setup for Claude Desktop (JSON config):**
```json
{
"mcpServers": {
"linkbreakers": {
"url": "https://mcp.linkbreakers.com"
}
}
}
```
**Creating a link:**
> "Create a tracked link for https://shop.example.com/product-42 with slug 'product-42', name 'Product 42 Launch', and tags 'product-launch' and 'q3-2026'."
**Building a multi-step workflow:**
> "Add a workflow to the Product 42 link. First step: show a form collecting name and email. Second step: redirect to the product details page at https://shop.example.com/product-42/details. Connect them in sequence."
**Pulling analytics:**
> "How many scans did my links tagged 'summer-sale-2026' receive this week? Break it down by link."
**Bulk operations:**
> "Create 30 tracked links, one for each store location. Here are the names and URLs: [list]. Tag all of them with 'retail-2026' and use the store name as the slug."
**Strengths:**
- No code, no scripts, no deployment — purely conversational
- Non-technical team members can perform programmatic operations
- AI can chain multiple operations intelligently (create link, add steps, wire relationships)
- Ideal for one-time setup, prototyping, and exploration
- Fastest path from idea to execution for ad-hoc tasks
**Trade-offs:**
- Not deterministic — the AI may interpret ambiguous prompts differently each time
- Not suitable for scheduled or recurring automation (no cron-like capability)
- Requires an MCP-compatible AI client
- Rate limits apply; high-volume operations may need the SDK instead
## Feature comparison table
| Capability | REST API + SDK | CLI | MCP AI agents |
|------------|---------------|-----|---------------|
| Create links | All SDKs | `links create` | Natural language |
| Bulk link creation | SDK loop or `links_create_bulk` | Shell script loop | Conversational batch |
| Workflow steps | Full CRUD | Via `raw` command | Full CRUD |
| QR code designs | Full CRUD | Not available | Full CRUD |
| QR code templates | Full CRUD | Not available | Full CRUD |
| Analytics/events | Query with filters | Via `raw` command | Conversational query |
| Visitor tracking | Frontend + backend | Not available | Query only |
| Custom domains | Full CRUD | `custom-domains` commands | Full CRUD |
| Media management | Full CRUD | Not available | Full CRUD |
| Page themes | Full CRUD | Not available | Full CRUD |
| Type safety | Full (TS, Go, Java, Rust) | N/A | N/A |
| Error handling | Programmatic (try/catch) | Exit codes + stderr | AI explains and retries |
| CI/CD integration | Native | Native | Not designed for CI/CD |
| Scheduled execution | Cron + SDK | Cron + CLI | Not supported |
| Non-technical users | Requires code | Requires terminal | Conversational |
| Setup time | 10-30 minutes | 5 minutes | 2 minutes |
## When to use each approach
### Use the REST API + SDKs when
**You are building a production application** that programmatically creates links, generates QR codes, or tracks visitors. Examples:
- An e-commerce platform that generates a unique QR code for each order
- A SaaS product that creates tracked links for customer onboarding emails
- A data pipeline that pulls scan analytics into a business intelligence dashboard
- A mobile app that creates contact cards on behalf of users
The SDK gives you type safety, fine-grained error handling, and the ability to integrate QR code operations directly into your application logic. Choose the SDK in the language your application is written in.
### Use CLI scripting when
**You are automating infrastructure or operations tasks** that run in a terminal or CI/CD environment. Examples:
- A deployment script that creates campaign links as part of a release process
- A cron job that checks custom domain DNS status every hour
- A GitHub Action that creates a tracked link for each new release
- A one-liner to list all links and pipe them into a spreadsheet
The CLI requires no code compilation, no dependency management, and no SDK installation. It works in any shell and integrates with standard Unix tools.
### Use MCP AI agents when
**You need to perform ad-hoc operations conversationally** without writing code or running scripts. Examples:
- A marketing manager setting up a campaign with tagged links, workflows, and conditional routing
- A developer prototyping a customer journey before implementing it in code
- A team lead pulling analytics for a weekly report through conversation
- A non-technical user creating contact cards for the sales team
MCP removes the barrier between intent and execution. You describe the outcome you want, and the AI figures out the API calls.
## Combining approaches on one platform
The unique advantage of Linkbreakers is that all three approaches operate on the same workspace data. This means you can use the best tool for each task without worrying about synchronization or data silos.
**Practical combination example:**
1. **MCP** — A marketing manager uses Claude Desktop to set up a new campaign: creates 15 tracked links, builds a workflow with a form and conditional routing, and generates QR code designs.
2. **Dashboard** — The designer opens the Linkbreakers dashboard to refine the QR code colors and preview the form layout.
3. **SDK** — A developer writes a TypeScript integration that uses the Linkbreakers SDK to identify visitors on the campaign landing page and enrich their profiles with purchase data.
4. **CLI** — A DevOps engineer adds a step to the CI/CD pipeline that verifies custom domain DNS status before each deployment.
5. **MCP** — At the end of the quarter, the marketing manager asks Claude Code for a performance breakdown of all links tagged with the campaign name.
Every step operates on the same links, the same workflows, and the same analytics data. No data migration, no sync issues, no duplicate records.
## Performance considerations
### API + SDK performance
- Direct HTTP calls with minimal overhead
- Connection pooling available in most SDK languages
- Supports concurrent requests for parallel operations
- Best choice for high-throughput scenarios (hundreds or thousands of links)
### CLI performance
- Each command is a separate HTTP request
- Shell script loops add process spawning overhead
- Suitable for dozens to low hundreds of operations
- JSON output adds minimal parsing overhead
### MCP performance
- Each operation routes through the MCP server (one additional hop)
- The MCP server is stateless and adds sub-100ms overhead
- AI processing time adds latency to each prompt-response cycle
- Best for single to dozens of operations per conversation
- For hundreds+ operations, use bulk SDK calls instead
### Throughput guidance
| Volume | Recommended approach |
|--------|---------------------|
| 1-10 operations | MCP or CLI |
| 10-100 operations | CLI script or MCP bulk prompt |
| 100-1,000 operations | SDK with concurrency |
| 1,000+ operations | SDK with bulk endpoints and retry logic |
## Code examples summary
### Create a link — three ways
**SDK (TypeScript):**
```typescript
const response = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: 'https://example.com',
name: 'My Link',
tags: ['demo'],
},
});
```
**CLI:**
```bash
linkbreakers links create \
--destination https://example.com \
--name "My Link" \
--tags demo
```
**MCP (natural language):**
> "Create a tracked link for https://example.com named 'My Link' with tag 'demo'."
All three produce the same result: a tracked short link in your Linkbreakers workspace with a QR code, analytics tracking, and the specified tag.
### Build a workflow — three ways
**SDK (Python):**
```python
# The link's redirect step was created with the link and holds the destination
steps = workflow_api.workflow_steps_service_list(link_id=link_id)
redirect = next(
s for s in steps.workflow_steps
if s.event_action == 'EVENT_ACTION_CLIENT_REDIRECT'
)
# Insert a form step in front of the redirect, wired in one call
workflow_api.workflow_steps_service_create(
link_id=link_id,
workflow_steps_service_create_body={
'eventAction': 'EVENT_ACTION_FORM_SUBMIT',
'insertBefore': redirect.id,
'payload': {
'form': {
'formFields': [
{'type': 'FORM_FIELD_TYPE_EMAIL', 'label': 'Email', 'key': '$email', 'required': True},
],
},
},
},
)
```
**CLI:**
```bash
# CLI supports link operations; for workflow steps, use the raw API mode
linkbreakers raw GET /v1/links/LINK_ID/workflow-steps # note the redirect step's id
linkbreakers raw POST /v1/links/LINK_ID/workflow-steps \
--body '{"eventAction":"EVENT_ACTION_FORM_SUBMIT","insertBefore":"REDIRECT_STEP_ID","payload":{"form":{"formFields":[{"type":"FORM_FIELD_TYPE_EMAIL","label":"Email","key":"$email","required":true}]}}}'
```
To change where the workflow ends up later, update the redirect step, not the link: `PATCH /v1/links/LINK_ID/workflow-steps/REDIRECT_STEP_ID` with `{"payload":{"clientRedirect":{"destination":"https://example.com/new"}}}`.
**MCP (natural language):**
> "Add a form step collecting email to my link, then redirect to https://example.com/thanks."
### Pull analytics — three ways
**SDK (TypeScript):**
```typescript
const events = await eventsApi.eventsServiceList({
linkId: 'LINK_ID',
startDate: '2026-06-01T00:00:00Z',
endDate: '2026-06-30T23:59:59Z',
});
console.log(`Total scans: ${events.events.length}`);
```
**CLI:**
```bash
linkbreakers raw GET "/v1/events?linkId=LINK_ID&startDate=2026-06-01T00:00:00Z" \
--output json | jq '.events | length'
```
**MCP (natural language):**
> "How many scans did link LINK_ID receive in June 2026?"
## Frequently asked questions
**Can I switch between approaches without losing data?**
Yes. All three approaches connect to the same Linkbreakers API and workspace. A link created via SDK is visible in the CLI and MCP, and vice versa. There is no data migration required when switching approaches.
**Which approach should a non-developer choose?**
MCP AI agents. No code, no terminal knowledge needed — just a one-time configuration. Describe what you need in plain language and the AI handles the rest.
**Can I use the SDK and MCP in the same project?**
Yes. A common pattern is to use the SDK for production application logic (visitor tracking, link creation in response to user actions) and MCP for ad-hoc operations (campaign setup, analytics queries, debugging).
**Is the REST API documented separately from the SDKs?**
Yes. Full API documentation is available at [linkbreakers.com/help/api](https://linkbreakers.com/help/api). Each SDK mirrors the API structure but uses language-native conventions (snake_case in Python, camelCase in TypeScript, PascalCase in Go).
**Do all three approaches support custom domains?**
Yes. You can add, verify, and manage custom domains through the SDK, CLI, and MCP. The CLI provides dedicated `custom-domains` commands. The SDK and MCP use the domains API endpoints.
**What authentication does each approach use?**
The SDK uses secret keys (JWT tokens). The CLI uses workspace tokens set via `linkbreakers auth set-token`. The MCP server uses OAuth 2.0 — your client handles sign-in automatically and no token configuration is needed. SDK and CLI credential types are created in Dashboard > Settings > API Tokens.
## Getting started
- **REST API**: [How to use the Linkbreakers API](/help/article/how-to-use-the-linkbreakers-api)
- **CLI**: [How to install and use the Linkbreakers CLI](/help/article/linkbreakers-cli-setup)
- **MCP**: [How to set up the Linkbreakers MCP server](/help/article/mcp-server-setup)
- **Full ecosystem overview**: [Linkbreakers Developer Ecosystem](/help/article/linkbreakers-developer-ecosystem-overview)
## Limits and caveats
- API rate limits apply equally across all three approaches. Limits vary by plan.
- The CLI does not expose every API endpoint. For operations not covered by CLI commands, use `linkbreakers raw` for direct API access.
- MCP is not designed for scheduled or recurring automation. Use SDK or CLI for cron-based workflows.
- SDK error handling is more granular than CLI exit codes or MCP AI explanations. Use SDKs when precise error recovery is critical.
- Visual QR code design preview is only available in the dashboard. All three programmatic approaches configure design parameters but do not render previews.
- Feature availability and limits can vary by plan and workspace setup.
- SDKs require secret keys and the CLI requires workspace tokens, both created in Dashboard > Settings > API Tokens. The MCP server uses OAuth 2.0 and does not require manual token configuration.
## Last reviewed
This article was last reviewed on June 6, 2026.
---
# The developer's guide to QR code tracking APIs
Source: https://linkbreakers.com/help/article/qr-code-tracking-api-developer-guide
## Short answer
This article explains the developer's guide to qr code tracking apis with practical guidance, limits, and implementation details so you can apply it consistently.
QR code tracking works by routing scans through a redirect layer that captures event data before sending the visitor to the final destination. Each scan generates an event record containing device information, geographic location, timestamp, and a visitor fingerprint. The Linkbreakers API exposes this data through REST endpoints for events, visitors, and workspace metrics, enabling developers to build custom analytics dashboards, integrate with business intelligence tools, and trigger real-time workflows from scan activity.
## Quick summary
- Understand the technical flow from QR code scan to event record to analytics pipeline
- Learn what data a scan captures: device type, OS, browser, geographic location, ISP, ASN, timestamp, and visitor fingerprint
- Query the events API to retrieve individual scan records with filtering and pagination
- Use the workspace metrics endpoint for aggregated analytics across all links and QR codes
- Implement visitor identification using the LBID parameter for cross-session attribution
- Set up webhooks for real-time notifications when visitors complete workflow steps
- Follow code examples in TypeScript and Python for common integration patterns
- Apply rate limiting best practices and error handling for production systems
## How QR code tracking works technically
Every trackable QR code encodes a short URL rather than the final destination. This indirection is the mechanism that enables tracking. The sequence looks like this:
```
Visitor scans QR code
→ Device opens short URL (e.g., https://lbrk.co/abc123)
→ Linkbreakers redirect server receives the HTTP request
→ Server extracts data from request headers and IP address
→ Server creates an event record in the database
→ Server issues an HTTP 302 redirect to the final destination
→ Visitor arrives at the destination page
```
This entire process adds less than 100 milliseconds of latency. The visitor perceives an instant redirect while the tracking system captures a complete event record.
The redirect server extracts data from three sources:
1. **HTTP headers** -- `User-Agent` for device and browser identification, `Accept-Language` for language preferences, `Referer` for scan source context
2. **IP address** -- converted to geographic location (country, region, city) through IP geolocation, and resolved to ISP and ASN (Autonomous System Number) for network provider identification
3. **Request metadata** -- the short URL slug identifies which link was scanned, the timestamp records when, and any query parameters (including `lbid`) carry attribution data
### What a scan event record contains
Each scan generates an event object with the following data:
| Field | Description | Example |
|---|---|---|
| `id` | Unique event identifier (UUID) | `0a2d9a3c-3f5a-483e-93e1-10b5bd04ac5b` |
| `deviceId` | Identifier for the device that scanned | `ec1d32f1-e5aa-4b12-8ad2-26da282b7261` |
| `deviceType` | Category of device | `DEVICE_TYPE_MOBILE`, `DEVICE_TYPE_DESKTOP`, `DEVICE_TYPE_TABLET` |
| `os` | Operating system | `iOS 18.2`, `Android 15`, `Windows 11` |
| `browser` | Browser application | `Safari`, `Chrome`, `Samsung Internet` |
| `country` | ISO 3166-1 country code | `US`, `DE`, `JP` |
| `region` | Administrative region | `California`, `Bavaria`, `Tokyo` |
| `city` | City name | `San Francisco`, `Munich`, `Shibuya` |
| `isp` | Internet service provider | `Comcast`, `Deutsche Telekom` |
| `asn` | Autonomous system number | `AS7922`, `AS3320` |
| `timestamp` | UTC timestamp of the scan | `2026-06-05T14:32:18Z` |
| `linkId` | The link that was scanned | `f47ac10b-58cc-4372-a567-0e02b2c3d479` |
| `visitorId` | Persistent visitor identifier | `a1b2c3d4-e5f6-7890-abcd-ef1234567890` |
Geographic data is derived from IP addresses and provides city-level accuracy. It is not GPS-level precision. Visitors behind VPNs or corporate proxies may show the location of the VPN exit node or proxy server rather than their physical location.
### Visitor fingerprinting and deduplication
Not every scan represents a unique person. The same visitor may scan a QR code multiple times, or scan different QR codes across your campaigns. Linkbreakers uses device fingerprinting to deduplicate visitors and build persistent profiles.
The fingerprint combines device characteristics -- browser type, operating system, screen resolution, language settings, and other signals -- into a device identifier. When the same device scans any QR code in your workspace, the system links the new event to the existing visitor profile.
This creates two distinct metrics:
- **Scans** (events): the total number of times your QR codes were scanned
- **Visitors**: the number of unique people who scanned, after deduplication
The distinction matters for analytics. A QR code on a restaurant menu might show 500 scans but only 200 visitors, indicating repeat usage. A conference badge QR code might show 50 scans and 48 visitors, indicating mostly first-time exchanges.
## The Linkbreakers events API
The events API provides access to individual scan records. Use it when you need granular, event-level data for custom analytics, audit trails, or real-time processing.
### Listing events
```typescript
// TypeScript SDK
import { Configuration, EventsApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const eventsApi = new EventsApi(config);
// List recent events across all links
const response = await eventsApi.eventsServiceList({
pageSize: 50,
});
for (const event of response.events) {
console.log(`${event.timestamp} | ${event.city}, ${event.country} | ${event.deviceType}`);
}
```
```python
# Python SDK
from linkbreakers import Configuration, EventsApi
config = Configuration(
access_token=os.environ["LINKBREAKERS_SECRET_KEY"],
host="https://api.linkbreakers.com",
)
events_api = EventsApi(config)
# List recent events across all links
response = events_api.events_service_list(page_size=50)
for event in response.events:
print(f"{event.timestamp} | {event.city}, {event.country} | {event.device_type}")
```
### Filtering events
Events can be filtered by link, tag, date range, and other criteria. This enables targeted queries like "show me all scans for links tagged `conference-2026` from the last 7 days."
The API uses cursor-based pagination. Each response includes a `nextPageToken` that you pass to the subsequent request to retrieve the next page of results. This approach handles large datasets efficiently without the offset-based problems of skipping records.
## The workspace metrics API
While the events API returns individual records, the metrics API returns aggregated data for your entire workspace. Use it for dashboard summaries, executive reporting, and trend analysis.
```typescript
// TypeScript SDK
import { Configuration, MetricsApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const metricsApi = new MetricsApi(config);
const metrics = await metricsApi.metricsServiceGetWorkspaceMetrics({});
console.log(`Total scans: ${metrics.totalScans}`);
console.log(`Unique visitors: ${metrics.totalVisitors}`);
console.log(`Active links: ${metrics.totalLinks}`);
```
```python
# Python SDK
from linkbreakers import Configuration, MetricsApi
config = Configuration(
access_token=os.environ["LINKBREAKERS_SECRET_KEY"],
host="https://api.linkbreakers.com",
)
metrics_api = MetricsApi(config)
metrics = metrics_api.metrics_service_get_workspace_metrics()
print(f"Total scans: {metrics.total_scans}")
print(f"Unique visitors: {metrics.total_visitors}")
print(f"Active links: {metrics.total_links}")
```
The metrics endpoint returns workspace-wide aggregates. For link-specific analytics, query the events API filtered by link ID and aggregate on your side, or use the dashboard for visual breakdowns.
## Visitor identification with LBID
The [LBID (Linkbreakers ID)](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid) is a base64-encoded identifier that connects a scan event to all subsequent visitor interactions within a workflow. When conversion tracking is enabled, the LBID is appended to the final destination URL as a query parameter:
```
https://yoursite.com/landing-page?lbid=2VqKhjxtKwC7pBbg
```
This lets your application attribute conversions back to specific QR code scans. The implementation pattern:
1. **Extract the LBID** from the URL query parameters when a visitor lands on your page
2. **Store it** in your session or database alongside the visitor's actions
3. **Report conversions** back to Linkbreakers by calling the visitors API with the LBID
```typescript
// Extract LBID on your landing page
const urlParams = new URLSearchParams(window.location.search);
const lbid = urlParams.get('lbid');
if (lbid) {
// Store for conversion attribution
sessionStorage.setItem('lbid', lbid);
}
// Later, when the visitor converts (e.g., makes a purchase)
const storedLbid = sessionStorage.getItem('lbid');
if (storedLbid) {
// Use the Linkbreakers API to report the conversion
await fetch('https://api.linkbreakers.com/v1/visitors/identify', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
lbid: storedLbid,
attributes: {
email: customer.email,
converted: true,
order_value: order.total,
},
}),
});
}
```
The LBID is unique to each scan event. If the same person scans your QR code twice, they get two different LBIDs. However, both events link to the same visitor profile through device fingerprinting, so you maintain a unified view of the person.
## Querying visitor profiles
The visitors API provides access to persistent visitor profiles that aggregate data across multiple scan events. Each visitor profile includes:
- All events (scans) associated with the visitor
- Device information from each event
- Geographic data from each scan location
- Form data collected through workflow steps
- Custom attributes set through the API
```typescript
// TypeScript SDK
import { Configuration, VisitorsApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const visitorsApi = new VisitorsApi(config);
// List visitors with pagination
const response = await visitorsApi.visitorsServiceList({
pageSize: 25,
});
for (const visitor of response.visitors) {
console.log(`Visitor ${visitor.id} | Events: ${visitor.eventCount}`);
}
// Get a specific visitor by ID
const visitor = await visitorsApi.visitorsServiceGet({
id: 'visitor-uuid-here',
});
```
```python
# Python SDK
from linkbreakers import Configuration, VisitorsApi
config = Configuration(
access_token=os.environ["LINKBREAKERS_SECRET_KEY"],
host="https://api.linkbreakers.com",
)
visitors_api = VisitorsApi(config)
# List visitors with pagination
response = visitors_api.visitors_service_list(page_size=25)
for visitor in response.visitors:
print(f"Visitor {visitor.id} | Events: {visitor.event_count}")
```
### Filtering visitors by attribute
To find the visitors whose answers match, for example a budget of at least 800000 and a buying timeline under six months, send the list parameters as JSON to `POST /v1/visitors/search` with `attributeFilters`. A visitor must match every filter. `GET /v1/visitors/attributes` returns the attribute keys in your workspace with the type each was captured as, which tells you which operators fit.
```bash
curl -X POST https://api.linkbreakers.com/v1/visitors/search \
-H "Authorization: Bearer $LINKBREAKERS_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"pageSize": 50,
"attributeFilters": [
{ "key": "budget", "operator": "VISITOR_ATTRIBUTE_FILTER_OPERATOR_NUMBER_GREATER_OR_EQUAL", "value": "800000" },
{ "key": "timeline", "operator": "VISITOR_ATTRIBUTE_FILTER_OPERATOR_STRING_EQUALS", "value": "under_6_months" }
]
}'
```
Operators cover text (`STRING_EQUALS`, `STRING_CONTAINS`, `STRING_STARTS_WITH`, ...), numbers (`NUMBER_GREATER_THAN`, `NUMBER_LESS_OR_EQUAL`, ...), dates (`DATE_BEFORE`, `DATE_AFTER_OR_EQUAL`, ...), booleans (`BOOLEAN_IS_TRUE`) and presence (`EXISTS`, `NOT_EXISTS`), each prefixed with `VISITOR_ATTRIBUTE_FILTER_OPERATOR_`. They behave like [visitor data conditions](https://linkbreakers.com/help/article/how-to-use-visitor-data-conditions): text comparisons are case-sensitive, number and date comparisons only match values captured as numbers or dates, and a visitor without the attribute never matches a positive comparison. Reserved fields such as `$email` can be filtered with the text and presence operators. Every other list parameter (`search`, `linkId`, `sortField`, `responseFormat`) works the same in the body as in `GET /v1/visitors`.
## Webhook integration for real-time notifications
Polling the events API works for batch analytics but introduces latency. For real-time reactions to scan activity -- sending a Slack notification when a VIP scans your card, updating a CRM when a lead fills out a form, triggering an inventory check when a product QR is scanned -- use [webhooks](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers).
Webhooks trigger on the workflow step kinds you choose: `EXIT` when a visit reaches the end of the workflow (body `type` is `event.completed`), `INTERACTION` when a visitor completes a step such as a form (body `type` is `step.completed`, with the step in `workflowStep`). Linkbreakers sends an HTTP POST to your endpoint with a JSON payload containing the full event and visitor data. The `X-Linkbreakers-Event` header is always `event.completed`, so route on the body's `type`. Enums in webhook bodies use short names (`MOBILE`, `SCAN`, `FORM_SUBMIT`), unlike the prefixed names the REST API returns.
### Webhook payload structure
```json
{
"event": {
"id": "0a2d9a3c-3f5a-483e-93e1-10b5bd04ac5b",
"deviceId": "ec1d32f1-e5aa-4b12-8ad2-26da282b7261",
"device": {
"deviceType": "MOBILE",
"platformName": "iOS",
"browserName": "Safari"
},
"action": "SCAN",
"scannedAt": "2026-06-05T14:32:18Z",
"visitor": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"email": "visitor@example.com",
"firstName": "Jane",
"attributes": {
"company": "Acme"
}
},
"link": {
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "Conference Badge QR"
},
"traces": [
{
"stepAction": "FORM_SUBMIT",
"stepKind": "INTERACTION",
"stepData": { "form_data": { "$email": "visitor@example.com", "company": "Acme" } }
}
]
},
"workflowStep": {
"eventAction": "FORM_SUBMIT",
"kind": "INTERACTION"
},
"type": "step.completed",
"timestamp": "2026-06-05T14:32:19Z",
"lbid": "2VqKhjxtKwC7pBbg"
}
```
### Configuring webhooks
Create webhooks through the [webhook dashboard](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) or the API. Key configuration:
- **Endpoint URL**: the HTTPS URL where Linkbreakers sends POST requests
- **Link targeting**: optionally restrict the webhook to fire only for specific links or QR codes, enabling different automation for different campaigns
- **Retry policy**: failed deliveries are retried automatically. After repeated failures, the webhook is auto-disabled to protect your infrastructure
Webhook capacity varies by plan: 1 endpoint on Free, 10 on Pro, unlimited on Enterprise.
### Handling webhooks in your application
```typescript
// Express.js webhook handler
import express from 'express';
const app = express();
app.use(express.json());
app.post('/webhooks/linkbreakers', (req, res) => {
const { type, event } = req.body;
const { visitor, link } = event;
console.log(`${type} on "${link.name}"`);
if (visitor?.email) {
// Visitor identified -- sync to CRM
syncToCRM({
email: visitor.email,
source: link.name,
scannedAt: event.scannedAt,
attributes: visitor.attributes,
});
}
// Respond 200 to acknowledge receipt
res.status(200).json({ received: true });
});
```
```python
# Flask webhook handler
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/webhooks/linkbreakers', methods=['POST'])
def handle_webhook():
data = request.json
event = data['event']
visitor = event.get('visitor') or {}
link = event['link']
print(f"{data['type']} on \"{link['name']}\"")
if visitor.get('email'):
# Visitor identified -- sync to CRM
sync_to_crm(
email=visitor['email'],
source=link['name'],
scanned_at=event['scannedAt'],
attributes=visitor.get('attributes', {}),
)
return jsonify(received=True), 200
```
Always respond with a 2xx status code promptly. If your processing takes time, acknowledge the webhook immediately and process asynchronously.
## Building a custom analytics dashboard
A common integration pattern is pulling data from the Linkbreakers API into a custom dashboard. Here is a minimal example that fetches workspace metrics and recent events:
```typescript
// Dashboard data fetcher
import { Configuration, MetricsApi, EventsApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
async function getDashboardData() {
const metricsApi = new MetricsApi(config);
const eventsApi = new EventsApi(config);
// Fetch in parallel
const [metrics, recentEvents] = await Promise.all([
metricsApi.metricsServiceGetWorkspaceMetrics({}),
eventsApi.eventsServiceList({ pageSize: 20 }),
]);
return {
summary: {
totalScans: metrics.totalScans,
uniqueVisitors: metrics.totalVisitors,
activeLinks: metrics.totalLinks,
},
recentScans: recentEvents.events.map(e => ({
time: e.timestamp,
location: `${e.city}, ${e.country}`,
device: e.deviceType,
link: e.linkId,
})),
};
}
```
For more advanced BI integration patterns -- connecting to Tableau, Power BI, or custom data warehouses -- see the [Analytics API reference](https://linkbreakers.com/help/article/analytics) and the [business intelligence integration guide](https://linkbreakers.com/help/article/dynamic-qr-code-business-intelligence-dashboard-integration-tableau-power-bi-real-time-analytics-setup-tutorial).
## Authentication
All API requests require a bearer token in the `Authorization` header:
```
Authorization: Bearer YOUR_WORKSPACE_TOKEN
```
Create tokens at [Dashboard > API Tokens](https://app.linkbreakers.com/workspace/dashboard/developers/tokens). Use separate tokens for development and production environments. Tokens remain valid until explicitly revoked.
For a detailed comparison of token types, see [secret key vs publishable key](https://linkbreakers.com/help/article/secret-key-vs-publishable-key) and [API authentication methods](https://linkbreakers.com/help/article/api-authentication-accesstoken-vs-apikey).
## Rate limits and best practices
The API implements workspace-level rate limiting that varies by plan. Headers on each response indicate your current usage:
```
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 994
X-RateLimit-Reset: 1717600000
```
Best practices for production integrations:
- **Cache aggressively.** Workspace metrics change with every scan but do not need to be refreshed more than once per minute for most dashboards.
- **Use pagination correctly.** Always use the `nextPageToken` from the response rather than constructing page offsets manually. Cursor-based pagination is stable against concurrent inserts.
- **Handle 429 responses.** When rate-limited, back off using the `X-RateLimit-Reset` header value. Do not retry immediately in a tight loop.
- **Use webhooks for real-time.** If you need to react to scans within seconds, set up webhooks instead of polling the events API.
- **Store tokens securely.** Use environment variables or a secrets manager. Never commit tokens to source control.
- **Filter server-side.** Use API query parameters to filter events by link, tag, or date range rather than fetching all events and filtering client-side.
- **Implement idempotency.** Event IDs are UUIDs. Use them to deduplicate if your webhook handler might process the same event twice due to retries.
## SDKs and API reference
Linkbreakers provides official SDKs in five languages:
| Language | Package | Quickstart |
|---|---|---|
| TypeScript | `linkbreakers` | [TypeScript SDK quickstart](https://linkbreakers.com/help/article/typescript-sdk-quickstart) |
| Python | `linkbreakers` | [Python SDK quickstart](https://linkbreakers.com/help/article/python-sdk-quickstart) |
| Go | `linkbreakers-go` | [Go SDK quickstart](https://linkbreakers.com/help/article/golang-sdk-quickstart) |
| Java | `com.linkbreakers:linkbreakers-sdk` | [Java SDK quickstart](https://linkbreakers.com/help/article/java-sdk-quickstart) |
| Rust | `linkbreakers` | [Rust SDK quickstart](https://linkbreakers.com/help/article/rust-sdk-quickstart) |
Full API documentation with endpoint schemas and request/response examples is available at [linkbreakers.com/help/api](https://linkbreakers.com/help/api).
## Frequently asked questions
**How much latency does QR code tracking add?**
The redirect typically adds less than 100 milliseconds. The tracking is synchronous with the redirect -- the event is recorded and the visitor is redirected in the same request. There is no separate analytics call that could delay the user experience.
**Can I track scans without using the Linkbreakers dashboard?**
Yes. The API provides complete programmatic access to all tracking data. You can build an entirely custom analytics experience using the events, visitors, and metrics endpoints without ever opening the dashboard.
**How accurate is the geographic location data?**
IP-based geolocation provides city-level accuracy for most scans. It is not GPS precision. Visitors using VPNs, corporate proxies, or mobile carriers with centralized IP pools may show inaccurate locations. Accuracy varies by region and ISP.
**What happens to tracking data if a QR code destination changes?**
Historical event data is preserved. If you change a link's destination, future scans are tracked under the same link ID with the new destination. Analytics continuity is maintained.
**Can I export raw event data for use in external tools?**
Yes. The events API supports paginated export of all scan records. For large-scale exports, use time-range filtering to batch requests efficiently. Response format is JSON, which can be transformed for import into BI tools, data warehouses, or spreadsheets.
**How long is tracking data retained?**
Data retention varies by plan. Consult your plan details for specific retention windows. API access to historical data follows the same retention policy as the dashboard.
**Can I track scans across multiple QR codes as a single campaign?**
Yes. Use [tags](https://linkbreakers.com/help/article/how-to-use-tags-to-segment-and-analyze-qr-campaigns) to group links and QR codes into campaigns. Filter the events API by tag to aggregate analytics across all QR codes in a campaign.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Rate limits are enforced at the workspace level. High-volume integrations should implement backoff and caching.
- Geographic accuracy depends on IP geolocation and is not GPS-level. VPNs and proxies can affect accuracy.
- Visitor fingerprinting is probabilistic. Users who clear browser data or switch devices may appear as new visitors.
- Webhook delivery is best-effort with automatic retries. Design your integration to handle occasional duplicate deliveries.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to use the Linkbreakers API
Source: https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api
## Short answer
This article explains how to use the linkbreakers api with practical guidance, limits, and implementation details so you can apply it consistently.
Building QR code functionality shouldn't mean starting from scratch. The Linkbreakers API transforms complex QR code operations into simple HTTP requests that integrate seamlessly with any technology stack.
Whether you're automating marketing campaigns, building customer-facing tools, or integrating QR codes into existing products, our REST API provides the building blocks you need. Think of it as having Linkbreakers' full feature set available as programmable components.
Every API endpoint returns consistent JSON responses with comprehensive error handling. Authentication uses standard bearer tokens. Rate limits are generous enough for production workloads while preventing abuse.
> Most constructions of Linkbreakers can be built via the Linkbreakers API. Full documentation is available at https://linkbreakers.com/help/api
## Authentication and workspace tokens
Before making API calls, you'll need a workspace token that identifies your account and provides access to your resources. These tokens act like API keys but with better security and audit capabilities.
### Creating your first token
Navigate to [Workspace tokens](https://app.linkbreakers.com/workspace/dashboard/api-tokens) in your dashboard. Click "Create Token" and provide a descriptive name that identifies its purpose.
Common token names include:
- "Production integration" for live systems
- "Development testing" for local development
- "Marketing automation" for specific campaign tools
- "Staging environment" for pre-production testing
The platform generates a JWT token that appears only once during creation. Store this token securely - you can't retrieve it again after the creation dialog closes.
### Token authentication
Include your token in the Authorization header for every API request:
```bash
curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
https://api.linkbreakers.com/v1/links
```
Tokens remain valid indefinitely unless explicitly revoked. However, you can monitor usage and revoke tokens through the dashboard if they're compromised or no longer needed.
### Security best practices
Store tokens as environment variables rather than hardcoding them in source code. Use different tokens for different environments to limit blast radius if one gets compromised.
For production systems, consider rotating tokens periodically even if not compromised. The dashboard tracks token usage so you can verify expected activity patterns.
## Creating and managing links
Links are the foundation of Linkbreakers functionality. Every QR code, short URL, or interactive workflow starts with a link resource that defines the destination and behavior.
### Basic link creation
Create a simple link with just a destination URL:
```javascript
const response = await fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: 'https://example.com/landing-page',
name: 'Product Launch Campaign'
})
});
const { link } = await response.json();
console.log(`Created link: ${link.entrypoint}`);
```
This creates a link with an auto-generated shortlink that redirects to your destination. The response includes the complete link object with generated fields like `entrypoint` and `qrcode_signed_url`.
### Custom shortlinks and branding
Specify custom shortlinks for memorable URLs that reinforce your brand:
```javascript
const brandedLink = await fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: 'https://example.com/special-offer',
name: 'Holiday Promotion',
shortlink: 'holiday-2024',
custom_domain_id: 'your-custom-domain-uuid'
})
});
```
Custom shortlinks must be unique within your workspace or custom domain. The platform validates availability and returns errors for conflicts.
### Advanced link configuration
Include metadata, tags, and a purpose for campaign management:
```javascript
const advancedLink = await fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: 'https://example.com/webinar-registration',
fallback_destination: 'https://example.com/webinar-info',
name: 'Q4 Webinar Series',
shortlink: 'webinar-q4',
metadata: {
campaign: 'Q4-2024',
channel: 'email',
audience: 'enterprise'
},
tags: ['webinar', 'lead-gen', 'q4-campaign'],
purpose: 'Generate qualified leads for enterprise sales. Good leads: decision makers with 100+ employees.'
})
});
```
Metadata accepts string key-value pairs with a maximum of 50 keys. Tags help organize campaigns and enable filtered dashboard views. The purpose describes what the link is for in a sentence or two, and the link's Assistant conversations read it as context.
### Link retrieval and management
Fetch existing links with optional relationship data:
```javascript
// Get a specific link with related data
const linkResponse = await fetch(
`https://api.linkbreakers.com/v1/links/${linkId}?include=qrcodeDesign,tags,customDomain`,
{
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN'
}
}
);
// List all links with pagination
const linksResponse = await fetch(
'https://api.linkbreakers.com/v1/links?page_size=50&include=qrcodeDesign',
{
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN'
}
}
);
const { links, next_page_token } = await linksResponse.json();
```
The `include` parameter loads related resources in a single request, reducing the number of API calls needed for complete data.
Link updates use PATCH requests to modify the link's own fields (name, tags, fallback destination) without affecting others. The destination is not one of them: it belongs to the redirect workflow step, covered in the FAQ below.
```javascript
const updateResponse = await fetch(`https://api.linkbreakers.com/v1/links/${linkId}`, {
method: 'PATCH',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Updated Campaign Name',
tags: ['updated', 'active', 'priority']
})
});
```
## QR code design customization
QR code designs control the visual appearance of generated codes, from colors and shapes to logos and export formats. The design system separates visual styling from link functionality.
### Creating custom designs
Generate QR code designs with specific branding requirements:
```javascript
// Upload logo as base64 for central image
const logoBase64 = await fileToBase64(logoFile);
const designResponse = await fetch('https://api.linkbreakers.com/v1/public/qrcode-designs', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
output_file_format: 'OUTPUT_FILE_FORMAT_PNG',
width: 500,
height: 500,
central_image_data: logoBase64,
central_image_size: 0.3,
dots_options: {
color: '#2563eb',
type: 'rounded'
},
corners_square_options: {
color: '#1e40af',
type: 'extra-rounded'
},
background_options: {
color: '#ffffff'
},
shape: 'SHAPE_SQUARE',
error_correction_level: 'M',
hide_background_dots: true
})
});
const { qrcode_design } = await designResponse.json();
```
Design options provide granular control over every visual element. Color options support hex codes or gradient definitions. Shape options include traditional squares or modern circular modules.
### Gradient and advanced styling
Create sophisticated designs with gradient fills and custom styling:
```javascript
const gradientDesign = {
dots_options: {
gradient: JSON.stringify({
type: 'linear',
rotation: 45,
colorStops: [
{ offset: 0, color: '#3b82f6' },
{ offset: 1, color: '#8b5cf6' }
]
}),
type: 'dots'
},
corners_square_options: {
color: '#1e293b',
type: 'square'
},
background_options: {
gradient: JSON.stringify({
type: 'radial',
colorStops: [
{ offset: 0, color: '#f8fafc' },
{ offset: 1, color: '#e2e8f0' }
]
})
}
};
```
Gradient definitions use the qr-code-styling library format for maximum compatibility. This enables sophisticated visual effects while maintaining scanning reliability.
### Design templates and reusability
Create reusable design templates for consistent branding across campaigns:
```javascript
// Create a template design
const templateDesign = await fetch('https://api.linkbreakers.com/v1/public/qrcode-designs', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
// ... design specifications
})
});
// Apply template to new link
const linkWithTemplate = await fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: 'https://example.com',
name: 'Branded Campaign',
qrcode_design_id: templateDesign.qrcode_design.id
})
});
```
Design templates enable brand consistency across different team members and campaigns. Update template designs to refresh all associated QR codes simultaneously.
## Analytics and event tracking
Event data provides insights into QR code performance, visitor behavior, and campaign effectiveness. The events API enables both real-time monitoring and historical analysis.
### Retrieving event data
Query events with flexible filtering options:
```javascript
const eventsResponse = await fetch(
'https://api.linkbreakers.com/v1/events/list?' +
new URLSearchParams({
start_date: '2024-01-01T00:00:00Z',
end_date: '2024-01-31T23:59:59Z',
link_id: 'specific-link-uuid',
page_size: '100',
include: 'visitor,device,link,journey'
}),
{
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN'
}
}
);
const { events, total_count, has_more, next_page_token } = await eventsResponse.json();
```
Events include comprehensive metadata about each scan: device information, geographic location, visitor profiles, and the [visitor journey](https://linkbreakers.com/help/article/what-is-a-visitor-journey) (how far the visitor got through the link's workflow). Filter by date ranges, specific links, or other criteria.
### CSV export for reporting
Export large datasets for analysis in spreadsheet applications or business intelligence tools:
```javascript
const csvResponse = await fetch(
'https://api.linkbreakers.com/v1/events/list?' +
new URLSearchParams({
start_date: '2024-01-01T00:00:00Z',
end_date: '2024-01-31T23:59:59Z',
response_format: 'RESPONSE_FORMAT_CSV'
}),
{
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN'
}
}
);
const csvData = await csvResponse.text();
// Save to file or process directly
```
CSV exports include all event fields with human-readable headers. Large exports use pagination to manage memory usage and transfer times.
### Real-time event processing
For real-time analytics or automation, consider using [webhooks](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) instead of polling the events API. Webhooks deliver events as they occur with lower latency. Learn more about comprehensive [analytics capabilities](https://linkbreakers.com/help/article/analytics) and how to [integrate with your existing tech stack](https://linkbreakers.com/help/article/how-to-integrate-linkbreakers-with-existing-tech-stack).
## Advanced integrations and automation
### Bulk operations for scale
Create multiple links efficiently using concurrent requests:
```javascript
const destinations = [
'https://example.com/product1',
'https://example.com/product2',
'https://example.com/product3'
];
const linkPromises = destinations.map(async (destination, index) => {
return fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination,
name: `Product ${index + 1} Campaign`,
tags: ['bulk-created', 'product-campaign']
})
});
});
const responses = await Promise.all(linkPromises);
const links = await Promise.all(
responses.map(response => response.json())
);
```
Rate limits accommodate reasonable bulk operations. For very large batches, implement exponential backoff and respect rate limit headers.
### Dynamic personalization
Generate personalized QR codes based on customer data or campaign parameters:
```javascript
const customers = [
{ id: 'cust1', name: 'Acme Corp', tier: 'enterprise' },
{ id: 'cust2', name: 'Beta LLC', tier: 'professional' }
];
const personalizedLinks = await Promise.all(
customers.map(async customer => {
return fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: `https://example.com/welcome?customer=${customer.id}`,
name: `Welcome - ${customer.name}`,
shortlink: `welcome-${customer.id}`,
metadata: {
customer_id: customer.id,
customer_name: customer.name,
tier: customer.tier
},
tags: ['personalized', customer.tier]
})
});
})
);
```
Personalized campaigns increase engagement by delivering relevant experiences. Use metadata fields to track personalization parameters for analysis.
### Integration with marketing automation
Connect Linkbreakers with existing marketing tools using webhook notifications:
```javascript
// Create a webhook that fires when a visit ends or a step such as a form is completed
const webhookResponse = await fetch('https://api.linkbreakers.com/v1/webhooks', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Marketing automation',
endpointUrl: 'https://your-system.com/linkbreakers-webhook',
triggers: ['KIND_EXIT', 'KIND_INTERACTION']
})
});
// Process webhook events in your system
// The X-Linkbreakers-Event header is always "event.completed": route on the body
app.post('/linkbreakers-webhook', async (req, res) => {
const { type, event, workflowStep } = req.body;
if (type === 'step.completed' && workflowStep?.eventAction === 'FORM_SUBMIT') {
// Add to CRM with what the visitor submitted
const submission = event.traces.find((t) => t.stepAction === 'FORM_SUBMIT');
await createCRMLead(event.visitor, submission?.stepData?.form_data);
} else if (type === 'event.completed' && event.visitor?.email) {
// Trigger marketing automation
await addToEmailSequence(event.visitor.email);
}
res.status(200).send('OK');
});
```
Webhooks enable real-time integration with CRM systems, email platforms, and analytics tools. Each webhook's `triggers` are workflow step kinds (`KIND_ENTRY`, `KIND_EXIT`, `KIND_INTERACTION`; empty means all), and `linkId` limits it to one link. In the delivered body, enums use short names (`FORM_SUBMIT`, `INTERACTION`) and `type` is `event.completed` or `step.completed`. See [how webhooks work](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) for the full payload.
## Error handling and best practices
### Comprehensive error responses
The API returns structured error information for troubleshooting:
```javascript
try {
const response = await fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: 'invalid-url'
})
});
if (!response.ok) {
const errorData = await response.json();
console.error('API Error:', errorData.message);
console.error('Error Code:', errorData.code);
console.error('Details:', errorData.details);
}
} catch (error) {
console.error('Network Error:', error.message);
}
```
Error responses include HTTP status codes, error messages, and contextual details. Common error codes include validation failures (400), authentication issues (401), and rate limits (429).
### Rate limiting and retry logic
Implement exponential backoff for resilient integrations:
```javascript
async function apiCallWithRetry(url, options, maxRetries = 3) {
for (let attempt = 0; attempt <= maxRetries; attempt++) {
try {
const response = await fetch(url, options);
if (response.status === 429) {
// Rate limited - wait and retry
const retryAfter = response.headers.get('Retry-After') || Math.pow(2, attempt);
await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
continue;
}
return response;
} catch (error) {
if (attempt === maxRetries) throw error;
// Exponential backoff for network errors
await new Promise(resolve =>
setTimeout(resolve, Math.pow(2, attempt) * 1000)
);
}
}
}
```
Rate limits are per-workspace and reset every minute. Respect `Retry-After` headers for optimal performance. Most applications won't hit rate limits with normal usage patterns.
### Validation and data integrity
Validate data before API calls to catch issues early:
```javascript
function validateLinkData(linkData) {
const errors = [];
if (!linkData.destination) {
errors.push('Destination is required');
} else if (!isValidURL(linkData.destination)) {
errors.push('Destination must be a valid URL');
}
if (linkData.metadata && Object.keys(linkData.metadata).length > 50) {
errors.push('Maximum 50 metadata keys allowed');
}
if (linkData.shortlink && !/^[a-zA-Z0-9_-]+$/.test(linkData.shortlink)) {
errors.push('Shortlink contains invalid characters');
}
return errors;
}
// Use before API calls
const validationErrors = validateLinkData(linkData);
if (validationErrors.length > 0) {
console.error('Validation errors:', validationErrors);
return;
}
```
Client-side validation prevents unnecessary API calls and provides immediate feedback. However, always handle server-side validation errors as the authoritative source.
## Code examples for popular frameworks
### Node.js with Express
```javascript
const express = require('express');
const fetch = require('node-fetch');
const app = express();
app.use(express.json());
const LINKBREAKERS_TOKEN = process.env.LINKBREAKERS_TOKEN;
const API_BASE = 'https://api.linkbreakers.com/v1';
// Create QR code endpoint
app.post('/create-qr', async (req, res) => {
try {
const { destination, name } = req.body;
const response = await fetch(`${API_BASE}/links`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${LINKBREAKERS_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ destination, name })
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
const { link } = await response.json();
res.json({
qr_url: link.qrcode_signed_url,
short_url: link.entrypoint
});
} catch (error) {
res.status(500).json({ error: error.message });
}
});
```
### Python with Flask
```python
import requests
import os
from flask import Flask, request, jsonify
app = Flask(__name__)
LINKBREAKERS_TOKEN = os.environ['LINKBREAKERS_TOKEN']
API_BASE = 'https://api.linkbreakers.com/v1'
@app.route('/create-qr', methods=['POST'])
def create_qr():
try:
data = request.json
response = requests.post(
f'{API_BASE}/links',
headers={
'Authorization': f'Bearer {LINKBREAKERS_TOKEN}',
'Content-Type': 'application/json'
},
json={
'destination': data['destination'],
'name': data['name']
}
)
response.raise_for_status()
link = response.json()['link']
return jsonify({
'qr_url': link['qrcode_signed_url'],
'short_url': link['entrypoint']
})
except requests.exceptions.RequestException as e:
return jsonify({'error': str(e)}), 500
```
### React frontend integration
```javascript
import { useState } from 'react';
function QRCodeGenerator() {
const [formData, setFormData] = useState({ destination: '', name: '' });
const [qrCode, setQrCode] = useState(null);
const [loading, setLoading] = useState(false);
const handleSubmit = async (e) => {
e.preventDefault();
setLoading(true);
try {
const response = await fetch('/api/create-qr', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(formData)
});
if (!response.ok) throw new Error('Failed to create QR code');
const result = await response.json();
setQrCode(result);
} catch (error) {
console.error('Error:', error);
} finally {
setLoading(false);
}
};
return (
);
}
```
## Testing and development workflow
### API testing with curl
Test endpoints quickly using curl commands:
```bash
# Create a test link
curl -X POST https://api.linkbreakers.com/v1/links \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"destination": "https://example.com",
"name": "Test Link"
}'
# Get link details
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.linkbreakers.com/v1/links/LINK_UUID
# List recent events
curl -H "Authorization: Bearer YOUR_TOKEN" \
"https://api.linkbreakers.com/v1/events/list?page_size=10"
```
### Postman collection
Create Postman collections for team API testing:
1. Set up environment variables for `api_base_url` and `auth_token`
2. Create requests for common operations
3. Add test scripts to validate responses
4. Share collections with team members
### Local development setup
Use environment variables for configuration:
```javascript
// .env file
LINKBREAKERS_TOKEN=your_development_token
LINKBREAKERS_API_BASE=https://api.linkbreakers.com/v1
NODE_ENV=development
// Configuration
const config = {
token: process.env.LINKBREAKERS_TOKEN,
apiBase: process.env.LINKBREAKERS_API_BASE,
isDevelopment: process.env.NODE_ENV === 'development'
};
```
Separate development and production tokens to prevent accidental data mixing.
If an AI agent will call the API for you, [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents) covers scoped tokens, auth.md self-registration, the MCP server and sandboxes.
## Frequently Asked Questions
### What are the rate limits for the API?
The API allows 1000 requests per minute per workspace token. Rate limit headers in responses show current usage and reset times.
### Can I use the API to create QR codes without links?
No, QR codes are generated as part of link creation. However, you can create links with the sole purpose of generating QR codes and ignore the shortlink functionality.
### How do I handle webhook signature verification?
Webhook payloads include signatures for verification. Use the shared secret from your webhook configuration to validate incoming requests.
### What happens to QR codes when I delete a link?
Deleting a link immediately stops QR code functionality. Existing QR code images continue working until their signed URLs expire, but scanning will show errors.
### Can I modify QR code destinations without regenerating codes?
Yes. The destination lives on the link's redirect workflow step, not on the link itself, so `PATCH /v1/links/{id}` does not change it. List the link's steps with `GET /v1/links/{linkId}/workflow-steps`, find the step whose `eventAction` is `EVENT_ACTION_CLIENT_REDIRECT`, and send `PATCH /v1/links/{linkId}/workflow-steps/{stepId}` with `{"payload": {"clientRedirect": {"destination": "https://new.example.com"}}}`. Existing QR codes redirect to the new destination without being regenerated.
### How do I track conversions beyond basic scans?
Use [workflow integration](https://linkbreakers.com/help/article/how-to-create-a-form) to create custom conversion events, or connect webhook data to your analytics platform for advanced tracking. For automation scenarios, explore [QR code marketing automation](https://linkbreakers.com/help/article/the-complete-guide-to-qr-code-marketing-automation) and [Zapier integration](https://linkbreakers.com/help/article/automate-your-lead-generation-with-qr-codes-zapier).
### Is there a sandbox environment for testing?
Yes. Create a [sandbox](/help/article/sandbox-test-environment) with `POST /v1/sandboxes` or from **Dashboard → API Tokens → Sandboxes**. It is a separate, empty workspace reached with its own `lb_test_` token: nothing you do there touches your live data, it is never billed, and it is deleted 30 days after creation.
### What's the maximum file size for QR code central images?
Central images have a 3MB file size limit. Use optimized PNG or JPEG formats for best results. The API automatically handles image processing and optimization.
The Linkbreakers API transforms complex QR code operations into straightforward HTTP requests that integrate with any development workflow. Start with basic link creation, then explore advanced features like custom designs and webhook integration as your needs evolve.
Focus on building reliable error handling and respecting rate limits. The API grows with your requirements while maintaining simplicity for routine operations.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Analytics API
Source: https://linkbreakers.com/help/article/analytics
The Analytics API provides programmatic access to [QR code](https://linkbreakers.com/help/article/how-do-qr-codes-work) performance data, [visitor profiles](https://linkbreakers.com/help/article/whats-a-visitor), and [event streams](https://linkbreakers.com/help/article/what-are-events-in-linkbreakers) through REST endpoints. It enables automated reporting, business intelligence integration, and real-time monitoring for [workspace](https://linkbreakers.com/help/article/what-is-a-workspace) analytics data.
The API exposes the same data visible in the dashboard but through structured endpoints that support complex queries, bulk exports, and real-time access for integration with CRM systems, BI platforms, and custom analytics tools.
## Quick summary
- Learn how to access comprehensive QR code and visitor analytics through REST API endpoints
- Discover campaign performance data including scan counts, geographic distribution, and device breakdowns
- Master visitor analytics with behavioral scoring, audience segmentation, and lead qualification data
- Implement real-time event streams for operational dashboards and monitoring systems
- Explore authentication methods and rate limiting for secure and scalable API integration
- Understand bulk export capabilities and custom queries for business intelligence platforms
## Understanding the Analytics API architecture
The Analytics API provides structured access to the same performance data visible in your [Linkbreakers dashboard](https://app.linkbreakers.com/workspace/dashboard/visitors), but through programmable endpoints that support automated data collection, real-time monitoring, and integration with external analytics platforms. For implementation details, see our [API integration guide](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api).
Unlike traditional analytics platforms that provide limited API access, Linkbreakers exposes comprehensive analytics data through well-designed REST endpoints that support complex queries, flexible filtering, and efficient data retrieval at scale. This comprehensive access enables everything from simple reporting automation to sophisticated machine learning pipelines that analyze visitor behavior patterns.
The API architecture emphasizes performance and flexibility, supporting both real-time queries for operational dashboards and batch data extraction for business intelligence systems. Response formats are optimized for common integration scenarios while maintaining the depth needed for advanced analysis use cases.
All analytics data respects [workspace](https://linkbreakers.com/help/article/how-workspaces-function-in-linkbreakers) boundaries and [role-based access control](https://linkbreakers.com/help/article/what-is-role-based-access-control-in-linkbreakers), ensuring programmatic access maintains the same security and organizational isolation as manual dashboard usage.
## Core analytics endpoints overview
The Analytics API organizes data access around three primary endpoint types that align with campaign reporting, visitor analysis, and event tracking requirements.
| Endpoint Type | Primary Use | Data Returned | Update Frequency |
|---|---|---|---|
| Campaign Performance | Aggregate metrics across [links](https://linkbreakers.com/help/article/whats-a-link) and [tags](https://linkbreakers.com/help/article/how-to-use-tags-in-linkbreakers) | Scan counts, visitor metrics, geographic distribution, device breakdowns, temporal patterns | Real-time aggregation |
| Visitor Analytics | Individual profiles and audience segments | Engagement histories, [form data](https://linkbreakers.com/help/article/how-do-i-create-forms-in-my-qr-code-workflows), [visitor journeys](https://linkbreakers.com/help/article/what-is-a-visitor-journey), behavioral patterns | Updated per interaction |
| Event Streams | Granular interaction records | Individual scan events, timestamps, device data, location, [workflow](https://linkbreakers.com/help/article/what-is-a-workflow-in-linkbreakers-and-how-it-powers-automation) progression | Real-time and historical |
### Campaign performance endpoints
Campaign-level analytics provide aggregated metrics for performance analysis:
- **Link performance** includes scan counts, unique visitors, geographic distribution, device types, and engagement patterns
- **QR code analytics** provide scan success rates, error conditions, and technical performance metrics
- **Tag-based aggregation** enables portfolio analysis across campaign categories
### Visitor analytics endpoints
Visitor-focused endpoints provide person-centric data:
- **Individual profiles** include engagement histories, demographic information, and journey tracking
- **Audience segments** enable programmatic access to visitor groups based on behavior, geography, demographics, and engagement
- **Visitor journeys** show how far each visit got through the link's workflow steps and whether it reached the end
### Event stream analytics
Event-level data provides granular interaction visibility:
- **Real-time streams** deliver immediate access to scan events for operational dashboards and monitoring
- **Historical data** supports retrospective analysis, pattern identification, and machine learning development
- **Correlation analysis** enables multi-touchpoint attribution and journey mapping
## Authentication and access control
Analytics API access requires proper authentication and adheres to [workspace](https://linkbreakers.com/help/article/what-is-a-workspace)-level security policies.
| Authentication Method | Token Type | Created By | Access Scope | Validity |
|---|---|---|---|---|
| [API Tokens](https://linkbreakers.com/help/article/what-are-api-tokens) | Development | Admin/Tech roles | Test data, limited time ranges | Until revoked |
| [API Tokens](https://linkbreakers.com/help/article/what-are-api-tokens) | Production | Admin/Tech roles | Full workspace access | Until revoked |
| [API Tokens](https://linkbreakers.com/help/article/what-are-api-tokens) | Analytics | Admin/Tech roles | Read-only analytics endpoints | Until revoked |
### API token management
Analytics access requires [API tokens](https://app.linkbreakers.com/workspace/dashboard/api-tokens) created by admin or tech role users. Tokens inherit creator permissions and provide secure programmatic access without individual user credentials.
Token creation specifies access scopes that determine which analytics endpoints each token can access. This enables specialized tokens for different purposes while maintaining security boundaries.
Token rotation ensures long-term security through regular credential updates. The platform supports overlapping token validity periods for smooth transitions during security maintenance.
### Rate limiting and usage management
The API implements intelligent rate limiting balanced with integration needs:
- **Workspace-based limits** align with subscription level, with higher limits for Pro and Enterprise accounts
- **Intelligent throttling** adapts to usage patterns, providing additional capacity during off-peak hours
- **Batch optimization** handles bulk requests efficiently through specialized endpoints
## Common integration scenarios
The Analytics API supports three primary integration patterns for business intelligence, marketing automation, and custom analytics development.
| Integration Type | Data Frequency | Primary Use Cases | Recommended Endpoints |
|---|---|---|---|
| Business Intelligence | Scheduled (daily/hourly) | Historical analysis, trend reporting, executive dashboards | Bulk exports, time-range queries, aggregated metrics |
| Marketing Automation | Real-time | Lead qualification, behavioral triggers, CRM synchronization | [Webhooks](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers), visitor profiles, [visitor journeys](https://linkbreakers.com/help/article/what-is-a-visitor-journey) |
| Custom Analytics | Mixed | Industry metrics, predictive models, compliance reporting | Event streams, custom queries, filtered datasets |
### Business intelligence integration
BI platforms require reliable, scheduled data extraction for analysis:
- **Daily reporting** extracts performance metrics, visitor engagement, and campaign results for executive dashboards
- **Historical synchronization** ensures complete datasets spanning campaign lifecycles and seasonal patterns
- **Real-time feeds** support operational monitoring through live KPI updates
### Marketing automation integration
Marketing platforms benefit from real-time visitor data for immediate response:
- **Lead qualification** leverages scoring data to populate CRM systems and trigger sales notifications
- **Behavioral triggers** monitor actions to initiate email sequences and targeted campaigns
- **Campaign optimization** uses analytics to automatically adjust parameters and budgets
### Custom analytics development
Organizations with specialized requirements build custom tools:
- **Industry-specific metrics** calculate custom conversions aligned with business models
- **Predictive modeling** leverages datasets to build ML models for conversion prediction
- **Compliance reporting** ensures regulatory requirements through automated monitoring
## Data export and format options
The Analytics API supports multiple export patterns and response formats for different integration requirements.
| Export Method | Format | Use Case | Performance | Pagination |
|---|---|---|---|---|
| Standard Queries | JSON | Real-time dashboards, single-record lookups | Fast | Cursor-based |
| Bulk Exports | JSON/Compressed | BI synchronization, historical analysis | Optimized for volume | Time-range based |
| Incremental Sync | JSON | Regular updates, change detection | Efficient delta transfer | Timestamp-based |
| Custom Queries | JSON | Filtered datasets, specific analysis | Variable by complexity | Multi-dimensional |
### Response formats and structures
API responses use consistent JSON structures optimized for parsing and error handling:
- **Structured objects** include field types, validation information, and relationship indicators
- **Pagination** enables efficient handling through consistent interfaces across endpoints
- **Error responses** provide detailed failure information for retry logic
### Bulk export capabilities
Specialized endpoints optimize large-scale data extraction:
- **Time-range exports** extract analytics for specific date ranges with minimized resource usage
- **Incremental synchronization** detects changes since previous operations for efficient updates
- **Compressed formats** reduce bandwidth through intelligent compression for large operations
### Custom query capabilities
Flexible query interfaces support complex analysis requirements:
- **Multi-dimensional filtering** combines visitor attributes, campaign characteristics, temporal constraints, and performance criteria
- **Aggregation functions** calculate server-side statistics and trends to reduce data transfer
- **Custom field selection** includes only requested fields to optimize bandwidth and performance
## Real-time analytics and monitoring
Live data access enables operational monitoring and immediate response automation for campaign performance changes.
### Webhook integration for live updates
[Webhook systems](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) deliver immediate notifications of analytics events. Learn more about [how webhooks work](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) and [visitor tracking capabilities](https://linkbreakers.com/help/article/how-can-i-track-who-scans-my-qr-codes).
- **Event-driven notifications** eliminate polling overhead for high-value engagement and conversions
- **Custom triggers** enable tailored notification policies aligned with business requirements
- **Reliability features** include automatic retry, delivery confirmation, and failure handling
### Performance monitoring and alerting
Automated monitoring detects issues and optimization opportunities:
- **Threshold monitoring** detects performance changes indicating technical issues or opportunities
- **Trend analysis** identifies gradual changes affecting long-term effectiveness
- **Comparative alerts** monitor performance relative to baselines and seasonal patterns
### Operational dashboard integration
Real-time feeds support dashboards for immediate visibility:
- **Live metrics** enable immediate response to campaign changes and engagement spikes
- **Visitor tracking** supports sales and marketing teams monitoring high-value engagement
- **System health** provides visibility into QR code functionality and redirect performance
## Advanced analytics features
Advanced API capabilities support complex queries and specialized analytics integration.
### Cohort analysis and retention tracking
Cohort analysis tracks visitor segments across time:
- **Time-based cohorts** analyze engagement changes, repeat patterns, and lifecycle value
- **Behavioral cohorts** group visitors by interaction patterns and demographics
- **Retention analysis** tracks return frequency and long-term relationship factors
### Attribution modeling and journey analysis
Attribution analysis understands multi-touchpoint campaign effectiveness:
- **Multi-touch attribution** analyzes journeys across QR codes and campaigns to optimize resource allocation
- **Cross-campaign analysis** reveals interaction patterns across simultaneous campaigns
- **Journey mapping** identifies progression patterns, bottlenecks, and successful pathway designs
### Predictive analytics integration
Machine learning leverages comprehensive datasets for optimization:
- **Visitor journeys** provide [workflow completion](https://linkbreakers.com/help/article/what-is-a-visitor-journey) signals for your own models and conversion prediction
- **Performance prediction** uses historical data to predict campaign performance and optimize timing
- **Automated optimization** adjusts parameters based on performance patterns and predictive models
## API security and best practices
Production integrations require security practices, efficient resource usage, and reliable error handling.
### Security implementation requirements
Analytics data requires protection throughout collection, transmission, and storage:
- **Transport security** requires HTTPS for all communications with proper certificate validation
- **Token security** includes secure storage, regular rotation, and access logging for audit trails
- **Data handling** ensures encryption at rest, access controls, and retention policies aligned with privacy regulations
### Performance optimization strategies
Efficient API usage reduces costs and improves reliability:
- **Query optimization** uses appropriate filtering, field selection, and aggregation to minimize data transfer
- **Caching strategies** balance data freshness with API efficiency through intelligent local storage
- **Error handling** ensures reliability through appropriate responses to service issues and rate limiting
### Monitoring and maintenance
Production integrations require ongoing monitoring:
- **Usage monitoring** tracks consumption patterns, performance trends, and error rates
- **Integration health** provides visibility into data quality and processing performance
- **Documentation** ensures maintainability as capabilities evolve and requirements change
## Frequently Asked Questions
### What analytics data is available through the API?
The Analytics API provides access to all performance data visible in your dashboard, including visitor profiles, scan events, campaign metrics, geographic data (country, region, city, timezone, ISP, ASN), device information, and behavioral analytics. Data access respects workspace permissions and subscription levels.
### How do API rate limits work for analytics endpoints?
Rate limits vary by subscription level and endpoint type, with higher limits for Pro and Enterprise accounts. Real-time endpoints have different limits than bulk export operations, and intelligent throttling provides additional capacity during off-peak hours.
### Can I access real-time analytics data through the API?
Yes, the API supports both real-time data queries and webhook notifications for immediate updates. Real-time capabilities include live visitor tracking, immediate scan event access, and automated alerting for performance thresholds.
### What authentication methods does the Analytics API support?
Analytics API access requires workspace API tokens created through the dashboard. Tokens inherit creator permissions and support scoped access control for different integration requirements and security policies.
### How far back does historical analytics data extend?
Historical data availability depends on your subscription level and data retention policies. Pro and Enterprise accounts typically have access to complete historical data, while free accounts may have limited retention periods.
### Can I export analytics data in bulk for business intelligence systems?
Yes, specialized bulk export endpoints support efficient large-scale data extraction with optimization for BI integration. These endpoints support time-range queries, incremental synchronization, and compressed data formats for efficient processing.
### Does the Analytics API support custom metrics and calculated fields?
The API provides raw data and standard calculations, with server-side aggregation functions for common scenarios. Custom metric calculation typically occurs in integration systems using the comprehensive raw data available through API endpoints.
### How does the Analytics API handle visitor privacy and GDPR compliance?
Analytics API access respects all privacy settings, consent management, and data protection policies configured in your workspace. Data access follows the same privacy controls as dashboard usage, ensuring compliance with applicable regulations.
### What's the difference between the Analytics API and webhook notifications?
The Analytics API provides on-demand access to comprehensive historical and current data, while webhooks deliver immediate notifications of specific events. Most integrations use both approaches for comprehensive analytics automation.
### Can I integrate Analytics API data with external BI platforms like Tableau or Power BI?
Yes, the API's JSON responses and bulk export capabilities are designed for BI integration. Many organizations build custom connectors or use API middleware to synchronize Linkbreakers analytics with their preferred business intelligence platforms.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to integrate Linkbreakers with existing tech stack
Source: https://linkbreakers.com/help/article/how-to-integrate-linkbreakers-with-existing-tech-stack
## Short answer
This article explains how to integrate linkbreakers with existing tech stack with practical guidance, limits, and implementation details so you can apply it consistently.
Modern marketing operations depend on seamless data flow between specialized platforms that each handle different aspects of customer engagement. Integrating Linkbreakers with your existing technology stack transforms isolated QR code campaigns into comprehensive customer journey components that leverage your full marketing infrastructure.
## Quick summary
- Learn API-first integration approaches for programmatic campaign management and analytics access
- Discover webhook-driven real-time integration for immediate response to visitor engagement
- Master CRM synchronization with contact enrichment and sales process automation
- Implement marketing automation triggers based on QR code behavioral data
- Explore analytics platform integration for comprehensive business intelligence reporting
- Understand custom integration development best practices and deployment strategies
## Integration architecture overview
Linkbreakers provides multiple integration pathways that accommodate different technical architectures, organizational requirements, and existing system configurations. Understanding these options helps you design integrations that maximize value while minimizing technical complexity and maintenance overhead.
### API-first integration approach
The comprehensive [Linkbreakers API](https://linkbreakers.com/help/api) serves as the foundation for most technical integrations, providing programmatic access to campaign management, visitor data, analytics, and operational functionality that mirrors dashboard capabilities while enabling automation and custom workflows. For detailed implementation guidance, see our [API usage guide](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api).
**REST API architecture** follows industry standards for reliable integration with existing systems, supporting standard HTTP methods, JSON data formats, and predictable response structures that integrate smoothly with most modern business systems and development frameworks.
**Authentication and security** use industry-standard API tokens and secure communication protocols that protect data integrity while enabling the programmatic access necessary for sophisticated automation and integration scenarios across diverse technical environments.
**Rate limiting and performance** balance system reliability with integration needs through intelligent throttling that accommodates both real-time operational requirements and bulk data processing scenarios without compromising platform stability or user experience.
**Comprehensive endpoint coverage** provides access to all platform functionality including campaign creation, visitor management, analytics retrieval, and administrative operations, ensuring integrations can replicate manual operations programmatically when automation provides business value.
This API-first approach enables sophisticated integrations that leverage Linkbreakers capabilities within existing business processes and technical workflows rather than requiring separate operational procedures or data silos.
### Webhook-driven real-time integration
[Webhook systems](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) complement API access by delivering immediate notifications of significant events, visitor activities, and campaign changes that enable real-time response to engagement patterns and business opportunities. Learn more about [webhook implementation details](https://linkbreakers.com/help/article/how-do-webhooks-work-in-linkbreakers) and explore [marketing automation integration](https://linkbreakers.com/help/article/automate-your-lead-generation-with-qr-codes-zapier).
**Event-driven architecture** eliminates polling overhead while ensuring immediate response to important changes like high-value visitor engagement, conversion events, or campaign performance thresholds that require prompt attention or automated action.
**Configurable trigger systems** enable tailored notification policies that align with specific business requirements and operational procedures rather than generic alerting that might generate excessive notifications or miss important events.
**Reliable delivery mechanisms** include automatic retry logic, delivery confirmation, and failure handling that ensure critical notifications reach destination systems even during network issues or temporary service interruptions.
**Rich event payloads** include comprehensive context and related data that enable receiving systems to take appropriate action without requiring additional API calls for basic information needed to process events effectively.
Webhook integration creates responsive technical architectures that react to visitor engagement and campaign changes as they occur rather than through delayed batch processing that might miss immediate opportunities.
### Direct platform integrations
Popular business systems benefit from pre-built integration options that simplify connection processes and reduce technical implementation requirements while providing sophisticated data synchronization and workflow automation.
**CRM platform connections** automatically synchronize visitor data, lead information, and engagement history with customer relationship management systems, ensuring sales teams have immediate access to campaign context and behavioral intelligence for effective follow-up.
**Marketing automation integration** connects visitor behavior, campaign performance, and engagement patterns with automated marketing workflows that can respond to QR code interactions with personalized email sequences, targeted advertising, and customized content delivery.
**Analytics platform synchronization** feeds campaign data, visitor insights, and performance metrics into business intelligence systems that combine QR code analytics with broader marketing and business data for comprehensive reporting and analysis.
**Business system APIs** enable custom integrations with specialized platforms including inventory management, event registration, customer service, and industry-specific systems that benefit from campaign data and visitor intelligence.
These direct integrations reduce technical complexity while providing sophisticated functionality that leverages existing business system investments and operational procedures.
## CRM and customer data platform integration
Customer relationship management systems serve as the central repository for prospect and customer information, making CRM integration essential for organizations that want to leverage QR code campaign data for sales and marketing activities.
### Contact synchronization and lead management
**Automatic contact creation** generates CRM records when visitors provide information through [campaign forms](https://linkbreakers.com/help/article/how-to-create-a-form), ensuring lead capture workflows operate smoothly without manual data transfer or duplicate record management overhead.
**Behavioral data enrichment** adds campaign engagement history, QR code interaction patterns, and behavioral analytics to existing CRM records, providing sales teams with comprehensive context about prospect activities and interests beyond basic contact information.
**Journey data integration** passes each visit's journey (steps reached, steps on the path, and whether the visitor reached the end) and the visitor's attributes to CRM fields, so your CRM can prioritize leads using campaign engagement alongside demographic and firmographic criteria.
**Opportunity attribution** connects QR code campaign engagement with sales opportunities and revenue outcomes, enabling comprehensive marketing attribution that reveals how campaigns contribute to business results over extended time periods.
This synchronization ensures CRM systems become comprehensive repositories for visitor intelligence that support both immediate sales activities and long-term customer relationship development strategies.
### Sales process automation and intelligence
**Activity timeline integration** provides sales teams with chronological histories of visitor campaign interactions, including QR code scans, form completions, content engagement, and behavioral patterns that inform personalized outreach strategies.
**Lead qualification automation** automatically updates CRM lead status and sales stage progression based on campaign engagement patterns and behavioral indicators that demonstrate increasing interest or qualification levels.
**Follow-up trigger systems** initiate CRM workflows and sales task creation based on specific visitor actions or engagement thresholds that indicate immediate sales opportunity or optimal outreach timing.
**Performance reporting integration** combines CRM opportunity data with campaign analytics to provide comprehensive sales and marketing attribution reports that reveal campaign contribution to business results and optimize resource allocation decisions.
These automation capabilities ensure sales teams can focus on high-value activities while remaining informed about prospect engagement and qualification without requiring manual campaign monitoring or data analysis.
### Customer lifecycle and retention integration
**Customer journey mapping** connects pre-sale campaign engagement with post-sale customer activities, providing comprehensive lifecycle visibility that informs both sales strategies and customer success initiatives.
**Retention and expansion analytics** identify existing customers who engage with new campaigns, indicating expansion opportunities, product interest, or potential churn risks that require proactive customer success intervention.
**Segmentation and personalization** leverage campaign engagement patterns to enhance CRM segmentation strategies and enable more sophisticated personalization of sales outreach, customer communications, and service delivery approaches.
**Loyalty program integration** connects campaign participation with customer loyalty systems, enabling reward point allocation, tier advancement, or special recognition based on QR code engagement and advocacy activities.
This lifecycle integration ensures campaign data contributes to customer relationship development throughout the entire business relationship rather than only during initial acquisition phases.
## Marketing automation platform integration
Marketing automation systems orchestrate sophisticated campaigns that nurture leads, engage customers, and drive conversions through personalized, multi-channel experiences that benefit significantly from QR code engagement data and visitor intelligence.
### Behavioral trigger automation
**Engagement-based workflows** initiate automated email sequences, content delivery, and personalized experiences based on specific QR code interactions or visitor behavior patterns that indicate particular interests or qualification levels.
**Abandoned workflow recovery** automatically re-engages visitors who started but didn't complete campaign workflows, using personalized messaging and incentives that address potential barriers or concerns that prevented initial conversion.
**Cross-channel orchestration** coordinates QR code campaign data with email marketing, social media advertising, and other channels to create cohesive multi-touchpoint experiences that reinforce messaging and increase conversion effectiveness.
**Timing optimization** leverages visitor engagement patterns and behavioral data to determine optimal communication timing, frequency, and channel preferences that maximize response rates while respecting visitor preferences.
These behavioral triggers create responsive marketing systems that adapt to individual visitor actions and interests rather than generic demographic assumptions or arbitrary timing schedules.
### Personalization and dynamic content
**Content customization** adapts marketing messages, offers, and user experiences based on QR code campaign history, engagement patterns, and visitor characteristics captured through campaign interactions and form submissions.
**Progressive profiling** gradually builds comprehensive visitor profiles through multiple campaign interactions and form completions, enabling increasingly sophisticated personalization without overwhelming initial engagement experiences.
**Preference management** respects visitor communication preferences, frequency settings, and content interests captured through campaign interactions, ensuring marketing automation enhances rather than detracts from visitor experience.
**A/B testing integration** incorporates campaign engagement data into marketing automation testing frameworks, enabling sophisticated experimentation that combines QR code performance with broader marketing campaign optimization.
This personalization creates more relevant marketing experiences that build stronger relationships and drive higher conversion rates through data-driven customization and preference respect.
### Lead nurturing and qualification
**Qualification automation** updates marketing automation records based on how far visitors got through the workflow and the attributes they submitted, which indicate sales readiness or specific product interests.
**Nurture sequence optimization** adapts automated email sequences and content delivery based on visitor engagement with QR code campaigns, ensuring nurture programs remain relevant and valuable throughout extended relationship development periods.
**Sales readiness identification** automatically identifies and prioritizes visitors who demonstrate qualification criteria through campaign engagement, ensuring sales teams focus on highest-value prospects when they're most likely to convert.
**Re-engagement campaigns** target previous campaign participants who haven't engaged recently, using campaign history and preference data to create personalized win-back campaigns that rebuild engagement and relationship momentum.
These lead nurturing capabilities ensure marketing automation systems can leverage comprehensive visitor intelligence for more effective relationship development and conversion optimization.
## Analytics and business intelligence integration
Business intelligence platforms combine QR code campaign data with broader organizational metrics to provide comprehensive insights that inform strategic planning, budget allocation, and performance optimization across entire marketing portfolios.
### Data warehouse and ETL integration
**Automated data extraction** pulls campaign analytics, visitor information, and performance metrics into data warehouses through scheduled APIs calls or real-time streaming that ensures business intelligence systems have current, complete datasets.
**Data transformation and normalization** converts Linkbreakers data formats into standardized schemas that align with existing business intelligence architectures and enable consistent analysis across different data sources and time periods.
**Historical data preservation** maintains campaign performance history and visitor engagement records over extended periods that support trend analysis, seasonal pattern identification, and long-term strategic planning based on comprehensive datasets.
**Cross-platform correlation** combines QR code analytics with data from other marketing channels, sales systems, and business operations to provide holistic performance insights that reveal interaction effects and optimization opportunities.
This data integration creates comprehensive business intelligence capabilities that incorporate campaign performance into broader organizational analysis and strategic decision making processes.
### Performance dashboards and reporting
**Executive dashboard integration** includes key QR code campaign metrics in leadership reporting systems that provide visibility into marketing performance, customer acquisition effectiveness, and campaign return on investment alongside other business metrics.
**Operational monitoring dashboards** combine real-time campaign performance with business intelligence analysis to provide operational teams with immediate visibility into performance trends, optimization opportunities, and issues requiring attention.
**Attribution modeling and analysis** connects QR code campaign engagement with business outcomes through sophisticated attribution analysis that reveals how campaigns contribute to revenue generation, customer acquisition, and other business objectives.
**Comparative performance analysis** enables benchmarking of campaign performance against historical results, industry standards, or other marketing channels through standardized metrics and analytical frameworks that support data-driven optimization decisions.
These reporting capabilities ensure campaign performance data contributes to organizational understanding and strategic planning rather than remaining isolated in specialized analytics systems.
### Predictive analytics and machine learning
**Customer lifetime value modeling** incorporates campaign engagement patterns into predictive models that estimate visitor value, conversion probability, and optimal engagement strategies based on comprehensive behavioral and demographic datasets.
**Churn prediction and retention** analyzes campaign engagement patterns to identify customers at risk of churning and optimize retention campaigns based on engagement history and behavioral indicators that predict relationship deterioration.
**Market basket analysis** combines QR code campaign data with purchase history and product interaction data to identify cross-selling opportunities, product affinity patterns, and campaign optimization strategies that increase average order values.
**Campaign performance prediction** leverages historical campaign data and visitor behavior patterns to predict future campaign performance, optimize resource allocation, and improve campaign design based on data-driven insights rather than intuition.
This predictive capability transforms campaign data from historical reporting into forward-looking intelligence that supports proactive business strategies and optimization decisions.
## E-commerce and retail system integration
Retail and e-commerce operations benefit significantly from QR code campaign integration that connects visitor engagement with product information, inventory systems, and transaction processing for comprehensive customer journey visibility.
### Product information and inventory integration
**Dynamic product linking** connects QR codes with current product catalogs, inventory levels, and pricing information that ensures campaign visitors access current, accurate product information without manual campaign updates or outdated links.
**Inventory-based campaign automation** automatically adjusts campaign messaging, product recommendations, and availability based on current stock levels and inventory turnover patterns that prevent disappointing visitor experiences due to unavailable products.
**Price optimization integration** leverages campaign engagement data to inform dynamic pricing strategies, promotional timing, and discount optimization that maximizes revenue while maintaining visitor satisfaction and conversion rates.
**Product recommendation engines** analyze QR code campaign engagement patterns alongside purchase history and browsing behavior to provide personalized product suggestions that increase average order values and customer satisfaction.
This product integration ensures campaigns remain current and relevant while providing comprehensive visibility into how marketing activities drive product interest and sales outcomes.
### Purchase journey and transaction integration
**Cart abandonment recovery** identifies visitors who engage with product-focused campaigns but don't complete purchases, enabling targeted recovery campaigns that address barriers and provide incentives for conversion completion.
**Transaction attribution** connects QR code campaign engagement with eventual purchase decisions through comprehensive tracking that reveals campaign contribution to revenue generation across extended time periods and multiple touchpoints.
**Customer acquisition cost analysis** combines campaign investment with transaction data to calculate accurate customer acquisition costs and return on investment metrics that inform budget allocation and strategic planning decisions.
**Loyalty program integration** connects campaign engagement with existing loyalty systems, enabling point allocation, tier advancement, and special recognition based on QR code participation and product engagement activities.
These transaction integrations provide comprehensive visibility into how campaigns drive business results and contribute to customer lifetime value development.
### Omnichannel experience coordination
**Cross-channel inventory visibility** ensures QR code campaigns reflect accurate product availability across online and physical retail locations, preventing visitor frustration and enabling smooth transitions between digital and physical shopping experiences.
**Store locator integration** connects product-focused campaigns with physical store locations, enabling visitors to find nearby retail locations with desired products and creating seamless online-to-offline customer journeys.
**In-store experience enhancement** leverages campaign engagement data to personalize in-store experiences, provide relevant product recommendations, and enable sales associate intelligence that improves customer service quality.
**Click-and-collect optimization** connects online campaign engagement with in-store pickup services, enabling efficient fulfillment processes and enhanced customer convenience that drives satisfaction and repeat business.
This omnichannel coordination creates cohesive customer experiences that leverage campaign data across all interaction channels and touchpoints.
## Custom integration development
Organizations with unique requirements or specialized systems benefit from custom integration development that leverages Linkbreakers API capabilities to create tailored solutions that align with specific business processes and technical architectures.
### Integration planning and architecture
**Requirements analysis** identifies specific business objectives, data flow requirements, and technical constraints that shape integration design and implementation approaches for optimal business value and technical sustainability.
**Technical architecture design** determines integration patterns, data synchronization strategies, and system interaction models that balance performance, reliability, and maintainability while accommodating existing technical infrastructure.
**Security and compliance consideration** ensures integrations maintain appropriate data protection, access controls, and regulatory compliance throughout data collection, transmission, and storage phases of integrated workflows.
**Performance optimization planning** designs integration architectures that support expected usage volumes, response time requirements, and scalability needs without compromising system reliability or user experience quality.
This planning ensures custom integrations provide maximum business value while maintaining technical reliability and operational sustainability over time.
### Implementation best practices
**Modular development approaches** create integration components that can be developed, tested, and deployed independently while maintaining system reliability and enabling incremental enhancement over time.
**Error handling and resilience** implement robust error management, retry logic, and fallback mechanisms that ensure integration reliability even during network issues, system maintenance, or temporary service interruptions.
**Monitoring and observability** provide comprehensive visibility into integration performance, data flow quality, and system health through logging, metrics, and alerting that enable proactive issue resolution and performance optimization.
**Documentation and maintenance** create comprehensive integration documentation and maintenance procedures that enable ongoing support, enhancement, and troubleshooting by different team members over extended periods.
These implementation practices ensure custom integrations remain reliable, maintainable, and valuable over time as business requirements and technical environments evolve.
### Testing and deployment strategies
**Development environment isolation** enables safe integration development and testing without affecting production systems, campaign operations, or visitor experiences during development and testing phases.
**Comprehensive testing frameworks** validate integration functionality, data accuracy, error handling, and performance characteristics through systematic testing that identifies issues before production deployment.
**Phased deployment approaches** enable gradual integration rollout that minimizes risk while providing opportunities to identify and address issues through limited exposure before full implementation.
**Rollback and recovery procedures** ensure rapid restoration of previous functionality if integration issues arise, protecting business operations and campaign effectiveness during deployment or update processes.
These deployment strategies minimize integration risks while enabling confident implementation of sophisticated technical solutions that enhance business operations.
## Frequently Asked Questions
### What API capabilities does Linkbreakers provide for integration?
The Linkbreakers API provides comprehensive access to campaign management, visitor data, analytics, and administrative functionality. You can create QR codes, retrieve performance data, manage visitor information, and automate most dashboard operations programmatically.
### How do webhooks work for real-time integration?
Webhooks deliver immediate notifications of visitor actions, campaign events, and system changes to your specified endpoints. This enables real-time response to engagement patterns without polling APIs for updates.
### Can I integrate Linkbreakers with my existing CRM system?
Yes, Linkbreakers integrates with most CRM systems through API connections that synchronize visitor data, lead information, and engagement history. Many popular CRMs have established integration patterns and documentation.
### What authentication methods are required for API integration?
API integration requires workspace API tokens created through the dashboard. Tokens inherit creator permissions and support scoped access control for different integration requirements and security policies.
### How do I handle rate limits in my integrations?
API rate limits vary by subscription level and endpoint type. Implement exponential backoff retry logic, batch operations where possible, and monitor usage to stay within limits while maintaining integration reliability.
### Can I build custom integrations with specialized business systems?
Yes, the comprehensive API enables custom integrations with any system that supports HTTP APIs. Consider using webhooks for real-time notifications and bulk API operations for data synchronization.
### What data formats are supported for integration?
The API uses JSON for all data exchange, with consistent schemas and comprehensive documentation. Webhook payloads also use JSON format with rich context and related data for comprehensive event processing.
### How do I ensure integration security and compliance?
Use HTTPS for all API communication, implement proper token security, and ensure receiving systems maintain appropriate data protection. Consider compliance requirements like GDPR for visitor data handling.
### What testing approaches work best for Linkbreakers integrations?
Use development environments for testing, implement comprehensive error handling, and validate data accuracy through systematic testing. Consider webhook testing tools for event-driven integration validation.
### How do I monitor integration performance and health?
Implement comprehensive logging, monitor API response times and error rates, and set up alerting for integration failures. Use the API's monitoring capabilities to track usage patterns and performance trends.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# How to use white label in Linkbreakers? Resell our system to your own customers
Source: https://linkbreakers.com/help/article/how-to-use-white-label-in-linkbreakers
## Short answer
This article explains how to use white label in linkbreakers resell our system to your own customers with practical guidance, limits, and implementation details so you can apply it consistently.
Building your own QR code platform from scratch is like reinventing the wheel. The infrastructure, reliability concerns, and feature development can consume months of engineering time that could be spent on core business value.
Linkbreakers' white label solution turns this around. Instead of building QR code technology, you get enterprise-grade infrastructure that scales infinitely while appearing completely as your own product. Your customers never see the Linkbreakers brand. They experience your solution.
Think of it as having a complete QR code platform team working behind the scenes while you focus on customer relationships and business growth. The heavy lifting of QR generation, analytics, custom domains, and scaling happens automatically.
## Quick summary
- Transform Linkbreakers into your branded QR code platform with enterprise plan architecture
- Implement infinite scaling without limits using consumption-based billing model
- Master custom domains for complete brand control across all customer touchpoints
- Create API-driven dashboards to replicate core functionality within your application
- Build customer segmentation using tags and metadata for isolation and organization
- Develop white label revenue models with usage-based pricing and value-added services
> Most constructions of Linkbreakers can be built via the Linkbreakers API. Full documentation is available at https://linkbreakers.com/help/api
## The foundation: enterprise plan architecture
White labeling begins with the Enterprise Plan, which fundamentally changes how billing and scaling work. Unlike fixed-price tiers, enterprise billing operates on usage consumption, creating a perfect foundation for reseller economics.
### Infinite scaling without limits
Self-serve plans come with monthly allowances: Pro's credits pay for 250 links a month, and anything beyond that needs top-ups. The Enterprise Plan removes these monthly caps entirely.
Your billing scales with actual usage:
- QR code creation: billed per generated code
- Scan events: charged per scan action
- API requests: metered per call
- Custom domains: unlimited additions
- Team members: no artificial restrictions
This consumption model means you can serve one customer with 50 QR codes or 50,000 QR codes using the same account structure. Stripe automatically tracks and bills usage, removing billing complexity from your operations.
### Resource isolation through intelligent filtering
Customer data remains completely isolated within your single enterprise workspace through sophisticated filtering and tagging mechanisms. The platform automatically separates customer resources without requiring separate workspace accounts.
Smart filtering ensures customers can't access each other's data through API calls or dashboard views. Your enterprise account provides the foundation while automatic segmentation creates natural security boundaries for customer isolation.
## Custom domain mastery for brand control
Custom domains transform generic linkbreakers.com URLs into your branded experience. This creates seamless customer experiences where your brand remains prominent throughout the QR code journey.
### Customer domain integration
Your customers can use their own domains for QR code destinations, creating end-to-end branded experiences. Configure domains through the [Custom domains](https://app.linkbreakers.com/workspace/dashboard/custom-domains) dashboard or API.
```javascript
// Add customer domain via API
const domainResponse = await fetch('https://api.linkbreakers.com/v1/custom-domains', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
domain: 'qr.customer-company.com',
workspace_id: 'customer-workspace-uuid'
})
});
```
Domain verification happens automatically through Cloudflare integration. DNS validation, SSL certificate provisioning, and CDN distribution occur without manual intervention.
### Multi-tenant domain strategy
Implement sophisticated domain strategies for different customer tiers:
1. **Shared subdomain**: All customers use variations of your domain (`customer1.yourqr.com`)
2. **Customer domains**: Each customer brings their own domain
3. **Hybrid approach**: Mix of shared and custom domains based on pricing tiers
The [Custom domains API documentation](https://linkbreakers.com/help/api) provides complete implementation details for each approach.
## API-driven dashboard recreation
The Linkbreakers API exposes virtually every dashboard feature as programmable endpoints. This enables complete dashboard recreation within your own application stack.
### Core functionality replication
Recreate essential dashboard features using API calls:
**Link management interface:**
```javascript
// Fetch customer's links with pagination
const linksResponse = await fetch(
'https://api.linkbreakers.com/v1/links?page_size=50&include=qrcodeDesign,customDomain',
{
headers: {
'Authorization': 'Bearer CUSTOMER_WORKSPACE_TOKEN'
}
}
);
// Create new QR codes from your interface
const newLinkResponse = await fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer CUSTOMER_WORKSPACE_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: customerData.targetUrl,
name: customerData.campaignName,
qrcode_design_id: selectedDesignId
})
});
```
**Analytics dashboard recreation:**
```javascript
// Build custom analytics views
const eventsResponse = await fetch(
'https://api.linkbreakers.com/v1/events/list?' +
new URLSearchParams({
start_date: '2024-01-01T00:00:00Z',
end_date: '2024-01-31T23:59:59Z',
include: 'visitor,device,link,journey'
}),
{
headers: {
'Authorization': 'Bearer CUSTOMER_WORKSPACE_TOKEN'
}
}
);
// Export customer data for external analysis
const csvExport = await fetch(
'https://api.linkbreakers.com/v1/events/list?response_format=RESPONSE_FORMAT_CSV',
{
headers: {
'Authorization': 'Bearer CUSTOMER_WORKSPACE_TOKEN'
}
}
);
```
### Authentication and API tokens
Generate API tokens through the [Workspace tokens](https://app.linkbreakers.com/workspace/dashboard/api-tokens) interface. These tokens provide access to your enterprise workspace with built-in filtering capabilities for customer isolation.
Store tokens securely in your system and combine them with customer-specific filtering parameters in API calls. Token-based authentication enables stateless API integration without complex OAuth flows while maintaining customer data separation.
## Advanced customer segmentation with tagging and metadata
Smart customer segmentation prevents data mixing while enabling sophisticated organization within your white label solution.
### Tag-based customer isolation
Tags create logical boundaries within your enterprise workspace, enabling customer-specific views and operations:
```javascript
// Create customer-specific QR codes
const customerLinks = await fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: 'https://customer-site.com/landing',
name: 'Customer Campaign',
tags: [`customer-${customerId}`, 'premium-tier', 'q4-campaign'],
metadata: {
customer_id: customerId,
billing_tier: 'premium',
account_manager: 'sarah@yourcompany.com'
}
})
});
```
### Flexible metadata for custom properties
JSONB metadata fields accommodate any customer-specific data structure. Store billing information, account details, or integration parameters directly with each QR code resource.
Metadata enables sophisticated filtering and reporting:
```javascript
// Query customer-specific resources
const customerQRCodes = await fetch(
'https://api.linkbreakers.com/v1/links?' +
new URLSearchParams({
tags: `customer-${customerId}`,
include: 'metadata,customDomain'
}),
{
headers: {
'Authorization': 'Bearer YOUR_JWT_TOKEN'
}
}
);
```
Tag and metadata combinations create powerful segmentation without requiring separate workspaces for each customer, simplifying your account structure while maintaining clear boundaries.
## Integration patterns for existing tech stacks
The API-first architecture means Linkbreakers integrates cleanly with existing customer technology without requiring dashboard usage.
### Webhook integration for real-time events
Connect customer systems to QR code events using [webhooks](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks):
```javascript
// Create a webhook that fires when a visit ends or a step such as a form is completed
const webhookResponse = await fetch('https://api.linkbreakers.com/v1/webhooks', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ENTERPRISE_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Customer CRM sync',
endpointUrl: 'https://your-system.com/customer-webhook-handler',
triggers: ['KIND_EXIT', 'KIND_INTERACTION']
})
});
```
Webhook events include comprehensive scan data, visitor information, and custom metadata, enabling sophisticated integration with CRM systems, marketing automation, or analytics platforms.
### CRM and marketing automation connections
Real-time webhook data connects QR code activity with existing customer workflows:
```javascript
// Example webhook handler with customer filtering
app.post('/customer-webhook-handler', async (req, res) => {
// The X-Linkbreakers-Event header is always "event.completed": route on the body's type
const { type, event } = req.body;
if (type === 'event.completed') {
// Extract customer ID from link tags or metadata
const customerId = event.link.metadata?.customer_id;
const customerTags = (event.link.tags || []).filter(tag => tag.name.startsWith('customer-'));
// Route to appropriate customer CRM
await routeToCustomerCRM(customerId, {
source: 'QR Code Scan',
campaign: event.link.metadata?.campaign_id,
visitor_data: event.visitor,
device: event.device
});
}
res.status(200).send('OK');
});
```
This enables customers to receive QR code intelligence within their existing business processes without learning new systems or changing workflows.
## Technical architecture for white label success
### API token management strategy
Implement structured token management for customer isolation and security:
1. **Enterprise API tokens**: Your primary account management with full access
2. **Customer-filtered requests**: Use tags and metadata to scope API calls to specific customers
3. **Feature-specific filtering**: Apply additional filters based on customer permissions and tiers
Rotate tokens periodically and monitor usage through the dashboard analytics to detect unusual activity patterns. Customer isolation happens through consistent filtering rather than separate token scopes.
### Scalability considerations
The enterprise infrastructure handles scaling automatically, but implement client-side best practices:
**Efficient bulk operations:**
```javascript
// Process multiple customers concurrently with proper tagging
const customerPromises = customers.map(async customer => {
return fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_ENTERPRISE_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
...customer.linkData,
tags: [`customer-${customer.id}`, ...customer.linkData.tags],
metadata: {
...customer.linkData.metadata,
customer_id: customer.id
}
})
});
});
const results = await Promise.all(customerPromises);
```
**Rate limit management:**
```javascript
// Implement exponential backoff for rate limits
async function apiCallWithRetry(url, options, maxRetries = 3) {
for (let attempt = 0; attempt <= maxRetries; attempt++) {
const response = await fetch(url, options);
if (response.status === 429) {
const retryAfter = response.headers.get('Retry-After') || Math.pow(2, attempt);
await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
continue;
}
return response;
}
}
```
### Data export and portability
Provide customers with complete data export capabilities:
```javascript
// Generate comprehensive customer data export
const exportData = {
links: await fetchAllCustomerLinks(customerId),
analytics: await fetchCustomerAnalytics(customerId, dateRange),
designs: await fetchCustomerDesigns(customerId),
domains: await fetchCustomerDomains(customerId)
};
// Export as JSON or CSV for customer portability
const csvData = convertToCSV(exportData);
```
Customer data portability builds trust and demonstrates platform confidence while meeting potential compliance requirements.
## Revenue models and pricing strategies
### Usage-based pricing pass-through
Enterprise consumption billing enables flexible customer pricing models:
1. **Direct pass-through**: Charge customers based on exact Linkbreakers usage
2. **Markup pricing**: Add margin to usage costs
3. **Tiered plans**: Bundle usage into customer-friendly packages
4. **Hybrid models**: Combine base fees with usage overages
### Customer billing automation
Track customer usage through filtered analytics and API calls:
```javascript
// Calculate customer usage from filtered events
const customerUsage = await fetch(
'https://api.linkbreakers.com/v1/events/list?' +
new URLSearchParams({
tags: `customer-${customerId}`,
start_date: billingPeriodStart,
end_date: billingPeriodEnd,
response_format: 'RESPONSE_FORMAT_CSV'
}),
{
headers: {
'Authorization': 'Bearer YOUR_ENTERPRISE_TOKEN'
}
}
);
// Process filtered usage data for customer invoicing
const usageData = await customerUsage.text();
```
Automated billing reduces operational overhead while providing transparent cost tracking for both you and customers.
### Value-added service opportunities
The white label platform creates opportunities for additional revenue streams:
- Custom QR code design services
- Integration consulting and development
- Managed analytics and reporting
- Training and onboarding programs
- Priority support and dedicated account management
## Implementation roadmap and best practices
### Phase 1: Foundation setup
1. **Enterprise plan activation**: Contact Linkbreakers team for enterprise account setup
2. **Domain strategy planning**: Determine customer domain approach
3. **API integration development**: Build core API connectivity with filtering mechanisms
4. **Customer tagging system**: Develop consistent customer identification and isolation patterns
### Phase 2: Core features
1. **Basic dashboard recreation**: Implement essential QR code management
2. **Custom domain integration**: Enable customer domain configuration
3. **Webhook event processing**: Connect customer systems to scan events
4. **Usage tracking implementation**: Build billing and analytics foundation
### Phase 3: Advanced features
1. **Advanced analytics dashboards**: Create sophisticated reporting interfaces
2. **Bulk operations**: Implement efficient mass QR code generation
3. **Integration marketplace**: Build connections to popular customer tools
4. **Advanced customization**: Offer deep branding and design options
### Common implementation challenges
**Customer data isolation**: Use consistent tagging and metadata strategies to prevent data leakage between customers.
**Rate limit management**: Implement proper retry logic and respect API limits to maintain service reliability.
**Webhook reliability**: Build idempotent webhook processors and implement replay mechanisms for failed deliveries.
**Customer onboarding**: Create streamlined flows that minimize setup complexity while maintaining security boundaries.
## Real-world use cases and success patterns
### Marketing agency white label
Marketing agencies use white label Linkbreakers to offer QR code services without building internal capabilities:
- **Client campaign management**: Tag-based filtering keeps each client's QR codes completely separate
- **Branded deliverables**: Client domains ensure consistent brand experience
- **Performance reporting**: Automated analytics integration with agency reporting tools using customer-specific filtering
- **Scalable operations**: Handle multiple client campaigns without operational overhead through intelligent tagging
### Event management platform integration
Event platforms integrate QR code functionality for attendee tracking and engagement:
- **Registration QR codes**: Generate unique codes for each attendee
- **Real-time tracking**: Webhook integration with event management systems
- **Custom branding**: Event-specific domains and QR code designs
- **Analytics integration**: Scan data flows into event performance dashboards
### E-commerce platform enhancement
E-commerce platforms add QR code capabilities for product marketing and customer engagement:
- **Product catalog integration**: Generate QR codes for product pages
- **Marketing campaign tracking**: Connect QR scan data with customer purchase data
- **Multi-store support**: Isolate different store accounts using tag-based filtering
- **Mobile-first experiences**: QR codes drive app downloads and customer acquisition
## Security and compliance considerations
### Data privacy and GDPR compliance
Linkbreakers handles GDPR compliance at the infrastructure level, but implement additional protections for customer data:
- **Data residency**: Understand where customer QR scan data is processed and stored
- **Customer consent**: Implement proper consent mechanisms for QR code scanning
- **Data deletion**: Provide mechanisms for customers to delete their QR code data
- **Privacy policies**: Update privacy documentation to reflect QR code data collection
Learn more about Linkbreakers' GDPR compliance in our [privacy documentation](https://linkbreakers.com/help/article/what-is-gdpr-and-how-does-linkbreakers-handle-it).
### API security best practices
Implement enterprise-grade security for customer protection:
**Token management:**
- Store tokens in secure credential management systems
- Implement token rotation policies
- Monitor for unusual API usage patterns
- Use environment-specific tokens for development vs production
**Customer data protection:**
- Validate all API inputs before processing
- Implement proper error handling to prevent information disclosure
- Use HTTPS for all API communications
- Log security events for audit trails
### Access control and permissions
Design clear permission boundaries:
1. **Admin access**: Your team manages enterprise account and customer workspaces
2. **Customer access**: Customers can only access their designated workspace resources
3. **API scope limitations**: Tokens provide minimal required permissions for specific functions
4. **Audit logging**: Track all API usage and administrative actions
## Monitoring and operational excellence
### Performance monitoring
Monitor white label platform performance using multiple layers:
**API performance tracking:**
- Response time monitoring for critical endpoints
- Error rate tracking and alerting
- Usage pattern analysis for capacity planning
- Customer-specific performance metrics
**Customer experience monitoring:**
- QR code scan success rates
- Custom domain resolution performance
- Webhook delivery success rates
- Customer support ticket volume and resolution times
### Operational dashboards
Build comprehensive operational visibility:
```javascript
// Example monitoring dashboard data
const operationalMetrics = {
totalCustomers: await getActiveCustomerCount(),
totalQRCodes: await getTotalQRCodeCount(),
dailyScans: await getDailyScansCount(),
apiResponseTimes: await getAPIResponseTimes(),
customerSatisfaction: await getCustomerSatisfactionScores()
};
```
Dashboard visibility enables proactive problem resolution and capacity planning.
### Customer success and support
Create structured customer success processes:
1. **Onboarding checklists**: Ensure consistent customer setup experiences
2. **Usage monitoring**: Identify customers who might need additional support or upselling
3. **Performance optimization**: Help customers optimize their QR code strategies
4. **Feature education**: Keep customers informed about new capabilities and best practices
## Frequently Asked Questions
### How much does enterprise white label cost?
Enterprise plans use consumption-based billing with monthly minimums. Contact the Linkbreakers team for specific pricing based on projected usage volumes.
### Can customers use their own domains with white label?
Yes, customers can configure unlimited custom domains through your white label platform. Domain verification and SSL certificates are handled automatically.
### What happens if I exceed usage limits?
The enterprise plan has no hard usage limits. Billing automatically scales with usage, preventing service interruptions during high-traffic periods.
### How do I prevent customers from accessing each other's data?
Use consistent tagging and metadata strategies with your enterprise API tokens. The platform's automatic filtering ensures customers only see their own QR codes and analytics data through proper tag-based isolation.
### Can I customize the QR code generation beyond basic branding?
Yes, the QR code design API provides comprehensive customization options including gradients, logos, shapes, and export formats. You can create sophisticated branded experiences.
### How do I handle customer data export requests?
The API provides complete data export capabilities. Build automated export functions that retrieve all customer links, analytics, and configurations in standard formats.
### What's the difference between white label and regular API integration?
White label includes unlimited usage scaling, custom domain support, and enterprise billing models. Regular API integration has plan-based limits and doesn't support extensive branding customization.
### How reliable is the white label infrastructure?
Linkbreakers runs on enterprise-grade infrastructure with 99.9% uptime SLAs, global CDN distribution, and automatic scaling. Your white label platform inherits this reliability.
The white label approach transforms months of development work into days of integration effort. Instead of building QR code technology, you're building customer relationships and business value while leveraging proven enterprise infrastructure.
Start with the core API integration and gradually add advanced features as customer needs evolve. The platform grows with your business while maintaining simplicity for routine operations.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Linkbreakers Developer Ecosystem: SDKs, CLI, and AI Integration
Source: https://linkbreakers.com/help/article/linkbreakers-developer-ecosystem-overview
## Short answer
Linkbreakers provides a complete developer ecosystem for building QR code tracking and customer journey applications. The platform offers five official SDKs (TypeScript, Python, Go, Java, Rust), a command-line interface (CLI), and a Model Context Protocol (MCP) server for AI assistant integration. Every tool connects to the same unified REST API, giving developers flexibility to choose their preferred integration method while maintaining full platform capabilities including link management, workflow automation, visitor tracking, and analytics.
## Why Linkbreakers is built for developers
Linkbreakers is architected as an API-first platform where every dashboard feature is available programmatically. This approach enables developers to:
- **Integrate with any application stack** - Official SDKs for all major languages
- **Automate workflow creation** - Programmatically build complex customer journeys
- **Enable AI-driven operations** - Native LLM integration through MCP
- **Access real-time analytics** - Query visitor behavior and campaign performance
- **Scale link generation** - Bulk operations and batch processing
- **Embed QR functionality** - Generate and customize QR codes dynamically
The ecosystem is designed for both human developers and AI agents, with consistent patterns across all tools.
## Developer tools comparison
### High-level overview
| Tool | Best For | Installation | Use Cases |
|------|----------|--------------|-----------|
| **TypeScript SDK** | Web applications, Node.js backends | `pnpm add linkbreakers` | Next.js apps, React frontends, Express APIs |
| **Python SDK** | Data pipelines, automation scripts | `pip install linkbreakers` | FastAPI backends, Django apps, data analysis |
| **Go SDK** | High-performance services, CLI tools | `go get github.com/linkbreakers-com/linkbreakers-go` | Microservices, system utilities |
| **Java SDK** | Enterprise applications, Android | Maven/Gradle | Spring Boot, Android apps |
| **Rust SDK** | Systems programming, WebAssembly | Cargo | Performance-critical applications |
| **CLI** | Terminal workflows, CI/CD pipelines | `curl -fsSL https://cli.linkbreakers.com/install.sh \| bash` | Shell scripts, deployment automation |
| **MCP Server** | AI assistants (Claude, Continue) | No installation (hosted) | Natural language link management |
### Feature matrix
All tools connect to the same REST API and support identical operations:
| Feature | TypeScript | Python | Go | Java | Rust | CLI | MCP |
|---------|-----------|--------|-----|------|------|-----|-----|
| Link creation/management | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Bulk operations | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Workflow steps | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Visitor identification | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Analytics/metrics | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| QR code generation | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
| Custom domains | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Directory management | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| Type safety | ✅ | Partial | ✅ | ✅ | ✅ | N/A | N/A |
| Browser-safe operations | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
## Official SDKs
### TypeScript/JavaScript SDK
The TypeScript SDK supports both frontend visitor tracking and backend link management through dual authentication modes.
**Install:**
```bash
pnpm add linkbreakers
```
**Frontend usage (visitor tracking):**
```typescript
import { Configuration, VisitorsApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.NEXT_PUBLIC_LINKBREAKERS_PK, // Publishable key
basePath: 'https://api.linkbreakers.com',
});
const visitorsApi = new VisitorsApi(config);
const lbid = new URLSearchParams(window.location.search).get('lbid');
await visitorsApi.visitorsServiceIdentify({
identifyRequest: {
lbid,
visitor: {
data: {
'$email': 'user@example.com',
'$firstName': 'John',
'plan': 'premium'
}
}
}
});
```
**Backend usage (link management):**
```typescript
import { Configuration, LinksApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY, // Secret key
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
const response = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: 'https://example.com/product',
name: 'Product Launch',
tags: ['marketing']
}
});
```
**Key features:**
- Full TypeScript type definitions
- Browser-safe publishable keys for frontend
- Secret keys for backend operations
- Framework examples for Next.js, Express, React
[View full TypeScript SDK guide →](/help/article/typescript-sdk-quickstart)
### Python SDK
The Python SDK provides Pythonic interfaces for Linkbreakers operations, ideal for data pipelines and backend services.
**Install:**
```bash
pip install linkbreakers
```
**Example usage:**
```python
from linkbreakers import Configuration, LinksApi
config = Configuration(
access_token=os.environ.get('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
links_api = LinksApi(config)
response = links_api.links_service_create(
create_link_request={
'destination': 'https://example.com/campaign',
'name': 'Email Campaign',
'tags': ['email', 'q2-2026'],
'metadata': {
'campaign_id': 'camp_123',
'source': 'newsletter'
}
}
)
print(f"Short URL: {response.link.shortlink}")
```
**Key features:**
- Type hints for IDE autocomplete
- Pythonic naming conventions (snake_case)
- Framework examples for FastAPI, Django, Flask
- Excellent for data analysis workflows
[View full Python SDK guide →](/help/article/python-sdk-quickstart)
### Go SDK
The Go SDK offers high-performance integration for microservices and system utilities.
**Install:**
```bash
go get github.com/linkbreakers-com/linkbreakers-go
```
**Example usage:**
```go
package main
import (
"context"
"os"
"github.com/linkbreakers-com/linkbreakers-go"
)
func main() {
config := linkbreakers.NewConfiguration()
config.AddDefaultHeader("Authorization", "Bearer " + os.Getenv("LINKBREAKERS_SECRET_KEY"))
config.Servers = linkbreakers.ServerConfigurations{
{URL: "https://api.linkbreakers.com"},
}
client := linkbreakers.NewAPIClient(config)
ctx := context.Background()
request := linkbreakers.NewCreateLinkRequest("https://example.com/docs")
request.SetName("Documentation")
request.SetTags([]string{"docs", "internal"})
response, _, err := client.LinksAPI.LinksServiceCreate(ctx).
CreateLinkRequest(*request).
Execute()
if err != nil {
panic(err)
}
println("Short URL:", response.Link.Shortlink)
}
```
**Key features:**
- Zero external dependencies
- Excellent performance characteristics
- Native Go idioms and error handling
- Ideal for CLI tools and microservices
[View full Go SDK guide →](/help/article/golang-sdk-quickstart)
### Java SDK
The Java SDK supports enterprise applications and Android development.
**Install (Maven):**
```xml
com.linkbreakerslinkbreakers-sdk1.175.0
```
**Example usage:**
```java
import com.linkbreakers.*;
import com.linkbreakers.api.*;
import com.linkbreakers.model.*;
import java.util.Arrays;
public class Example {
public static void main(String[] args) {
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.linkbreakers.com");
client.setBearerToken(System.getenv("LINKBREAKERS_SECRET_KEY"));
LinksApi api = new LinksApi(client);
CreateLinkRequest request = new CreateLinkRequest()
.destination("https://example.com/product")
.name("Product Page")
.tags(Arrays.asList("catalog", "featured"));
try {
CreateLinkResponse response = api.linksServiceCreate(request, null);
System.out.println("Short URL: " + response.getLink().getShortlink());
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
**Key features:**
- Maven and Gradle support
- Android compatibility
- Spring Boot integration examples
- Enterprise-grade error handling
[View full Java SDK guide →](/help/article/java-sdk-quickstart)
### Rust SDK
The Rust SDK provides memory-safe, high-performance integration for systems programming.
**Install (Cargo):**
```toml
[dependencies]
linkbreakers = "1.170.0"
```
**Example usage:**
```rust
use linkbreakers::{Configuration, LinksApi, CreateLinkRequest};
#[tokio::main]
async fn main() -> Result<(), Box> {
let config = Configuration {
base_path: "https://api.linkbreakers.com".to_string(),
bearer_access_token: Some(std::env::var("LINKBREAKERS_SECRET_KEY")?),
..Default::default()
};
let api = LinksApi::new(config);
let request = CreateLinkRequest {
destination: "https://example.com/rust-app".to_string(),
name: Some("Rust Application".to_string()),
tags: Some(vec!["rust".to_string(), "backend".to_string()]),
..Default::default()
};
let response = api.links_service_create(request).await?;
println!("Short URL: {}", response.link.unwrap().shortlink.unwrap());
Ok(())
}
```
**Key features:**
- Memory safety guarantees
- Async/await support with Tokio
- Zero-cost abstractions
- WebAssembly compilation support
[View full Rust SDK guide →](/help/article/rust-sdk-quickstart)
## Command-line interface (CLI)
The Linkbreakers CLI provides terminal-based access to all platform operations.
**Install:**
```bash
curl -fsSL https://cli.linkbreakers.com/install.sh | bash
```
**Authentication:**
```bash
linkbreakers auth set-token --token YOUR_WORKSPACE_TOKEN
```
**Common operations:**
```bash
# List links
linkbreakers links list --page-size 20
# Create link
linkbreakers links create \
--destination https://example.com \
--name "Campaign Link" \
--tags marketing,spring
# Get link details
linkbreakers links get LINK_ID
# Check domain status
linkbreakers custom-domains list
# Raw API access
linkbreakers raw GET /v1/links?pageSize=5
```
**Key features:**
- Human-readable table output
- JSON output for scripting
- CI/CD pipeline integration
- Self-updating capability
- Raw API mode for unreleased endpoints
- Designed for both humans and AI agents
**Use cases:**
- Shell script automation
- Deployment workflows
- Batch link creation
- Domain verification
- Quick terminal operations
[View full CLI guide →](/help/article/linkbreakers-cli-setup)
## AI integration via MCP server
The Linkbreakers MCP (Model Context Protocol) server enables AI assistants like Claude, Claude Code, and Continue to interact with your workspace using natural language.
**No installation required** - the server runs at `https://mcp.linkbreakers.com`
### Supported AI clients
| Client | Platform | Setup Time |
|--------|----------|------------|
| **Claude** (web/desktop) | Browser, macOS, Windows | < 2 minutes |
| **Claude Code** | CLI (macOS, Linux, Windows) | < 1 minute |
| **Continue** | VSCode extension | < 3 minutes |
### Setup for Claude Code
```bash
claude mcp add --transport http linkbreakers https://mcp.linkbreakers.com
```
Your client handles OAuth sign-in automatically when you first connect.
### Natural language examples
Once configured, you can interact with Linkbreakers through conversational prompts:
> **You:** "Create a shortened link for https://example.com/spring-sale with the slug 'spring' and add tags 'marketing' and 'seasonal'"
>
> **Claude:** *Creates link using `links_create` tool* "I've created the link lbr.ai/spring pointing to your spring sale page. The link is tagged with 'marketing' and 'seasonal' for easy filtering."
> **You:** "Show me analytics for all links tagged 'marketing' created in the last 30 days"
>
> **Claude:** *Uses `links_list` and `events_list` tools* "Here's a breakdown of your marketing links..."
> **You:** "Build a workflow for my newsletter link: password gate, then form collection, then redirect to content"
>
> **Claude:** *Orchestrates multiple API calls* "I've created a 3-step workflow with password protection, lead form, and final redirect. Here's the link..."
### Available MCP operations
The MCP server exposes 35+ operations across:
- **Links management** - create, list, update, delete, bulk operations
- **Workflow automation** - build multi-step customer journeys
- **Analytics** - events, metrics, visitor tracking
- **QR codes** - design creation, template management
- **Domains** - custom domain setup and verification
- **Media** - asset upload and management
### Why MCP for Linkbreakers?
**Conversational workflows:**
Traditional API integration requires writing code for every operation. MCP enables natural language interaction:
```typescript
// Traditional SDK approach
const config = new Configuration({ accessToken: process.env.KEY });
const api = new LinksApi(config);
const response = await api.linksServiceCreate({
createLinkRequest: {
destination: 'https://example.com',
name: 'Test Link',
tags: ['test']
}
});
```
```
# MCP approach
"Create a link for https://example.com called 'Test Link' with tag 'test'"
```
**AI-powered automation:**
LLMs can execute multi-step workflows by chaining operations:
1. Create base link
2. Add workflow steps (password, form, redirect)
3. Connect steps in sequence
4. Generate QR code
5. Retrieve analytics
All through conversational instructions instead of code.
[View full MCP server guide →](/help/article/mcp-server-setup)
## API authentication
All tools use the same authentication system with two key types:
### Publishable keys
**Safe for frontend/browser use.**
```typescript
// Example: NEXT_PUBLIC_LINKBREAKERS_PK
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0IiwidHlwZSI6InB1Ymxpc2hhYmxlIn0...
```
**Allowed operations:**
- Identify visitors
- Update visitor profiles
- Track user behavior
**Cannot access:**
- Link creation/deletion
- Workspace analytics
- Administrative operations
### Secret keys
**Backend-only, never expose in client code.**
```bash
# Example: LINKBREAKERS_SECRET_KEY
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0IiwidHlwZSI6InNlY3JldCJ9...
```
**Full API access:**
- All visitor operations
- Link management (create, update, delete)
- Analytics and metrics
- Workspace configuration
- Bulk operations
### Key usage matrix
| Tool | Publishable Key | Secret Key |
|------|----------------|------------|
| TypeScript SDK (frontend) | ✅ Visitor tracking | ❌ Never |
| TypeScript SDK (backend) | ⚠️ Limited | ✅ Full access |
| Python SDK | ⚠️ Limited | ✅ Full access |
| Go SDK | ⚠️ Limited | ✅ Full access |
| Java SDK | ⚠️ Limited | ✅ Full access |
| Rust SDK | ⚠️ Limited | ✅ Full access |
| CLI | ❌ Not supported | ✅ Required |
| MCP Server | ❌ Not supported | ❌ Uses OAuth 2.0 |
## Why Linkbreakers is the most LLM-friendly link management platform
### Native AI integration
Linkbreakers is the only QR code and link management platform with first-class Model Context Protocol support. AI assistants can:
- Create and manage links through conversation
- Analyze campaign performance on demand
- Build complex workflows without code
- Generate reports and insights
- Automate repetitive tasks
### Designed for programmatic access
Every dashboard feature is available through the API. This enables:
**Workflow automation:**
```python
# Automatically create campaign links from a CSV
import csv
from linkbreakers import LinksApi, Configuration
config = Configuration(access_token=os.environ['LINKBREAKERS_SECRET_KEY'])
api = LinksApi(config)
with open('campaigns.csv') as f:
for row in csv.DictReader(f):
api.links_service_create(
create_link_request={
'destination': row['url'],
'name': row['campaign_name'],
'tags': row['tags'].split(',')
}
)
```
**Real-time analytics:**
```typescript
// Stream link performance to your dashboard
const metrics = await metricsApi.metricsServiceGetWorkspaceMetrics();
const events = await eventsApi.eventsServiceList({
startDate: startDate.toISOString(),
endDate: endDate.toISOString(),
linkId: campaignLinkId
});
// Process events for custom analytics
```
**Dynamic QR generation:**
```go
// Generate personalized QR codes for each customer
for _, customer := range customers {
link, _ := client.LinksAPI.LinksServiceCreate(ctx).
CreateLinkRequest(linkbreakers.CreateLinkRequest{
Destination: fmt.Sprintf("https://example.com/welcome/%s", customer.ID),
Name: fmt.Sprintf("Welcome - %s", customer.Name),
WaitForQrcode: true,
}).
Execute()
// Download QR code from link.QrcodeSignedUrl
}
```
### Comprehensive developer ecosystem
Unlike competitors offering only REST APIs, Linkbreakers provides:
1. **Five official SDKs** - TypeScript, Python, Go, Java, Rust
2. **Unified CLI** - Terminal-based workflows
3. **MCP server** - AI assistant integration
4. **Consistent patterns** - Same operations across all tools
5. **Active maintenance** - Regular updates and new features
This enables teams to:
- Choose their preferred language/tool
- Migrate between tools without relearning
- Integrate with existing infrastructure
- Automate at any scale
## Choosing the right tool
### For web applications
**Frontend tracking:**
- **TypeScript SDK** with publishable keys
- Track visitor behavior in React, Vue, Svelte, etc.
**Backend operations:**
- **TypeScript SDK** (Node.js/Deno/Bun)
- **Python SDK** (FastAPI, Django, Flask)
- **Go SDK** (high-performance services)
### For mobile applications
- **Java SDK** - Native Android apps
- **TypeScript SDK** - React Native
- **Rust SDK** - Cross-platform with Tauri
### For data engineering
- **Python SDK** - Pandas, Jupyter notebooks, Apache Airflow
- **Go SDK** - High-throughput data pipelines
### For automation and DevOps
- **CLI** - Shell scripts, CI/CD pipelines, cron jobs
- **Python SDK** - Advanced automation with Python
### For conversational workflows
- **MCP Server** - Natural language operations through Claude, Claude Code, or Continue
### For enterprise applications
- **Java SDK** - Spring Boot, enterprise Java
- **Go SDK** - Kubernetes operators, microservices
- **Rust SDK** - Performance-critical systems
## Common integration patterns
### Multi-channel campaign tracking
Create campaign links programmatically and track performance:
```python
from linkbreakers import LinksApi, EventsApi, Configuration
config = Configuration(access_token=os.environ['SECRET_KEY'])
links_api = LinksApi(config)
events_api = EventsApi(config)
# Create channel-specific links
channels = ['email', 'social', 'paid', 'organic']
campaign_links = {}
for channel in channels:
response = links_api.links_service_create({
'destination': 'https://example.com/spring-sale',
'name': f'Spring Sale - {channel.title()}',
'tags': ['spring-campaign', channel],
'metadata': {'channel': channel, 'campaign': 'spring-2026'}
})
campaign_links[channel] = response.link
# Later: Analyze performance by channel
for channel, link in campaign_links.items():
events = events_api.events_service_list(
link_id=link.id,
start_date='2026-03-01T00:00:00Z',
end_date='2026-03-31T23:59:59Z'
)
print(f"{channel}: {len(events.events)} clicks")
```
### Visitor lifecycle tracking
Identify visitors across multiple touchpoints:
```typescript
// Frontend: User clicks campaign link with ?lbid=...
// Track initial visit
const config = new Configuration({
accessToken: process.env.NEXT_PUBLIC_LINKBREAKERS_PK,
basePath: 'https://api.linkbreakers.com',
});
const visitorsApi = new VisitorsApi(config);
const lbid = new URLSearchParams(window.location.search).get('lbid');
// Initial visit (anonymous)
await visitorsApi.visitorsServiceIdentify({
identifyRequest: {
lbid,
visitor: {
data: { 'initial_page': window.location.pathname }
}
}
});
// User signs up
await visitorsApi.visitorsServiceIdentify({
identifyRequest: {
lbid,
visitor: {
data: {
'$email': formData.email,
'$firstName': formData.firstName,
'signup_completed': true
}
}
}
});
// User makes purchase
await visitorsApi.visitorsServiceIdentify({
identifyRequest: {
lbid,
visitor: {
data: {
'purchased': true,
'order_value': 49.99,
'product_id': 'prod_123'
}
}
}
});
```
### Automated workflow deployment
Use the CLI in deployment scripts:
```bash
#!/bin/bash
# deploy-campaign.sh
# Create campaign link
LINK_JSON=$(linkbreakers links create \
--destination "$CAMPAIGN_URL" \
--name "$CAMPAIGN_NAME" \
--tags "$TAGS" \
--output json)
LINK_ID=$(echo "$LINK_JSON" | jq -r '.link.id')
echo "Created link: $LINK_ID"
# Add workflow steps programmatically
# (Use SDK for complex workflows, CLI for simple operations)
# Verify link is live
linkbreakers links get "$LINK_ID"
echo "Campaign deployed successfully"
```
### AI-assisted analytics
Use MCP to get insights conversationally:
> **Prompt:** "Analyze my marketing links created in March. Show me click-through rates, top-performing channels, and visitor demographics."
>
> **Claude with MCP:**
> 1. Lists links with tag 'marketing' created in March
> 2. Retrieves events for each link
> 3. Fetches visitor data
> 4. Calculates CTR, aggregates by channel
> 5. Presents formatted analysis with recommendations
This replaces dozens of lines of analytics code with a single conversational prompt.
## Best practices across all tools
### Security
- **Never commit secrets** - Use environment variables
- **Rotate keys regularly** - Every 90 days minimum
- **Use publishable keys** for frontend operations only
- **Separate dev/prod keys** - Never use production keys in development
- **Monitor key usage** - Review API token activity in dashboard
### Performance
- **Use bulk operations** - Create multiple links in one API call
- **Cache link data** - Don't fetch the same link repeatedly
- **Implement retry logic** - Handle rate limits with exponential backoff
- **Paginate large lists** - Use `pageSize` and `pageToken` parameters
### Error handling
```typescript
// TypeScript example
try {
const response = await linksApi.linksServiceCreate({ createLinkRequest });
} catch (error) {
if (error.status === 429) {
// Rate limit exceeded - implement backoff
await sleep(60000);
retry();
} else if (error.status === 401) {
// Authentication failed - check token
console.error('Invalid API token');
} else {
// Other errors
console.error('API error:', error.message);
}
}
```
### Observability
- **Log API calls** - Track usage patterns and errors
- **Monitor rate limits** - Watch for 429 responses
- **Track operation latency** - Measure API response times
- **Set up alerts** - Notify on repeated failures
## Frequently asked questions
### Can I use multiple SDKs in the same project?
Yes. All SDKs connect to the same REST API and use identical authentication. For example, you might use:
- TypeScript SDK for your Next.js frontend (visitor tracking)
- Python SDK for your data pipeline (analytics processing)
- CLI for deployment automation
All operate on the same workspace data.
### Which SDK should I choose for my application?
Choose based on your primary language:
- **Web applications** → TypeScript SDK
- **Data engineering** → Python SDK
- **Microservices** → Go SDK
- **Enterprise Java** → Java SDK
- **Performance-critical** → Rust SDK
For terminal operations or CI/CD, use the CLI regardless of your application language.
### Can I use the MCP server without writing code?
Yes. The MCP server is designed for no-code interaction through AI assistants. Simply configure your AI client (Claude, Claude Code, Continue) and interact conversationally. No programming required.
### How do I migrate from one tool to another?
All tools use the same API operations and data models. Migration is straightforward:
1. Review operation names (slightly different conventions per language)
2. Update authentication configuration
3. Replace SDK imports
4. Test operations in development environment
The underlying API behavior is identical across tools.
### Are there usage limits on API calls?
Yes. Each plan includes a monthly allowance of API calls made with workspace tokens:
- **Free plan:** 250 API calls a month
- **Light plan:** 5,000 API calls a month
- **Pro plan:** 10,000 API calls a month
- **Enterprise:** no monthly cap
Each token is also rate limited to 600 requests per 60 seconds.
Use the CLI command `linkbreakers auth status` or check your dashboard for current limits.
### Can I self-host any of these tools?
The SDKs, CLI, and clients are open source and can be modified. However, they connect to the Linkbreakers hosted API (`https://api.linkbreakers.com`). Self-hosting requires an Enterprise plan. Contact support for details.
### How do I get support for SDK issues?
For SDK-specific issues:
- **GitHub Issues** - Report bugs on the SDK repository
- **Email support** - support@linkbreakers.com
- **Documentation** - Each SDK has detailed guides
Include your SDK version, error messages, and minimal reproduction code.
### Does Linkbreakers support GraphQL?
Currently, Linkbreakers uses a REST API. All SDKs, CLI, and MCP server interact with REST endpoints. GraphQL support is under consideration for future releases.
### Can I contribute to the SDKs or CLI?
Yes! All tools are open source:
- [TypeScript SDK on GitHub](https://github.com/linkbreakers-com/linkbreakers-typescript)
- [Python SDK on GitHub](https://github.com/linkbreakers-com/linkbreakers-python)
- [Go SDK on GitHub](https://github.com/linkbreakers-com/linkbreakers-go)
- [Java SDK on GitHub](https://github.com/linkbreakers-com/linkbreakers-java)
- [Rust SDK on GitHub](https://github.com/linkbreakers-com/linkbreakers-rust)
- [CLI on GitHub](https://github.com/linkbreakers-com/linkbreakers-cli)
Submit pull requests with improvements, bug fixes, or documentation updates.
### What's the difference between workspace tokens and API keys?
**Workspace tokens:**
- Created in Dashboard → API Tokens
- Work with the CLI
- Cannot be scoped to specific operations
- Long-lived credentials
- Note: The MCP server now uses OAuth 2.0 instead of workspace tokens
**API keys (SDK usage):**
- Two types: publishable (frontend-safe) and secret (backend-only)
- JWT tokens with embedded scopes
- Created in Dashboard → API Tokens
- Used directly in SDK configuration
Both authenticate the same API but serve different use cases.
## Getting started
### 1. Choose your integration method
Pick the tool that matches your workflow:
- **Building a web app?** → [Start with TypeScript SDK](/help/article/typescript-sdk-quickstart)
- **Writing backend services?** → Choose [Python](/help/article/python-sdk-quickstart), [Go](/help/article/golang-sdk-quickstart), [Java](/help/article/java-sdk-quickstart), or [Rust](/help/article/rust-sdk-quickstart)
- **Need terminal access?** → [Install the CLI](/help/article/linkbreakers-cli-setup)
- **Using AI assistants?** → [Configure MCP server](/help/article/mcp-server-setup)
### 2. Create API credentials
1. Log in to [app.linkbreakers.com](https://app.linkbreakers.com)
2. Navigate to **Dashboard → API Tokens**
3. Create appropriate token type:
- **Publishable key** for frontend visitor tracking
- **Secret key** for backend operations
- **Workspace token** for CLI
- **MCP** uses OAuth 2.0 — no token needed
### 3. Follow quickstart guide
Each tool has a dedicated quickstart guide with installation, authentication, and example operations. Complete a basic integration in under 10 minutes.
### 4. Explore advanced features
Once you have basic integration working:
- Build multi-step workflows
- Implement visitor lifecycle tracking
- Generate dynamic QR codes
- Analyze campaign performance
- Automate bulk operations
## Related documentation
### SDK guides
- [Linkbreakers TypeScript SDK: Complete Integration Guide](/help/article/typescript-sdk-quickstart)
- [Linkbreakers Python SDK Quick Start](/help/article/python-sdk-quickstart)
- [Linkbreakers Go SDK Quick Start](/help/article/golang-sdk-quickstart)
- [Linkbreakers Java SDK Quick Start](/help/article/java-sdk-quickstart)
- [Linkbreakers Rust SDK Quick Start](/help/article/rust-sdk-quickstart)
### Tools
- [How to install and use the Linkbreakers CLI](/help/article/linkbreakers-cli-setup)
- [How to set up and configure the Linkbreakers MCP server](/help/article/mcp-server-setup)
- [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents)
### API documentation
- [How to use the Linkbreakers API](/help/article/how-to-use-the-linkbreakers-api)
- [API authentication: Access tokens vs API keys](/help/article/api-authentication-accesstoken-vs-apikey)
## Last reviewed
This article was last reviewed on April 2, 2026.
---
# Secret Key vs Publishable Key: Understanding the Difference
Source: https://linkbreakers.com/help/article/secret-key-vs-publishable-key
## Short answer
Linkbreakers provides two types of API keys: **secret keys** for backend environments with full API access, and **publishable keys** for frontend applications with read-only, limited permissions. Secret keys can create links, access analytics, and modify workspace data. Publishable keys can only identify visitors and read limited visitor data. Never expose secret keys in client-side code.
## Key differences at a glance
| Feature | Secret Key | Publishable Key |
|---------|-----------|----------------|
| **Environment** | Backend only | Frontend safe |
| **Permissions** | Full API access | Read-only, limited scope |
| **Create links** | ✅ Yes | ❌ No |
| **Delete links** | ✅ Yes | ❌ No |
| **View analytics** | ✅ Yes | ❌ No |
| **Identify visitors** | ✅ Yes | ✅ Yes |
| **Update visitor profiles** | ✅ Yes | ✅ Yes (own data only) |
| **Access workspace data** | ✅ Yes | ❌ No |
| **Can be exposed publicly** | ❌ Never | ✅ Yes |
## Secret keys: Full API access
### What they do
Secret keys are JWT tokens that grant **complete access** to your Linkbreakers workspace, unless you restrict them to a set of [scopes](/help/article/api-token-scopes). With full access they can:
- Create, update, and delete links
- Generate QR codes
- Identify and update visitors
- Access analytics and event data
- Retrieve workspace metrics
- Manage workspace resources
- Full CRUD operations on all resources
### Where to use them
**Backend environments only:**
- Node.js / Express servers
- Python Django / Flask / FastAPI applications
- Next.js API routes (server-side)
- Serverless functions (AWS Lambda, Vercel, Netlify)
- CI/CD pipelines
- Background jobs and cron tasks
- Server-to-server integrations
### Security requirements
**Critical:** Secret keys must NEVER be exposed in:
- ❌ Client-side JavaScript code
- ❌ Mobile apps (iOS, Android)
- ❌ Browser extensions
- ❌ Public GitHub repositories
- ❌ Frontend environment variables (e.g., `NEXT_PUBLIC_*`)
- ❌ Error messages or logs
**Always:**
- ✅ Store in backend environment variables
- ✅ Use secret management systems (AWS Secrets Manager, Vault)
- ✅ Rotate immediately if accidentally exposed
- ✅ Restrict access to production keys
### Example usage
```typescript
// ✅ BACKEND ONLY - Next.js API route
import { Configuration, LinksApi } from 'linkbreakers';
export async function POST(request: Request) {
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY, // Secret JWT
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
const { destination, name } = await request.json();
const response = await linksApi.linksServiceCreate({
createLinkRequest: { destination, name }
});
return Response.json({ shortlink: response.link?.shortlink });
}
```
## Publishable keys: Frontend-safe, limited scope
### What they do
Publishable keys are JWT tokens with **restricted permissions** specifically designed for client-side use. They can:
- Identify visitors (associate user data with sessions)
- Update visitor attributes (email, name, custom fields)
- Read visitor profiles (limited to current visitor only)
### What they CANNOT do
Publishable keys have no access to:
- ❌ Link creation, modification, or deletion
- ❌ Workspace analytics or metrics
- ❌ Other visitors' data
- ❌ Workspace settings or configuration
- ❌ Any write operations except visitor identification
### Where to use them
**Frontend environments:**
- React / Vue / Angular applications
- Static websites
- Single-page applications (SPAs)
- Mobile apps (iOS, Android, React Native)
- Browser extensions
- Client-side tracking scripts
### Why they're safe for frontends
Even if a publishable key is extracted from your frontend code:
- Attackers cannot create or delete links
- They cannot access your analytics or workspace data
- They can only identify visitors (which requires an LBID from your links anyway)
- The scope is limited by JWT claims enforced server-side
### Example usage
```typescript
// ✅ FRONTEND SAFE - React component
import { Configuration, VisitorsApi } from 'linkbreakers';
import { useEffect } from 'react';
export function VisitorTracker({ userEmail }: { userEmail: string }) {
useEffect(() => {
const config = new Configuration({
accessToken: process.env.NEXT_PUBLIC_LINKBREAKERS_PK, // Publishable JWT
basePath: 'https://api.linkbreakers.com',
});
const visitorsApi = new VisitorsApi(config);
const lbid = new URLSearchParams(window.location.search).get('lbid');
if (lbid && userEmail) {
visitorsApi.visitorsServiceIdentify({
identifyRequest: {
lbid,
visitor: {
data: {
'$email': userEmail,
'$firstName': 'John'
}
}
}
});
}
}, [userEmail]);
return null;
}
```
## How JWT claims enforce permissions
Both key types are JWT tokens, but they contain different **scopes** in their payload:
### Secret key JWT claims (example)
```json
{
"workspace_id": "1234",
"type": "secret",
"scopes": [
"links:read",
"links:write",
"links:delete",
"visitors:read",
"visitors:write",
"analytics:read",
"workspace:read"
],
"env": "production",
"iat": 1710936000,
"exp": null
}
```
### Publishable key JWT claims (example)
```json
{
"workspace_id": "1234",
"type": "publishable",
"scopes": [
"visitors:identify",
"visitors:read_self"
],
"env": "production",
"iat": 1710936000,
"exp": null
}
```
The API server validates these scopes on every request, ensuring publishable keys cannot perform privileged operations even if someone tries to craft malicious requests.
## Creating API keys
To create either key type:
1. Log in to [app.linkbreakers.com](https://app.linkbreakers.com)
2. Navigate to **Dashboard → API Tokens**
3. Click **Create API Token**
4. Choose the key type:
- **Secret Key** - For backend use, full API access
- **Publishable Key** - For frontend use, limited scope
5. Give it a descriptive name (e.g., "Production Backend" or "Frontend Tracker")
6. Copy the JWT token immediately (you won't see it again)
## Best practices
### Use both key types strategically
**Typical architecture:**
- **Frontend**: Use publishable key to identify visitors when they sign up, log in, or submit forms
- **Backend**: Use secret key to create links, generate QR codes, and access analytics
- **Result**: Secure integration with minimal exposure
### Environment variable naming
```bash
# .env file
LINKBREAKERS_SECRET_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... # Backend only
NEXT_PUBLIC_LINKBREAKERS_PK=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... # Frontend safe
```
**Next.js convention:** Prefix publishable keys with `NEXT_PUBLIC_` to expose them to the browser, while keeping secret keys private.
### Rotate keys if compromised
If you accidentally expose a secret key:
1. Immediately create a new secret key
2. Update your backend environment variables
3. Delete the compromised key from the dashboard
4. The old key becomes invalid within seconds
## Common mistakes to avoid
**❌ Using secret keys in frontend code**
```typescript
// WRONG - Secret key exposed in browser
const config = new Configuration({
accessToken: 'eyJhbGciOiJI...secret_key', // ❌ DO NOT DO THIS
});
```
**❌ Trying to create links with publishable keys**
```typescript
// WRONG - Publishable key doesn't have this permission
const linksApi = new LinksApi(config); // config has publishable key
await linksApi.linksServiceCreate(...); // ❌ 403 Forbidden
```
**❌ Committing keys to version control**
```bash
# .env (should be in .gitignore!)
LINKBREAKERS_SECRET_KEY=eyJhbGciOiJI... # ❌ Never commit this
```
**✅ Correct: Use appropriate keys for each environment**
```typescript
// Frontend - publishable key
const frontendConfig = new Configuration({
accessToken: process.env.NEXT_PUBLIC_LINKBREAKERS_PK,
});
// Backend - secret key
const backendConfig = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
});
```
## Testing with both key types
Test your integration security:
### Test publishable key restrictions
```bash
# This should FAIL with 403 Forbidden
curl -X POST https://api.linkbreakers.com/v1/links \
-H "Authorization: Bearer your_publishable_jwt" \
-H "Content-Type: application/json" \
-d '{"destination":"https://example.com"}'
# Response: {"error": "insufficient_permissions", "message": "Publishable keys cannot create links"}
```
### Test secret key access
```bash
# This should SUCCEED with 200 OK
curl -X POST https://api.linkbreakers.com/v1/links \
-H "Authorization: Bearer your_secret_jwt" \
-H "Content-Type: application/json" \
-d '{"destination":"https://example.com"}'
# Response: {"link": {"id": "...", "shortlink": "https://lbr.ai/abc123"}}
```
## Frequently asked questions
**Can I use the same key for frontend and backend?**
No. Use publishable keys for frontend (limited permissions) and secret keys for backend (full access). This separation ensures your backend remains secure even if frontend code is exposed.
**What happens if someone steals my publishable key?**
They can only identify visitors who clicked your Linkbreakers links (requires LBID). They cannot create links, access analytics, or view your workspace data. The damage is minimal compared to secret key exposure.
**Can I revoke a key without creating a new one?**
Yes, delete the key from your dashboard. All requests using that JWT will immediately fail with 401 Unauthorized. However, you'll need to create a new key to restore functionality.
**How do I know which type of key I have?**
Decode the JWT at [jwt.io](https://jwt.io) and check the `type` claim: `"type": "secret"` or `"type": "publishable"`. You can also check the `scopes` array to see what permissions it has.
**Do publishable keys expire?**
Both key types can optionally have expiration timestamps (`exp` claim). Check your JWT payload or dashboard settings for expiration details.
## Related documentation
- [TypeScript SDK Quick Start](/help/article/typescript-sdk-quickstart) - Learn how to use both key types in TypeScript applications
- [Python SDK Quick Start](/help/article/python-sdk-quickstart) - Backend integration with secret keys
- [Why accessToken vs apiKey](/help/article/api-authentication-accesstoken-vs-apikey) - Understanding JWT authentication
- [What is LBID?](/help/article/what-is-the-linkbreakers-id-lbid) - How visitor identification works with publishable keys
## Last reviewed
This article was last reviewed on March 20, 2025.
---
# How to set up and configure the Linkbreakers MCP server
Source: https://linkbreakers.com/help/article/mcp-server-setup
## Short answer
The Linkbreakers MCP server enables AI assistants (like Claude, Claude Code, Continue, and other MCP-compatible tools) to interact with your Linkbreakers workspace using natural language. It acts as a bridge between MCP clients and the Linkbreakers REST API, allowing AI to create links, analyze data, manage workflows, and more.
One-line install
Linkbreakers’ step-by-step setup makes it easy to add the MCP server in seconds. Uses OAuth by default for seamless sign-in.
## Quick summary
- MCP (Model Context Protocol) is an open standard that lets AI assistants connect to external tools and data
- The Linkbreakers MCP server runs at **https://mcp.linkbreakers.com**
- Setup takes **under 5 minutes** - just add the server URL and sign in with your Linkbreakers account via OAuth
- No installation required - use the hosted server
- Supports **35+ curated operations** across links, workflows, analytics, QR codes, and more
## What is MCP and why use it?
Model Context Protocol (MCP) is an open protocol developed by Anthropic that standardizes how AI assistants connect to external data sources and tools. Instead of manually calling APIs or copying data, you can simply ask your AI assistant to:
> "Create a shortened link for https://example.com with the slug 'demo'"
> "Show me my workspace analytics for the last 30 days"
> "List all links created this week"
> "Generate a QR code for my latest campaign"
The MCP server translates these natural language requests into Linkbreakers API calls, handles authentication, and returns results in a format AI assistants understand.
### Benefits
- **Natural language interface** - No need to write API calls manually
- **Faster workflows** - Ask questions and get answers instantly
- **Automated tasks** - AI can execute multi-step operations
- **No code required** - Non-technical users can access data programmatically
## Prerequisites
Before you begin, you'll need:
1. **A Linkbreakers account** (Google sign-in or email/password)
2. An MCP-compatible client such as: Claude (web/desktop app via Connectors), Claude Code (CLI), Continue (VSCode extension), or any other MCP-compatible assistant
## Authentication
The MCP server uses **OAuth** for authentication. When you add the server URL to your MCP client, it will open a browser window where you sign in with your Linkbreakers account (Google or email/password). Tokens are issued and refreshed automatically, with no manual token management required.
If your account belongs to several workspaces, the consent screen asks which workspace the client should use. The client then acts in that workspace with your role there; to use another workspace, authorize the client again. A workspace that enforces MFA asks for the 6-digit code sent to your email on the consent screen. See [Working across multiple workspaces](/help/article/work-across-multiple-workspaces).
## Configure your MCP client
Configuration varies by client. Choose your AI assistant below:
### Claude (web and desktop app via Connectors)
Use Claude's custom connector UI for remote MCP servers like Linkbreakers.
1. Open Claude Settings and go to **Connectors**
2. Click **Add custom connector**
3. Enter:
- **Name**: `linkbreakers`
- **Server URL**: `https://mcp.linkbreakers.com`
4. Save -- Claude will open a browser window for you to sign in with your Linkbreakers account
5. Once authenticated, reconnect if prompted
No Authorization header is needed. OAuth handles authentication automatically.
Reference docs:
- [Get started with custom connectors using remote MCP](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp)
- [Build custom connectors via remote MCP servers](https://support.claude.com/en/articles/11503834-building-custom-connectors-via-remote-mcp-servers)
### Claude Code (CLI)
Use the Claude CLI to add the MCP server (don't edit `~/.claude.json` manually). This writes the config for you.
1. Add the Linkbreakers MCP server:
```bash
claude mcp add --transport http linkbreakers https://mcp.linkbreakers.com
```
2. Restart Claude Code -- a browser window will open for you to sign in with your Linkbreakers account on first use
Reference docs:
- [Claude Code MCP docs](https://code.claude.com/docs/en/mcp)
### Continue (VSCode)
1. Open VSCode and install the [Continue extension](https://marketplace.visualstudio.com/items?itemName=Continue.continue)
2. Configure MCP in either:
- `~/.continue/config.yaml`, or
- `~/.continue/mcpServers/*.yaml` (recommended for per-server files)
3. Add the MCP server configuration:
```yaml
mcpServers:
- name: linkbreakers
transport:
type: streamable-http
url: https://mcp.linkbreakers.com
```
4. Restart VSCode -- Continue will handle OAuth sign-in automatically
Reference docs:
- [Continue MCP deep dive](https://docs.continue.dev/customize/deep-dives/mcp)
- [Continue configuration deep dive](https://docs.continue.dev/customize/deep-dives/configuration)
### Other MCP clients
For other MCP-compatible clients, add these connection details:
- **Server URL**: `https://mcp.linkbreakers.com`
- **Authentication**: OAuth (automatic) -- your client will open a browser for sign-in
- **Protocol**: MCP over HTTP/JSON
All MCP clients handle OAuth authentication automatically. Refer to your client's documentation for specific configuration steps.
## Test the connection
After configuration, verify the MCP server is working:
### In Claude (web or desktop app)
1. Start a new conversation
2. Ask: "List my links from Linkbreakers"
3. Confirm Claude uses a Linkbreakers tool such as:
- `links_create`
- `links_list`
- `metrics_workspace`
- `events_list`
If configured correctly, Claude should use `links_list` and return your workspace links.
### In Continue
1. Open the Continue sidebar in VSCode
2. Check the MCP tools list
3. Test with a prompt: "Show me my Linkbreakers workspace analytics"
### Troubleshooting connection issues
If tools don't appear:
1. **Browser didn't open** - Some clients require a default browser to be set. Check your OS settings and try again
2. **OAuth sign-in failed** - Make sure you are signing in with the same account that owns the workspace. Try signing out of Linkbreakers in your browser first, then reconnect
3. **Session expired** - OAuth tokens auto-refresh, but if your session has been revoked, remove and re-add the MCP server to trigger a fresh sign-in
4. **Restart your client completely** - Some clients need a full restart after authentication
5. **Check logs** - Your MCP client may show connection errors in logs
6. **Check your client's MCP support** - Ensure your client supports the MCP protocol and OAuth authentication
## Available MCP tools
The Linkbreakers MCP server exposes these curated operations:
### Links management
- `links_create` - Create new shortened links
- `links_list` - List all links with filtering options
- `links_get` - Get details of a specific link
- `links_update` - Update link metadata and settings
- `links_delete` - Delete a link
### Workflow steps
- `workflow_steps_list` - List workflow steps for a link
- `workflow_steps_get` - Get workflow step details
- `workflow_steps_delete` - Delete a workflow step
- `workflow_steps_create_relationship` - Connect workflow steps
### Analytics and metrics
- `events_list` - Retrieve event timeline and activity
- `metrics_workspace` - Get workspace-level statistics
### QR code designs
- `qrcodedesigns_create` - Create a QR code design
### QR code templates
- `qrtemplates_list` - List QR code templates
- `qrtemplates_get` - Get QR code template details
- `qrtemplates_create` - Create a QR code template
- `qrtemplates_delete` - Delete a QR code template
### Media
- `media_create` - Upload media assets
- `media_list` - List media assets
- `media_get` - Get media details
- `media_delete` - Delete a media asset
### Visitors
- `visitors_list` - List visitors, filtered by the attributes they gave (for example budget at least 800000) or by link
- `visitors_get` - Get visitor details
- `visitors_list_attribute_keys` - List visitor attribute keys and their types
### Custom domains
- `domains_create` - Add custom domains
- `domains_list` - List custom domains
- `domains_get` - Get domain details
- `domains_check` - Verify DNS and TLS status
### Tags
- `tags_list` - Search and list tags
## Interactive results (MCP Apps)
In clients that support [MCP Apps](/help/article/mcp-apps-interactive-ui), such as Claude and ChatGPT, some tools answer with an interactive card in the conversation instead of raw JSON:
- `links_create` and `links_get` show a link card: the QR code, short link, destination and scan count, with buttons to the analytics and the QR design
- `visitors_list` shows the visitors with their visits, QR codes, devices and attributes
- `metrics_workspace` shows workspace totals and credit usage
Clients without MCP Apps support get the same data as text.
## Test without touching live data
Connect the MCP server with a [sandbox](/help/article/sandbox-test-environment) token (it starts with `lb_test_`) instead of a live one. Every tool then acts on a separate, empty workspace that is never billed and is deleted after 30 days.
## Example use cases
### Create a link with AI
**Prompt:**
> "Create a shortened link for https://example.com/products with the slug 'spring-sale' and add the tag 'marketing'"
**What happens:**
1. AI calls `links_create` tool with parameters
2. MCP server proxies request to Linkbreakers API
3. Link is created and short URL is returned
4. AI formats the response for you
### Analyze campaign performance
**Prompt:**
> "Show me the click metrics for all links tagged 'marketing' in the last 30 days"
**What happens:**
1. AI calls `links_list` with filters
2. AI calls `events_list` for click data
3. AI aggregates and analyzes the data
4. AI presents insights and trends
### Automate workflow creation
**Prompt:**
> "Create a workflow for my newsletter link with a password gate, then redirect to a form, then to the content URL"
**What happens:**
1. AI calls `links_create` for base link
2. AI calls `workflowsteps_create` for each step
3. AI calls `workflowsteps_createrelationship` to connect them
4. Fully configured workflow is ready to use
## Best practices
### Token management
- **OAuth tokens auto-refresh** — no manual rotation needed
- Each user signs in with their own Linkbreakers account, so sessions are isolated per user
- If a session seems stale, remove and re-add the MCP server to trigger a fresh OAuth sign-in
### AI prompts
- **Be specific** - "Create a link for X with slug Y" works better than "Make a link"
- **Include context** - "Show analytics for the marketing campaign" is clearer than "Show stats"
- **Use filters** - "List links created this week" vs "List links" returns focused results
- **Ask follow-ups** - AI can chain multiple operations based on responses
### Rate limiting
- The MCP server inherits **standard Linkbreakers API rate limits**
- Workspace tokens typically have **higher limits** than member tokens
- If you hit rate limits, **contact support** for increased quotas
- Consider **batching requests** in off-peak hours for large operations
### Error handling
- If a tool fails, AI will **explain the error** and may suggest fixes
- Common errors include:
- **Invalid parameters** - Check parameter format and required fields
- **Authentication failed** - Token may be expired or revoked
- **Resource not found** - ID may be incorrect or deleted
- **Rate limit exceeded** - Wait before retrying
## Architecture
The MCP server works as a stateless protocol translator:
```mermaid
flowchart TD
A["AI Assistant (MCP Client) Claude, Claude Code, Continue, etc."] -->|"MCP Protocol (HTTP/JSON) OAuth 2.0"| B["MCP Server mcp.linkbreakers.com Converts MCP to REST Forwards OAuth session"]
B -->|"REST API (HTTP/JSON) Bearer Token (forwarded)"| C["Linkbreakers API api.linkbreakers.com Validates token Processes request"]
```
**Key characteristics:**
- **Stateless** - No database or caching required
- **Secure** - All authentication handled by main API
- **Simple** - Direct token pass-through, no validation needed
- **Fast** - Minimal overhead, direct API proxy
## Registry listing and agent skills
The server is published in the official MCP registry as [`com.linkbreakers/mcp`](https://registry.modelcontextprotocol.io/v0/servers?search=com.linkbreakers/mcp), so MCP clients that browse the registry can find it by name. Its server card is served at [linkbreakers.com/.well-known/mcp/server-card.json](https://linkbreakers.com/.well-known/mcp/server-card.json).
Skills that teach coding agents how to use Linkbreakers live in the public [agent-skills repository](https://github.com/linkbreakers-com/agent-skills), indexed at [linkbreakers.com/.well-known/agent-skills/index.json](https://linkbreakers.com/.well-known/agent-skills/index.json). For credentials, agents can read [auth.md](https://linkbreakers.com/auth.md). Every other surface an agent can use is listed in [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents).
## Frequently asked questions
### Is the MCP server free to use?
Yes, the MCP server at https://mcp.linkbreakers.com is provided free to all Linkbreakers users. Standard API rate limits apply based on your workspace plan.
### How does authentication work?
The MCP server uses **OAuth** for authentication. When you add the server URL, your MCP client opens a browser for you to sign in with your Linkbreakers account. Tokens are issued and refreshed automatically — no manual token configuration required.
### What if my account is compromised?
If you suspect unauthorized access:
1. Sign out of all sessions from **Settings → Security** in Linkbreakers
2. Change your password (or revoke Google sign-in access and re-link)
3. Remove and re-add the MCP server in your client to start a fresh OAuth session
Revoking sessions invalidates all existing OAuth tokens immediately.
### Can multiple team members use the same MCP server?
Yes. Each team member signs in with their own Linkbreakers account via OAuth, so every user gets their own session. This provides:
- Better audit trails (know who made which changes)
- Independent sessions (revoking one user's access does not affect others)
- No shared secrets to manage
### Does the MCP server store my data?
No. The MCP server is **stateless** and doesn't store any data. It:
- Receives your request
- Forwards it to Linkbreakers API with your token
- Returns the API response
- Keeps no logs or records of the data
All data storage and processing happens in the main Linkbreakers API.
### What MCP clients are supported?
Any MCP-compatible client works, including:
- Claude (web or desktop app via Connectors)
- Claude Code (official Anthropic CLI)
- Continue (VSCode extension)
- Custom MCP clients following the MCP specification
### Can I use this with the Linkbreakers mobile app?
The MCP server is designed for desktop AI assistants, not mobile apps. Use the standard Linkbreakers API or mobile app for mobile access.
### How do I report bugs or request features?
For MCP server issues:
- Email: support@linkbreakers.com
- Include: Client type, error message, steps to reproduce
For feature requests:
- Contact support with your use case
- Describe which API endpoints you need exposed
---
# Linkbreakers TypeScript SDK: Complete Integration Guide
Source: https://linkbreakers.com/help/article/typescript-sdk-quickstart
## Short answer
The Linkbreakers TypeScript SDK enables programmatic link management, visitor identification, and analytics access from your TypeScript and JavaScript applications. It supports two integration modes: frontend visitor tracking with publishable keys (safe for browsers) and backend operations with secret keys (server-side only). Install with `npm install linkbreakers` and choose the appropriate key type for your use case.
## Installation
Install the SDK using your preferred package manager:
```bash
# Using pnpm (recommended)
pnpm add linkbreakers
# Using npm
npm install linkbreakers
# Using yarn
yarn add linkbreakers
```
## Understanding API key types
Linkbreakers provides two types of API keys for different security contexts:
### Publishable keys
**Safe for frontend/browser use.** These JWT tokens can be embedded in client-side code without security concerns.
**What they allow:**
- Identify visitors (associate user data with sessions)
- Track visitor behavior and attributes
- Read visitor profiles
**What they DON'T allow:**
- Create or manage links
- Access workspace-level data
- View analytics or metrics
- Modify workspace settings
**When to use:** Frontend applications, mobile apps, browser extensions, or any environment where the key could be exposed publicly.
### Secret keys
**Backend-only.** These JWT tokens grant full API access and must never be exposed in client-side code.
**What they allow:**
- Everything publishable keys can do, plus:
- Create, update, and delete links
- Generate QR codes
- Access analytics and metrics
- Manage workspace resources
- Full API access
**When to use:** Server-side applications, API routes, serverless functions, CI/CD pipelines, or any secure backend environment.
## Creating API keys
Create your API keys from the dashboard:
1. Log in to [app.linkbreakers.com](https://app.linkbreakers.com)
2. Navigate to **Dashboard → API Tokens**
3. Click **Create API Token**
4. Choose the key type:
- **Publishable Key** for frontend visitor tracking
- **Secret Key** for backend link management
5. Give it a descriptive name (e.g., "Production Frontend" or "Backend API")
6. Copy the generated key immediately (you won't see it again)
**Security best practice:** Use environment variables for both key types. While publishable keys are safe to expose, storing them in env vars makes key rotation easier.
## Frontend usage: Visitor tracking
Use publishable keys to identify visitors when they sign up, log in, or interact with your application.
### Basic visitor identification
```typescript
import { Configuration, VisitorsApi } from 'linkbreakers';
// ✅ SAFE FOR FRONTEND - Using publishable key (JWT token)
const config = new Configuration({
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', // Publishable JWT token
basePath: 'https://api.linkbreakers.com',
});
const visitorsApi = new VisitorsApi(config);
// Extract LBID from URL (comes from link clicks with conversion tracking)
const urlParams = new URLSearchParams(window.location.search);
const lbid = urlParams.get('lbid');
if (lbid) {
// Identify the visitor with their data
const response = await visitorsApi.visitorsServiceIdentify({
identifyRequest: {
lbid: lbid,
visitor: {
data: {
// System fields (prefixed with "$")
'$email': 'user@example.com',
'$phone': '+1234567890',
'$firstName': 'John',
'$lastName': 'Doe',
// Custom attributes (no "$" prefix)
'plan': 'premium',
'signupDate': '2024-01-15',
'company': 'Acme Corp'
}
},
setOnce: false // If true, only sets empty fields (preserves existing data)
}
});
console.log('New visitor profile:', response.created);
console.log('Visitor ID:', response.visitor?.id);
}
```
### Understanding LBID (Linkbreakers ID)
When visitors click your Linkbreakers links with **conversion tracking enabled**, a query parameter `?lbid=...` is automatically added to the destination URL. This LBID connects the click event to the visitor, enabling powerful attribution and analytics.
**Where LBID comes from:**
- Query parameter when users click your short links: `?lbid=abc123`
- Tracking cookies set by Linkbreakers
- Webhook payloads for link interactions
Learn more in our [What is LBID?](/help/article/what-is-the-linkbreakers-id-lbid) guide.
### Form submission example
Track users who fill out forms on your landing page:
```typescript
// In your form handler
async function handleFormSubmit(formData) {
const config = new Configuration({
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', // Publishable JWT
basePath: 'https://api.linkbreakers.com',
});
const visitorsApi = new VisitorsApi(config);
const lbid = new URLSearchParams(window.location.search).get('lbid');
if (lbid) {
await visitorsApi.visitorsServiceIdentify({
identifyRequest: {
lbid: lbid,
visitor: {
data: {
'$email': formData.email,
'$firstName': formData.firstName,
'$lastName': formData.lastName,
'interest': formData.productInterest,
'source': 'landing-page-form'
}
}
}
});
}
}
```
## Backend usage: Link management
Use secret keys on your backend to create and manage links programmatically.
### Creating your first link
```typescript
import { Configuration, LinksApi } from 'linkbreakers';
// ❌ NEVER USE IN FRONTEND - Secret key for backend only
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY, // Secret JWT from env var
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
// Create a shortened link
const response = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: 'https://example.com/product',
name: 'Product Launch Campaign',
tags: ['marketing', 'spring-2025']
}
});
console.log('Short URL:', response.link?.shortlink);
console.log('QR Code URL:', response.link?.qrcodeSignedUrl);
```
### Advanced link creation
```typescript
import { Configuration, LinksApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
// Create link with custom shortlink
const customLink = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: 'https://example.com/docs',
shortlink: 'docs', // Creates lbr.ai/docs
name: 'Documentation Home',
tags: ['docs', 'internal'],
metadata: {
campaign_id: 'spring-2025',
department: 'engineering'
}
}
});
// Create link with QR code (wait for generation)
const qrLink = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: 'https://example.com/event',
name: 'Conference Registration',
waitForQrcode: true, // Blocks until QR is ready
tags: ['event', 'qr-code']
}
});
console.log('Download QR:', qrLink.link?.qrcodeSignedUrl);
```
### Managing links
```typescript
import { Configuration, LinksApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
// List links with filtering
const listResponse = await linksApi.linksServiceList({
pageSize: 50,
tags: ['marketing'],
search: 'campaign',
sortBy: 'LINK_SORT_FIELD_UPDATED_AT',
sortDirection: 'SORT_DIRECTION_DESC'
});
for (const link of listResponse.links || []) {
console.log(`${link.name}: ${link.shortlink}`);
}
// Get specific link details
const linkResponse = await linksApi.linksServiceGet({
id: 'your-link-uuid',
include: ['tags', 'qrcodeSignedUrl']
});
// Update link
await linksApi.linksServiceUpdate({
id: linkResponse.link?.id,
updateLinkRequest: {
name: 'Updated Campaign Name',
tags: ['marketing', 'q2-2025']
}
});
// Delete link
await linksApi.linksServiceDelete({
id: linkResponse.link?.id
});
```
### Bulk link creation
Efficiently create multiple links in one API call:
```typescript
import { Configuration, LinksApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
const response = await linksApi.linksServiceCreateBulk({
createBulkLinksRequest: {
links: [
{
destination: 'https://example.com/product-1',
name: 'Product 1',
tags: ['catalog'],
metadata: { sku: 'PROD-001' }
},
{
destination: 'https://example.com/product-2',
name: 'Product 2',
tags: ['catalog'],
metadata: { sku: 'PROD-002' }
}
]
}
});
console.log(`Created ${response.links?.length} links`);
```
## Accessing analytics
Retrieve events and metrics (requires secret key):
```typescript
import { Configuration, EventsApi, MetricsApi } from 'linkbreakers';
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
const eventsApi = new EventsApi(config);
const metricsApi = new MetricsApi(config);
// Get events for a specific link
const endDate = new Date();
const startDate = new Date();
startDate.setDate(startDate.getDate() - 30);
const eventsResponse = await eventsApi.eventsServiceList({
linkId: 'your-link-uuid',
startDate: startDate.toISOString(),
endDate: endDate.toISOString(),
pageSize: 100,
include: ['visitor', 'device']
});
// Get workspace metrics
const metrics = await metricsApi.metricsServiceGetWorkspaceMetrics();
console.log('Total clicks:', metrics.totalClicks);
```
## Framework integration examples
### Next.js (App Router)
**Frontend visitor tracking:**
```typescript
// app/components/visitor-tracker.tsx
'use client';
import { Configuration, VisitorsApi } from 'linkbreakers';
import { useEffect } from 'react';
export function VisitorTracker({ userEmail }: { userEmail: string }) {
useEffect(() => {
const config = new Configuration({
accessToken: process.env.NEXT_PUBLIC_LINKBREAKERS_PK, // Publishable JWT
basePath: 'https://api.linkbreakers.com',
});
const visitorsApi = new VisitorsApi(config);
const lbid = new URLSearchParams(window.location.search).get('lbid');
if (lbid && userEmail) {
visitorsApi.visitorsServiceIdentify({
identifyRequest: {
lbid,
visitor: {
data: { '$email': userEmail }
}
}
});
}
}, [userEmail]);
return null;
}
```
**Backend link creation:**
```typescript
// app/api/create-link/route.ts
import { Configuration, LinksApi } from 'linkbreakers';
import { NextResponse } from 'next/server';
export async function POST(request: Request) {
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY, // Secret JWT
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
const { destination, name } = await request.json();
const response = await linksApi.linksServiceCreate({
createLinkRequest: { destination, name }
});
return NextResponse.json({ shortlink: response.link?.shortlink });
}
```
### Node.js / Express
```typescript
import express from 'express';
import { Configuration, LinksApi } from 'linkbreakers';
const app = express();
app.use(express.json());
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY,
basePath: 'https://api.linkbreakers.com',
});
app.post('/api/create-link', async (req, res) => {
const linksApi = new LinksApi(config);
const response = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: req.body.destination,
name: req.body.name
}
});
res.json({ shortlink: response.link?.shortlink });
});
app.listen(3000);
```
## Security best practices
### Environment variables
Store both key types in environment variables:
```bash
# .env file
LINKBREAKERS_SECRET_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0IiwidHlwZSI6InNlY3JldCJ9...
NEXT_PUBLIC_LINKBREAKERS_PK=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0IiwidHlwZSI6InB1Ymxpc2hhYmxlIn0...
```
**Next.js note:** Prefix publishable keys with `NEXT_PUBLIC_` to make them available in the browser.
### Key usage matrix
| Operation | Publishable Key | Secret Key |
|-----------|----------------|------------|
| Identify visitors | ✅ Yes | ✅ Yes |
| Update visitor profiles | ✅ Yes | ✅ Yes |
| Create links | ❌ No | ✅ Yes |
| Delete links | ❌ No | ✅ Yes |
| View analytics | ❌ No | ✅ Yes |
| Access workspace metrics | ❌ No | ✅ Yes |
### Common security mistakes
❌ **DON'T:**
- Use secret keys in frontend code
- Commit keys to version control
- Share keys in screenshots or documentation
- Use production keys in development
✅ **DO:**
- Use publishable keys for all frontend operations
- Store secret keys in environment variables
- Rotate keys if accidentally exposed
- Use a sandbox token (`lb_test_...`) for development and CI
To let an AI agent drive the TypeScript SDK, or to use the MCP server instead, see [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents).
## Frequently asked questions
**Can I use one key for both frontend and backend?**
No. Always use publishable keys (with limited scopes) for frontend and secret keys (with full access) for backend. Publishable keys have restricted permissions encoded in the JWT and cannot create links or access sensitive data.
**How do I enable conversion tracking to get LBID in URLs?**
In your link settings, enable "Conversion Tracking" on the redirect workflow step. This appends `?lbid=...` to destination URLs, enabling visitor attribution.
**Does the SDK work in the browser?**
Yes, but only use it with publishable keys. Never expose secret keys in client-side code.
**How do I handle rate limits?**
The SDK will throw errors if you exceed rate limits. Implement retry logic with exponential backoff for production applications.
**Can I use this with TypeScript?**
Yes! The SDK is written in TypeScript and includes full type definitions for autocomplete and type safety.
**What about test mode?**
Create a [sandbox](/help/article/sandbox-test-environment) from **Dashboard → API Tokens → Sandboxes**, or with `POST /v1/sandboxes`. A sandbox is a separate, empty workspace whose token starts with `lb_test_`, so it can never touch your live links or analytics, its usage is never billed, and it is deleted 30 days after creation.
## Sources
- [Linkbreakers TypeScript SDK GitHub Repository](https://github.com/linkbreakers-com/linkbreakers-typescript)
- [Linkbreakers TypeScript SDK on npm](https://www.npmjs.com/package/linkbreakers)
- [What is LBID?](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid)
- [Linkbreakers API Documentation](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api)
## Last reviewed
This article was last reviewed on March 20, 2025.
---
# How to install and use the Linkbreakers CLI
Source: https://linkbreakers.com/help/article/linkbreakers-cli-setup
## Short answer
The Linkbreakers CLI gives you a fast command-line interface for common workspace operations like listing links, creating short URLs, managing directories, and checking custom domains. The easiest way to install it on macOS or Linux is:
One-line install
Install the latest Linkbreakers CLI without choosing a version manually.
After installation, authenticate with a workspace token using `linkbreakers auth set-token --token YOUR_TOKEN`, then start using commands like `linkbreakers links list` or `linkbreakers links create`.
## Quick summary
- The CLI binary is named `linkbreakers`
- It is designed for humans, scripts, and AI agents
- macOS and Linux can install with a one-line shell command
- Windows can install from the GitHub Releases zip asset
- The CLI can notify you when a newer version is available
- Updates can be applied with `linkbreakers self-update`
## What the CLI is useful for
The Linkbreakers CLI is useful when you want to work with Linkbreakers outside the dashboard, automate repetitive tasks, or integrate workspace operations into shell scripts, CI jobs, internal tooling, or AI-driven workflows.
Common use cases include:
- creating and managing shortened links
- listing and organizing links inside directories
- checking custom domain status from a terminal
- calling the API directly with `linkbreakers raw`
- giving any LLM a stable command surface to interact with Linkbreakers
### Using the CLI with your favorite LLM
The CLI is designed to work seamlessly with any AI coding assistant — not just Claude. Once installed and authenticated, any LLM that can execute terminal commands (GitHub Copilot, Cursor, Windsurf, or any other AI tool) can run `linkbreakers` commands to create links, pull analytics, manage domains, and automate QR code workflows.
The CLI outputs structured JSON by default, making it trivially parseable by AI agents. Combined with the MCP server for Claude and other MCP-compatible clients, Linkbreakers is the only QR code management platform built from the ground up for AI-driven workflows.
## Prerequisites
Before using the CLI, you need:
1. A Linkbreakers account and workspace
2. A workspace API token
3. A supported platform:
- macOS
- Linux
- Windows
## Step 1: Install the CLI
### macOS and Linux
Use the installer:
```bash
curl -fsSL https://cli.linkbreakers.com/install.sh | bash
```
The installer:
- detects your OS and architecture automatically
- fetches the latest released version
- installs the `linkbreakers` binary into a standard executable path
### Windows
Download the latest `.zip` archive from the GitHub Releases page:
`https://github.com/linkbreakers-com/linkbreakers-cli/releases`
Then extract `linkbreakers.exe` and place it somewhere in your `PATH`.
## Step 2: Create a workspace token
1. Log in to [app.linkbreakers.com](https://app.linkbreakers.com)
2. Go to **Dashboard → API Tokens**
3. Create a new token
4. Copy it immediately
For CLI and backend usage, use a token that has the permissions required for the operations you plan to run.
## Step 3: Authenticate the CLI
The easiest approach is to persist your token locally:
```bash
linkbreakers auth set-token --token YOUR_WORKSPACE_TOKEN
```
You can verify the resolved configuration with:
```bash
linkbreakers auth status
```
You can also use environment variables instead of saving config:
```bash
export LINKBREAKERS_TOKEN=YOUR_WORKSPACE_TOKEN
export LINKBREAKERS_BASE_URL=https://api.linkbreakers.com
```
## Step 4: Run your first commands
### List links
```bash
linkbreakers links list --page-size 20
```
### Create a link
```bash
linkbreakers links create \
--destination https://example.com \
--name "Spring campaign" \
--tags marketing,spring
```
### Get a single link
```bash
linkbreakers links get LINK_ID
```
### List directories
```bash
linkbreakers directories list --recursive
```
### Check custom domains
```bash
linkbreakers custom-domains list
```
### Call the API directly
If a dedicated subcommand does not exist yet, use the raw mode:
```bash
linkbreakers raw GET /v1/links?pageSize=5
```
## Output formats
By default, the CLI returns JSON, which makes it easy to pipe into tools and LLM workflows.
You can also request table output for supported list commands:
```bash
linkbreakers links list --output table
```
## Updating the CLI
The CLI periodically checks whether a newer version is available and will show a message when an update exists.
To update directly from the terminal:
```bash
linkbreakers self-update
```
You can also rerun the installer:
```bash
curl -fsSL https://cli.linkbreakers.com/install.sh | bash
```
### Windows update note
Windows users should currently update by downloading the latest release artifact manually from GitHub Releases.
## Help and documentation
The CLI includes built-in help:
```bash
linkbreakers help
linkbreakers links help
linkbreakers custom-domains help
```
This makes it useful not only for developers, but also for AI assistants that need a predictable command structure with explicit flags and examples.
## Troubleshooting
### `command not found: linkbreakers`
The binary is installed, but the install directory is not in your shell `PATH`. Add the install directory to `PATH`, then restart your shell.
### `missing API token`
Set a token first:
```bash
linkbreakers auth set-token --token YOUR_WORKSPACE_TOKEN
```
Or use `LINKBREAKERS_TOKEN`.
### `self-update` failed
This usually means:
- the binary location is not writable
- the current platform is not supported by in-place update
- the release asset could not be downloaded
In those cases, rerun the installer or download the latest release manually.
## Related guides
- [How to use the Linkbreakers API](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api)
- [Linkbreakers TypeScript SDK: Complete Integration Guide](https://linkbreakers.com/help/article/typescript-sdk-quickstart)
- [Linkbreakers Python SDK Quick Start](https://linkbreakers.com/help/article/python-sdk-quickstart)
- [How to set up and configure the Linkbreakers MCP server](https://linkbreakers.com/help/article/mcp-server-setup)
- [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents)
---
# How Linkbreakers works with AI agents
Source: https://linkbreakers.com/help/article/linkbreakers-for-ai-agents
## Short answer
An AI agent can use Linkbreakers the same way a developer does, without a person clicking through the dashboard. It can connect to the hosted MCP server at `https://mcp.linkbreakers.com`, call the REST API at `https://api.linkbreakers.com` with a scoped token, or drive the SDKs and the CLI. It can even register itself and get a workspace of its own through [auth.md](https://linkbreakers.com/auth.md). Every one of these surfaces is listed in machine-readable files (llms.txt, an OpenAPI description, an ARD catalog, MCP server cards), so an agent can find them on its own.
Linkbreakers is classified as Infrastructure and Developer Tools. The independent scanner ora rates linkbreakers.com A+ (98/100) for AI agent readiness; the [live score is on ora](https://ora.ai/score/linkbreakers.com).
## Quick summary
- **Operate a workspace:** the product MCP server, the REST API, the SDKs and the CLI all reach the same API
- **Read the docs:** the docs MCP server, llms.txt files and a markdown twin of every page, with no sign-in
- **Get credentials:** OAuth 2.1 for MCP clients, scoped workspace tokens for code, or anonymous self-registration for agents with nobody around
- **Test safely:** sandbox workspaces with `lb_test_` tokens, never billed
- **Receive events:** webhooks signed with HTTP Message Signatures, verifiable with public keys only
## What an agent can use
| Surface | What it is for | Where |
|---|---|---|
| Product MCP server | Create links, QR codes and workflows; read visitors and analytics | `https://mcp.linkbreakers.com` (OAuth 2.1) |
| Docs MCP server | Search and read the help center and developer docs | `https://linkbreakers.com/mcp` (no sign-in) |
| npm MCP package | The product MCP server over stdio, for clients that launch local commands | `npx -y linkbreakers-mcp` |
| REST API | Every Linkbreakers capability over HTTP | `https://api.linkbreakers.com` |
| OpenAPI | The API description an agent can generate calls from | [openapi.json](https://linkbreakers.com/openapi.json) |
| auth.md | Step-by-step credentials guide written for agents | [auth.md](https://linkbreakers.com/auth.md) |
| llms.txt | Curated index of the site for language models | [llms.txt](https://linkbreakers.com/llms.txt) |
| SDKs | Typed clients in TypeScript, Python, Go, Java and Rust | [SDK guides](#sdks-and-the-cli) |
| CLI | Shell access to the API for scripts and CI | `brew install linkbreakers-com/tap/linkbreakers` |
| Agent skills | Task playbooks for coding agents | [agent-skills](https://github.com/linkbreakers-com/agent-skills) |
| WebMCP | Tools registered on linkbreakers.com pages for in-browser agents | Any page of linkbreakers.com |
| NLWeb | Natural-language questions over the docs, answered as JSON | [/ask](https://linkbreakers.com/ask) |
| Signed webhooks | Real-time events your agent's backend can trust | [Signature keys](https://linkbreakers.com/.well-known/http-message-signatures-directory) |
## The product MCP server
The hosted MCP server at `https://mcp.linkbreakers.com` lets Claude, ChatGPT, Cursor, VS Code or any MCP client operate a Linkbreakers workspace: create tracked links and QR codes, build lead capture workflows, manage custom domains, and read visitors and analytics. Clients sign in with OAuth 2.1 (authorization code with PKCE and dynamic client registration), so nobody copies a token by hand. It is listed in the [official MCP registry](https://registry.modelcontextprotocol.io/v0/servers/com.linkbreakers%2Fmcp/versions/latest) and describes itself in a [server card](https://linkbreakers.com/.well-known/mcp/product/server-card.json).
Tool results can render as interactive cards inside the conversation through MCP Apps: Link card, Visitors and Workspace metrics. See [MCP Apps: interactive UI](/help/article/mcp-apps-interactive-ui).
Clients that only launch local commands can run the same server over stdio with the npm package `linkbreakers-mcp`:
```bash
npx -y linkbreakers-mcp
```
Setup for each client is in the [MCP server setup guide](/help/article/mcp-server-setup).
## The docs MCP server and llms.txt
The docs MCP server at `https://linkbreakers.com/mcp` needs no sign-in. It searches and reads the help center, so an agent can answer a question about Linkbreakers from the source instead of from memory.
For agents that read plain files, the documentation is published as:
- [llms.txt](https://linkbreakers.com/llms.txt): a curated index of the whole site
- [Help center llms.txt](https://linkbreakers.com/help/llms.txt) and [API llms.txt](https://linkbreakers.com/api/llms.txt): focused section indexes
- [llms-full.txt](https://linkbreakers.com/llms-full.txt): the full text of every help article
- A markdown twin of every page: append `.md` to a help article URL, or send `Accept: text/markdown`
- The [agent view](https://linkbreakers.com/?mode=agent): APIs, authentication, MCP servers, SDKs, the CLI and skills on one page
Catalogs list the same resources for crawlers and registries: the [ARD catalog](https://linkbreakers.com/.well-known/ard.json), its [AI Catalog](https://linkbreakers.com/.well-known/ai-catalog.json) alias and the RFC 9727 [API catalog](https://linkbreakers.com/.well-known/api-catalog).
## Credentials: auth.md, OAuth and scoped tokens
[auth.md](https://linkbreakers.com/auth.md) walks an agent through getting credentials, in order. There are three ways:
1. **A workspace API token** a person creates in the dashboard and hands over. Give it only the [scopes](/help/article/api-token-scopes) the job needs, such as `links:read` or `visitors:read`, so a leaked token cannot do more.
2. **OAuth 2.1** for MCP clients, handled by the client when the person signs in. A person who belongs to several workspaces picks one on the consent screen, and the client acts there with that person's role. See [Working across multiple workspaces](/help/article/work-across-multiple-workspaces).
3. **Anonymous self-registration**, for an agent with nobody around: one request returns a free workspace and a token right away. A person can claim the workspace later with a 6-digit code; an unclaimed one is removed after 24 hours.
A call outside a token's scopes answers `403` with the missing scope, so an agent can tell the person exactly what to grant.
## The REST API and OpenAPI
The [REST API](https://linkbreakers.com/developers) at `https://api.linkbreakers.com` covers links, QR codes, workflow steps, visitors, events, analytics, webhooks and custom domains. Its [OpenAPI description](https://linkbreakers.com/openapi.json) declares the scope each endpoint needs, which endpoints need no authentication, and the bulk endpoints. Start with [How to use the Linkbreakers API](/help/article/how-to-use-the-linkbreakers-api).
## SDKs and the CLI
Official SDKs wrap the same API:
- TypeScript: `npm install linkbreakers` ([guide](https://linkbreakers.com/sdk/typescript))
- Python: `pip install linkbreakers` ([guide](https://linkbreakers.com/sdk/python))
- Go: `go get github.com/linkbreakers-com/linkbreakers-go` ([guide](https://linkbreakers.com/sdk/go))
- Java: `com.linkbreakers:linkbreakers-sdk` ([guide](https://linkbreakers.com/sdk/java))
- Rust: `cargo add linkbreakers` ([guide](https://linkbreakers.com/sdk/rust))
The CLI installs with Homebrew (`brew install linkbreakers-com/tap/linkbreakers`), npm (`npm install -g linkbreakers-cli`) or a script. Its latest release is 1.175.0. See [Linkbreakers CLI setup](/help/article/linkbreakers-cli-setup).
## Sandbox workspaces
A [sandbox](/help/article/sandbox-test-environment) is a separate test workspace reached with a `lb_test_` token. Create one with `POST https://api.linkbreakers.com/v1/sandboxes`. It works with the API, the SDKs, the CLI and the MCP server, is never billed, and is deleted after 30 days. Point an agent at a sandbox while you build, then switch the token.
## Agent skills
The [agent-skills repository](https://github.com/linkbreakers-com/agent-skills) holds playbooks that teach coding agents common Linkbreakers tasks. Install them with `npx skills add linkbreakers-com/agent-skills`, or read them from the [skills index](https://linkbreakers.com/.well-known/agent-skills/index.json):
- [build-lead-capture-workflow](https://linkbreakers.com/.well-known/agent-skills/build-lead-capture-workflow/SKILL.md)
- [connect-linkbreakers-mcp](https://linkbreakers.com/.well-known/agent-skills/connect-linkbreakers-mcp/SKILL.md)
- [create-tracked-qr-code](https://linkbreakers.com/.well-known/agent-skills/create-tracked-qr-code/SKILL.md)
- [identify-visitors-on-your-site](https://linkbreakers.com/.well-known/agent-skills/identify-visitors-on-your-site/SKILL.md)
- [manage-custom-domains](https://linkbreakers.com/.well-known/agent-skills/manage-custom-domains/SKILL.md)
- [read-visitors-and-leads](https://linkbreakers.com/.well-known/agent-skills/read-visitors-and-leads/SKILL.md)
- [send-leads-to-webhooks](https://linkbreakers.com/.well-known/agent-skills/send-leads-to-webhooks/SKILL.md)
- [use-linkbreakers-cli](https://linkbreakers.com/.well-known/agent-skills/use-linkbreakers-cli/SKILL.md)
## WebMCP and NLWeb on linkbreakers.com
Pages on linkbreakers.com register WebMCP tools, so an agent running in the browser can search the docs, read an article, check pricing, open the signup or preview a QR code without scraping the page.
The [/ask](https://linkbreakers.com/ask) endpoint answers natural-language questions about Linkbreakers with NLWeb: send `GET /ask?query=...` or a JSON body and get ranked results back as JSON.
## Signed webhooks
When something happens in a workspace, such as a scan or a form submission, Linkbreakers can call your endpoint with a webhook. Every webhook is signed with HTTP Message Signatures (RFC 9421) using Ed25519 keys published at [the signatures directory](https://linkbreakers.com/.well-known/http-message-signatures-directory). An agent's backend checks the signature with public keys only, with no shared secret to store. See [Verify Linkbreakers webhook signatures](/help/article/verify-webhook-signatures).
## Limits and caveats
- An agent acts with the permissions of its token. Scoped tokens limit what it can reach; they do not limit how much it does within those scopes
- API calls count toward the workspace plan; sandbox workspaces have their own monthly caps
- A self-registered workspace is on the free plan and disappears after 24 hours unless a person claims it
- The ora rating is computed by ora, not by Linkbreakers, and changes when ora rescans the site
## Frequently asked questions
### Can an AI agent use Linkbreakers without a person?
Yes. Anonymous self-registration in [auth.md](https://linkbreakers.com/auth.md) gives an agent a free workspace and a token with one request. A person can claim the workspace later.
### Which should an agent use: the MCP server, the API or an SDK?
Use the MCP server when the agent is an MCP client such as Claude or Cursor. Use the REST API or an SDK when the agent writes and runs code. Both reach the same capabilities.
### Does the docs MCP server need an account?
No. The docs MCP server at `https://linkbreakers.com/mcp` is open and read-only.
### How do I keep an agent from changing live data while I test?
Give it a sandbox token (`lb_test_`). Everything it creates stays in the sandbox and is deleted after 30 days.
### How is Linkbreakers rated for AI agent readiness?
ora rates linkbreakers.com A+ for AI agent readiness. The [score page on ora](https://ora.ai/score/linkbreakers.com) shows the current result and every check.
## Related guides
- [MCP server setup](/help/article/mcp-server-setup)
- [MCP Apps: interactive UI](/help/article/mcp-apps-interactive-ui)
- [How to use the Linkbreakers API](/help/article/how-to-use-the-linkbreakers-api)
- [API token scopes](/help/article/api-token-scopes)
- [Working across multiple workspaces](/help/article/work-across-multiple-workspaces)
- [Developer ecosystem overview](/help/article/linkbreakers-developer-ecosystem-overview)
- [Linkbreakers CLI setup](/help/article/linkbreakers-cli-setup)
- [TypeScript SDK quickstart](/help/article/typescript-sdk-quickstart), [Python](/help/article/python-sdk-quickstart), [Go](/help/article/golang-sdk-quickstart), [Java](/help/article/java-sdk-quickstart), [Rust](/help/article/rust-sdk-quickstart)
- [Sandbox test environment](/help/article/sandbox-test-environment)
- [Verify webhook signatures](/help/article/verify-webhook-signatures)
## Last reviewed
2026-10-11
---
# Linkbreakers Python SDK: Complete Integration Guide
Source: https://linkbreakers.com/help/article/python-sdk-quickstart
## Short answer
The Linkbreakers Python SDK enables programmatic link management, visitor identification, QR code generation, and analytics access from your Python backend applications. Install it with `pip install linkbreakers`, authenticate with a secret API key, and start creating trackable links for your campaigns, products, or events.
## Installation
Install the SDK using pip:
```bash
pip install linkbreakers
```
For Poetry users:
```bash
poetry add linkbreakers
```
For pipenv:
```bash
pipenv install linkbreakers
```
## Understanding API keys for Python
The Python SDK is designed for **backend/server-side use only** and requires a **secret API key** with full workspace access.
### Secret keys
**Backend-only.** These JWT tokens grant full API access and must never be exposed in public repositories or client-side code.
**What they allow:**
- Create, update, and delete links
- Generate and customize QR codes
- Identify and track visitors
- Access analytics and metrics
- Manage workspace resources
- Full API access
**Where to use:**
- Django/Flask/FastAPI applications
- Background jobs and cron tasks
- CI/CD pipelines
- Serverless functions (AWS Lambda, Google Cloud Functions)
- Data processing scripts
- Internal tools and dashboards
**Security note:** Python applications typically run on servers, making them perfect for secret key usage. Never log keys, commit them to git, or expose them in error messages.
## Creating a secret API key
Create your API key from the dashboard:
1. Log in to [app.linkbreakers.com](https://app.linkbreakers.com)
2. Navigate to **Dashboard → API Tokens**
3. Click **Create API Token**
4. Select **Secret Key** (full API access)
5. Give it a descriptive name (e.g., "Production Backend" or "Analytics Pipeline")
6. Copy the generated JWT token immediately
**Important:** You won't see the key again after creation. Store it in environment variables or a secret management system (AWS Secrets Manager, HashiCorp Vault, etc.).
## Quick start
Initialize the client and create your first shortened link:
```python
from linkbreakers import Configuration, ApiClient, LinksApi
# Configure API client
configuration = Configuration(
access_token='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', # Your JWT token
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
# Create a shortened link
response = links_api.links_service_create({
'destination': 'https://example.com/product',
'name': 'Product Launch - Spring 2025',
'tags': ['marketing', 'product-launch']
})
print(f'Short URL: {response.link.shortlink}')
print(f'Link ID: {response.link.id}')
print(f'QR Code: {response.link.qrcode_signed_url}')
```
**Context manager:** The `with ApiClient(configuration) as api_client` pattern ensures proper connection handling and cleanup. Always use this pattern in production code.
## Environment variables (best practice)
Never hardcode API keys. Use environment variables:
```python
import os
from linkbreakers import Configuration, ApiClient, LinksApi
# Read from environment variable
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
# ... use the API
```
**Set your environment variable:**
```bash
# .env file (use python-dotenv to load)
LINKBREAKERS_SECRET_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0IiwidHlwZSI6InNlY3JldCJ9...
# Or export directly in shell
export LINKBREAKERS_SECRET_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
```
**Loading .env files with python-dotenv:**
```python
from dotenv import load_dotenv
import os
load_dotenv() # Loads variables from .env file
api_key = os.getenv('LINKBREAKERS_SECRET_KEY')
```
## Creating and managing links
### Basic link creation
```python
from linkbreakers import Configuration, ApiClient, LinksApi, CreateLinkRequest
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
# Create a basic link
response = links_api.links_service_create(
create_link_request=CreateLinkRequest(
destination='https://example.com/summer-sale',
name='Summer Sale 2025',
tags=['campaign', 'summer', 'email']
)
)
print(f'Created: {response.link.shortlink}')
```
### Advanced link options
```python
from linkbreakers import Configuration, ApiClient, LinksApi, CreateLinkRequest
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
# Create link with custom shortlink
custom_link = links_api.links_service_create(
create_link_request=CreateLinkRequest(
destination='https://example.com/docs',
shortlink='docs', # Creates lbr.ai/docs
name='Documentation Portal',
fallback_destination='https://example.com/404',
tags=['internal', 'docs']
)
)
# Create link with metadata for tracking
tracked_link = links_api.links_service_create(
create_link_request=CreateLinkRequest(
destination='https://example.com/product/123',
name='Product 123 - Email Campaign',
metadata={
'product_id': '123',
'campaign_id': 'spring-2025',
'utm_source': 'email',
'utm_medium': 'newsletter',
'utm_campaign': 'product-launch'
},
tags=['product', 'email']
)
)
# Create link with QR code (wait for generation)
qr_link = links_api.links_service_create(
create_link_request=CreateLinkRequest(
destination='https://example.com/event-registration',
name='Conference 2025 Registration',
wait_for_qrcode=True, # Blocks until QR is generated
tags=['event', 'conference', 'qr-code']
)
)
print(f'Download QR code: {qr_link.link.qrcode_signed_url}')
```
### Listing and filtering links
```python
from linkbreakers import Configuration, ApiClient, LinksApi
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
# List links with filtering
list_response = links_api.links_service_list(
page_size=50,
tags=['marketing', 'email'],
search='campaign',
sort_by='LINK_SORT_FIELD_UPDATED_AT',
sort_direction='SORT_DIRECTION_DESC'
)
for link in list_response.links:
print(f'{link.name}: {link.shortlink}')
print(f' Tags: {", ".join(link.tags or [])}')
print(f' Created: {link.created_at}')
```
### Updating and deleting links
```python
from linkbreakers import Configuration, ApiClient, LinksApi
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
# Get a specific link
link = links_api.links_service_get(
id='your-link-uuid',
include=['tags', 'qrcodeSignedUrl']
)
# Update link
links_api.links_service_update(
id=link.link.id,
update_link_request={
'name': 'Updated Campaign Name',
'tags': ['marketing', 'q2-2025', 'updated']
}
)
# Delete link
links_api.links_service_delete(id=link.link.id)
```
## Bulk link creation
Create hundreds of links efficiently in a single API call:
```python
from linkbreakers import (
Configuration,
ApiClient,
LinksApi,
CreateLinkRequest,
CreateBulkLinksRequest
)
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
# Prepare bulk links (e.g., from a product catalog)
products = [
{'id': '001', 'name': 'Widget A', 'url': 'https://example.com/products/001'},
{'id': '002', 'name': 'Widget B', 'url': 'https://example.com/products/002'},
{'id': '003', 'name': 'Widget C', 'url': 'https://example.com/products/003'},
]
links_to_create = [
CreateLinkRequest(
destination=p['url'],
name=f"Product: {p['name']}",
tags=['product', 'catalog'],
metadata={'product_id': p['id'], 'sku': f"SKU-{p['id']}"}
)
for p in products
]
# Create all links in one request
response = links_api.links_service_create_bulk(
create_bulk_links_request=CreateBulkLinksRequest(
links=links_to_create
)
)
print(f'Created {len(response.links)} links')
for link in response.links:
print(f' {link.name}: {link.shortlink}')
```
**When to use bulk creation:**
- Importing product catalogs
- Generating links from CSV/database
- Campaign setup with many URLs
- Automated link generation pipelines
## Visitor identification and tracking
Track and identify visitors using their LBID (Linkbreakers ID) from click/scan events:
```python
from linkbreakers import (
Configuration,
ApiClient,
VisitorsApi,
IdentifyRequest,
VisitorInput
)
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
visitors_api = VisitorsApi(api_client)
# Identify a visitor using their LBID
# LBID comes from ?lbid= parameter when users click your links
response = visitors_api.visitors_service_identify(
identify_request=IdentifyRequest(
lbid='visitor-lbid-from-url-parameter',
visitor=VisitorInput(
data={
# System fields (prefixed with "$")
'$email': 'john.doe@example.com',
'$phone': '+14155551234',
'$firstName': 'John',
'$lastName': 'Doe',
# Custom attributes (no "$" prefix)
'company': 'Acme Corporation',
'jobTitle': 'Product Manager',
'plan': 'enterprise',
'signupDate': '2024-01-15',
'industry': 'SaaS',
'employees': 250
}
),
set_once=False # True = only update empty fields
)
)
print(f'New profile created: {response.created}')
print(f'Visitor ID: {response.visitor.id}')
print(f'Email: {response.visitor.email}')
```
**Understanding LBID:**
When visitors click your Linkbreakers links with **conversion tracking enabled**, a `?lbid=...` parameter is added to the destination URL. This LBID connects the visitor to the specific link click, enabling attribution and analytics.
Extract LBID from incoming requests and pass it to the identification API to build visitor profiles. Learn more in our [What is LBID?](/help/article/what-is-the-linkbreakers-id-lbid) guide.
### Working with visitor data
```python
from linkbreakers import Configuration, ApiClient, VisitorsApi
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
visitors_api = VisitorsApi(api_client)
# Get visitor details
visitor = visitors_api.visitors_service_get(
id='visitor-uuid',
include=['devices', 'events', 'links']
)
print(f'Visitor: {visitor.email}')
print(f'Devices: {len(visitor.devices or [])}')
print(f'Events: {len(visitor.events or [])}')
# List visitors with filtering
visitors_list = visitors_api.visitors_service_list(
page_size=100,
email='user@example.com', # Filter by email
link_id='link-uuid', # Filter by link
search='Acme Corp' # Search in attributes
)
# Update visitor attributes
visitors_api.visitors_service_update(
id='visitor-uuid',
visitors_service_update_body={
'visitor': {
'data': {
'$email': 'updated@example.com',
'plan': 'enterprise',
'lastActivity': '2025-03-20'
}
}
}
)
```
## Accessing analytics and metrics
Retrieve event data and workspace metrics:
```python
from linkbreakers import Configuration, ApiClient, EventsApi, MetricsApi
from datetime import datetime, timedelta
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
events_api = EventsApi(api_client)
metrics_api = MetricsApi(api_client)
# Get events for a specific link (last 30 days)
end_date = datetime.now()
start_date = end_date - timedelta(days=30)
events_response = events_api.events_service_list(
link_id='your-link-uuid',
start_date=start_date.isoformat(),
end_date=end_date.isoformat(),
page_size=1000,
include=['visitor', 'device', 'link']
)
print(f'Total events: {len(events_response.events)}')
for event in events_response.events[:10]:
print(f' {event.action} - {event.created_at}')
# Get workspace metrics
metrics = metrics_api.metrics_service_get_workspace_metrics()
print(f'\nWorkspace Stats:')
print(f' Total links: {metrics.total_links}')
print(f' Total clicks: {metrics.total_clicks}')
print(f' Total visitors: {metrics.total_visitors}')
```
## Framework integration
### Django
**Settings configuration:**
```python
# settings.py
import os
from dotenv import load_dotenv
load_dotenv()
LINKBREAKERS_SECRET_KEY = os.getenv('LINKBREAKERS_SECRET_KEY')
```
**View example:**
```python
# views.py
from django.http import JsonResponse
from django.conf import settings
from linkbreakers import Configuration, ApiClient, LinksApi
def create_short_link(request):
configuration = Configuration(
access_token=settings.LINKBREAKERS_SECRET_KEY,
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
response = links_api.links_service_create({
'destination': request.POST.get('url'),
'name': request.POST.get('name'),
'tags': ['django', 'webapp']
})
return JsonResponse({
'success': True,
'shortlink': response.link.shortlink
})
```
**Model integration:**
```python
# models.py
from django.db import models
from linkbreakers import Configuration, ApiClient, LinksApi
from django.conf import settings
class Campaign(models.Model):
name = models.CharField(max_length=200)
destination_url = models.URLField()
short_link = models.URLField(blank=True)
link_id = models.UUIDField(null=True, blank=True)
def create_short_link(self):
configuration = Configuration(
access_token=settings.LINKBREAKERS_SECRET_KEY,
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
response = links_api.links_service_create({
'destination': self.destination_url,
'name': self.name,
'tags': ['campaign'],
'metadata': {'django_model_id': str(self.id)}
})
self.short_link = response.link.shortlink
self.link_id = response.link.id
self.save()
```
### Flask
```python
from flask import Flask, request, jsonify
from linkbreakers import Configuration, ApiClient, LinksApi
import os
app = Flask(__name__)
# Initialize configuration once
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
@app.route('/api/create-link', methods=['POST'])
def create_link():
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
data = request.get_json()
response = links_api.links_service_create({
'destination': data['destination'],
'name': data.get('name', 'Untitled Link'),
'tags': data.get('tags', [])
})
return jsonify({
'success': True,
'shortlink': response.link.shortlink,
'qr_code': response.link.qrcode_signed_url
})
@app.route('/api/links', methods=['GET'])
def list_links():
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
response = links_api.links_service_list(
page_size=50,
tags=request.args.getlist('tags')
)
return jsonify({
'links': [
{
'id': link.id,
'name': link.name,
'shortlink': link.shortlink,
'destination': link.destination
}
for link in response.links
]
})
if __name__ == '__main__':
app.run(debug=True)
```
### FastAPI
```python
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, HttpUrl
from linkbreakers import Configuration, ApiClient, LinksApi
import os
app = FastAPI()
# Initialize configuration
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
class CreateLinkRequest(BaseModel):
destination: HttpUrl
name: str
tags: list[str] = []
class LinkResponse(BaseModel):
id: str
shortlink: str
qr_code: str | None
@app.post("/api/create-link", response_model=LinkResponse)
async def create_link(request: CreateLinkRequest):
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
response = links_api.links_service_create({
'destination': str(request.destination),
'name': request.name,
'tags': request.tags
})
return LinkResponse(
id=response.link.id,
shortlink=response.link.shortlink,
qr_code=response.link.qrcode_signed_url
)
@app.get("/api/links")
async def list_links(tag: str | None = None, page_size: int = 50):
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
response = links_api.links_service_list(
page_size=page_size,
tags=[tag] if tag else None
)
return {
'links': [
{
'id': link.id,
'name': link.name,
'shortlink': link.shortlink
}
for link in response.links
]
}
```
## Error handling
Implement proper error handling for production:
```python
from linkbreakers import Configuration, ApiClient, LinksApi, ApiException
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'),
host='https://api.linkbreakers.com'
)
try:
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
response = links_api.links_service_create({
'destination': 'https://example.com/page',
'name': 'My Link'
})
print(f'Success: {response.link.shortlink}')
except ApiException as e:
print(f'API Error: {e.status} - {e.reason}')
print(f'Response body: {e.body}')
except Exception as e:
print(f'Unexpected error: {str(e)}')
```
To let an AI agent drive the Python SDK, or to use the MCP server instead, see [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents).
## Frequently asked questions
**Can I use the Python SDK in Django or Flask applications?**
Yes! The SDK is framework-agnostic and works seamlessly with Django, Flask, FastAPI, Pyramid, and any Python web framework.
**How do I handle rate limits?**
The SDK will raise `ApiException` if you exceed rate limits. Implement exponential backoff retry logic for production applications.
**Does the SDK support async/await?**
The current version uses synchronous HTTP calls. For async frameworks like FastAPI, run SDK calls in thread pools using `asyncio.to_thread()` or use background tasks.
**How do I get the LBID for visitor identification?**
The LBID appears as a `?lbid=` query parameter when visitors click your links with conversion tracking enabled. Extract it from request parameters and pass it to `visitors_service_identify()`.
**Can I create bulk links efficiently?**
Yes, use `links_service_create_bulk()` to create up to 1000 links in a single API call, which is much more efficient than individual requests.
**What Python versions are supported?**
The SDK supports Python 3.7+ with full type hints for modern IDE autocompletion and type checking.
**How do I test without affecting production data?**
Create a [sandbox](/help/article/sandbox-test-environment) from **Dashboard → API Tokens → Sandboxes**, or with `POST /v1/sandboxes`. A sandbox is a separate, empty workspace whose token starts with `lb_test_`, so it can never touch your live links or analytics, its usage is never billed, and it is deleted 30 days after creation.
## Sources
- [Linkbreakers Python SDK GitHub Repository](https://github.com/linkbreakers-com/linkbreakers-python)
- [Linkbreakers Python SDK on PyPI](https://pypi.org/project/linkbreakers/)
- [What is LBID?](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid)
- [Linkbreakers API Documentation](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api)
## Last reviewed
This article was last reviewed on March 20, 2025.
---
# Why you should host your own URL shortener
Source: https://linkbreakers.com/help/article/why-you-should-host-your-own-url-shortener-and-how-linkbreakers-makes-it-easy
## Short answer
This article explains why you should host your own url shortener with practical guidance, limits, and implementation details so you can apply it consistently.
Centralized URL shortening services dominate the market, but their convenience comes with hidden costs that many organizations only discover when it's too late. Data ownership concerns, branding limitations, and platform dependency risks create significant vulnerabilities for businesses that rely heavily on shortened links. Self-hosted and white-label alternatives offer compelling solutions that address these challenges while providing greater control and customization capabilities.
## Quick summary
- Understand hidden costs of centralized shorteners including data ownership and privacy concerns
- Learn benefits of self-hosting and white-label platforms for complete data control
- Discover how Linkbreakers provides white-label control without technical complexity
- Explore custom domain integration and automated SSL certificate management
- Compare deployment options for agencies, SaaS platforms, enterprises, and developers
- Implement DNS configuration and security considerations for professional deployment
## The hidden costs of centralized shorteners
### Data ownership and privacy concerns
When you use centralized URL shortening services, you're essentially outsourcing one of your most valuable digital assets: the connection between your marketing efforts and your audience. Every click on a shortened link generates data about your customers, their behaviors, and their preferences. This data flows into the platform's systems, where it may be aggregated, analyzed, and potentially monetized in ways that don't align with your business interests.
Privacy regulations like GDPR and CCPA require organizations to maintain strict control over customer data collection and processing. Centralized shorteners introduce third-party data processors into your compliance chain, creating additional complexity and potential liability. When customer data passes through external shortening services, you must ensure those services meet your privacy standards and regulatory requirements.
The data portability challenge becomes apparent when you want to switch platforms or analyze your link performance across different tools. Centralized services often provide limited export capabilities, making it difficult to maintain historical analytics or migrate to alternative solutions. Your marketing attribution data becomes locked into proprietary systems that may not integrate with your preferred analytics platforms.
Corporate policies increasingly require companies to minimize third-party data sharing and maintain greater control over customer interactions. Using centralized shorteners conflicts with these policies by introducing unnecessary data sharing relationships that could be eliminated through self-hosted or white-label alternatives.
### Branding limitations and trust concerns
Brand consistency matters enormously in modern marketing, yet centralized shorteners force you to use their domains and branding throughout your customer communications. A professional email campaign featuring links like `bit.ly/x7k2p` or `tinyurl.com/abc123` doesn't inspire the same confidence as branded alternatives like `go.yourcompany.com/special-offer`.
The trust factor becomes particularly important for B2B communications and sensitive customer interactions. Recipients increasingly scrutinize shortened links for potential security threats, and unfamiliar domains raise suspicion. Branded short links using your own domain create immediate trust and increase click-through rates compared to generic shortener domains.
Link aesthetics affect user experience across all channels. Social media posts, email campaigns, and printed materials look more professional when they feature consistent branding throughout the customer journey. Centralized shorteners create jarring brand interruptions that can confuse customers and dilute marketing messages.
Some organizations and email security systems automatically flag or block certain shortening domains due to their association with spam or malicious content. Using well-known centralized shorteners can trigger security filters that prevent your legitimate marketing messages from reaching their intended recipients.
### Platform dependency and business risks
Relying on centralized shortening services creates significant business continuity risks that aren't immediately apparent. These platforms can change their pricing models, modify their terms of service, or even shut down entirely, leaving you with broken links across all your marketing materials.
Service outages at centralized shorteners can disrupt your entire marketing funnel without warning. When major shortening services experience downtime, every campaign, email, and printed material featuring their links becomes temporarily useless. This dependency creates single points of failure that can impact revenue and customer experience.
Feature limitations become more constraining as your marketing sophistication increases. Centralized shorteners typically offer basic analytics and minimal customization options. Advanced features like custom redirect logic, detailed visitor tracking, or integration with marketing automation platforms often require expensive enterprise plans or aren't available at all.
The competitive landscape for centralized shorteners means platforms regularly change their focus, pricing, or target markets. A service that meets your needs today might pivot to serve different customer segments, leaving you without suitable alternatives within their platform.
> "The moment you realize your entire marketing attribution depends on a service you don't control is usually the moment you start looking for alternatives."
## Benefits of self-hosting and white-label platforms
### Complete data ownership and control
Self-hosted URL shorteners provide complete ownership of all click data, visitor analytics, and customer interaction records. This data remains within your infrastructure, subject only to your privacy policies and data governance procedures. You determine how long to retain information, what analytics to capture, and how to process visitor data according to your specific compliance requirements.
Integration flexibility improves dramatically when you control the underlying shortening infrastructure. Your analytics data can flow directly into your data warehouse, CRM systems, or marketing automation platforms without passing through third-party processors. This direct integration enables real-time decision making and sophisticated attribution modeling that wouldn't be possible with centralized services.
Privacy compliance becomes straightforward when you eliminate third-party data processors from your shortening workflow. Your privacy policies can accurately reflect your actual data handling practices without complex disclosures about external service providers. This transparency builds customer trust and simplifies regulatory compliance efforts.
Custom data retention policies align with your business needs rather than external platform limitations. You can retain historical analytics for as long as necessary while implementing appropriate data purging procedures that meet regulatory requirements and organizational policies.
### Brand consistency and professional appearance
White-label shortening solutions enable complete brand control throughout the customer journey. Every shortened link can use your domain, maintaining consistent branding from initial marketing touchpoints through final destination pages. This consistency reinforces brand recognition and builds trust with recipients who immediately recognize your organization.
Custom domain implementation goes beyond simple branding to provide meaningful, memorable short links that communicate value propositions. Instead of random character strings, you can create links like `go.yourcompany.com/free-trial` or `info.yourorg.com/whitepaper` that clearly indicate their destination and purpose.
Professional appearance extends to analytics and administrative interfaces when you choose white-label solutions. Your team works within branded environments that reinforce organizational identity and provide seamless user experiences without external platform branding interruptions.
Marketing materials achieve greater impact when all elements maintain visual and brand consistency. Printed brochures, business cards, and advertising campaigns can feature short links that obviously belong to your organization, creating cohesive brand experiences that drive higher engagement rates.
### Operational independence and reliability
Self-hosted infrastructure eliminates dependencies on external platform availability and performance. Your shortening service operates independently of third-party uptime and can be configured with the same reliability standards as your other critical business systems. This independence ensures your marketing campaigns continue working regardless of external service disruptions.
Scalability control allows you to optimize performance for your specific usage patterns rather than accepting whatever capacity limitations external platforms impose. High-traffic campaigns can be supported with dedicated infrastructure scaling, while smaller deployments can operate efficiently without paying for unused capacity.
Feature development flexibility means you can implement custom functionality that serves your specific business needs. Whether that's specialized analytics, custom redirect logic, or integration with proprietary systems, self-hosted solutions can evolve with your requirements rather than waiting for external platforms to add desired features.
Geographic data sovereignty becomes possible when you control where your shortening infrastructure operates. Organizations with requirements to keep data within specific jurisdictions can deploy self-hosted solutions in appropriate geographic regions while maintaining full control over data processing and storage.
## How Linkbreakers provides white-label control without complexity
### Custom domain integration made simple
Linkbreakers eliminates the traditional complexity of self-hosted URL shortening by providing white-label capabilities through [custom domain integration](https://app.linkbreakers.com/workspace/dashboard/custom-domains) that requires no technical infrastructure management. You gain the branding and control benefits of self-hosting without the operational overhead of managing servers, databases, or scaling infrastructure.
The custom domain setup process involves simple DNS configuration that most organizations can complete without dedicated technical expertise. Linkbreakers provides clear documentation and support for configuring CNAME records that point your branded domain to their infrastructure while maintaining your complete brand control over the shortened links.
SSL certificate management happens automatically through Cloudflare integration, ensuring your branded short links always use secure HTTPS connections without requiring certificate procurement, installation, or renewal management. This automated security management provides enterprise-grade reliability while eliminating common technical barriers.
Multiple domain support enables sophisticated branding strategies where different business units, campaigns, or customer segments use distinct branded domains. A enterprise organization might use `go.company.com` for external marketing, `internal.company.com` for employee communications, and `partners.company.com` for channel partner resources.
### Advanced analytics with full data ownership
While using Linkbreakers infrastructure, you maintain complete ownership and control over your click analytics and visitor data. The platform provides detailed insights through both dashboard interfaces and [API access](https://linkbreakers.com/help/api) while ensuring your data remains separate from other customers and under your governance policies.
Real-time analytics capabilities rival or exceed those of major centralized shorteners while providing additional insights specific to your campaigns and audience segments. Geographic tracking, device analytics, conversion measurement, and custom event tracking provide comprehensive visibility into link performance without sharing data with competitors or third parties.
Data export functionality ensures you're never locked into the platform. Complete analytics datasets can be exported in standard formats for analysis in your preferred business intelligence tools or for migration to alternative solutions if your needs change. This portability protects your historical data investments.
[Webhook integrations](https://app.linkbreakers.com/workspace/dashboard/developers/webhooks) enable real-time data flow into your existing marketing technology stack. Click events can trigger immediate actions in CRM systems, marketing automation platforms, or custom applications, providing the integration flexibility typically associated with self-hosted solutions.
### Enterprise-grade features for non-technical users
Linkbreakers bridges the gap between simple centralized shorteners and complex self-hosted solutions by providing enterprise-grade functionality through intuitive interfaces that don't require technical expertise. Non-technical marketing teams can create sophisticated campaigns while technical teams maintain full API access for automation and integration.
[Workspace collaboration features](https://app.linkbreakers.com/workspace/dashboard/members) provide team management capabilities that scale from small marketing teams to large enterprise deployments. Role-based access control, audit logging, and organizational workflow support ensure appropriate governance without restricting marketing agility.
The [QR code generation and management system](https://app.linkbreakers.com/workspace/dashboard/links) extends beyond basic shortening to provide comprehensive visual design control, template management, and campaign organization features. These capabilities support sophisticated offline-to-online marketing strategies that would be impossible with traditional centralized shorteners.
Reliability guarantees and uptime monitoring ensure your branded links maintain the same availability standards as enterprise-grade services while eliminating the operational burden of managing your own infrastructure. Service level agreements provide accountability and performance guarantees that protect your marketing operations.
## Implementation strategies for different organizations
### Agencies and service providers
Marketing agencies benefit enormously from white-label shortening capabilities that allow them to provide fully branded experiences for their clients. Instead of introducing third-party branding into client campaigns, agencies can use client domains for all shortened links while maintaining centralized management and reporting across their entire client portfolio.
Client separation becomes straightforward with [workspace-based organization](https://linkbreakers.com/help/article/what-is-a-workspace) that provides dedicated environments for each client's campaigns and analytics. This separation ensures data privacy between clients while enabling agencies to maintain visibility into campaign performance for optimization and reporting purposes.
Billing and reporting capabilities support agency business models where shortened link usage needs to be tracked and potentially passed through to clients. Detailed analytics and usage reporting provide transparency for client relationships while supporting various pricing and service delivery models.
White-label reporting interfaces can be configured to display client branding rather than agency branding, providing professional analytics dashboards that clients can access directly. This transparency builds trust and demonstrates the value of shortened link campaigns through detailed performance metrics.
### SaaS platforms and product companies
Software companies can integrate white-label shortening capabilities directly into their platforms, providing customers with branded short links as a value-added feature. This integration enables SaaS platforms to offer marketing automation, customer communication, or analytics features that include professional shortening capabilities.
API-first architecture supports seamless integration where shortened links are generated programmatically based on customer actions, campaign triggers, or automated workflows. Customers receive branded short links that maintain their visual identity while benefiting from the SaaS platform's underlying functionality.
Multi-tenant deployment strategies enable SaaS platforms to provide isolated shortening environments for each customer while managing the underlying infrastructure efficiently. Each customer receives dedicated branded domains and analytics while sharing the scalable infrastructure that supports the overall platform.
Revenue opportunities emerge when white-label shortening becomes a differentiating feature that supports premium pricing tiers or additional service offerings. SaaS platforms can provide basic shortening functionality at lower pricing levels while offering advanced analytics, custom domains, and integration capabilities at higher service tiers.
### Enterprise organizations and corporations
Large organizations benefit from centralized shortening platforms that support multiple business units, geographic regions, and campaign types while maintaining enterprise-grade security and compliance capabilities. Centralized management reduces costs and complexity while providing consistent branding and analytics across the entire organization.
Corporate governance requirements often mandate specific data handling, privacy controls, and audit capabilities that centralized shorteners cannot provide. White-label solutions with custom domain deployment meet these requirements while eliminating the infrastructure management burden that pure self-hosted solutions would require.
Internal communications benefit from branded short links that reinforce corporate identity and provide professional appearance for employee-facing campaigns. Whether used in internal newsletters, training materials, or corporate announcements, branded links maintain consistent organizational branding.
Compliance and security teams appreciate the enhanced control and visibility that white-label solutions provide. All click data remains within controlled environments, audit logging provides accountability for link creation and usage, and data retention policies can align with corporate governance requirements.
### Developers and technical teams
Technical teams often prefer solutions that provide both user-friendly interfaces and comprehensive API access for automation and integration purposes. Linkbreakers offers complete [API coverage](https://linkbreakers.com/help/api) that enables programmatic link creation, management, and analytics while maintaining the operational simplicity of managed infrastructure.
Infrastructure scaling and reliability become managed services rather than technical burdens, allowing development teams to focus on core product features rather than maintaining shortening infrastructure. The platform handles traffic spikes, geographic distribution, and uptime management while providing the performance and reliability that technical teams expect.
Custom integration opportunities enable sophisticated workflows where shortened links are generated automatically based on application logic, user behaviors, or external triggers. These integrations can support complex business rules while maintaining the simplicity of API-based implementation.
Development and testing environments can use the same platform with separate domains or workspaces, ensuring consistency between development, staging, and production deployments. This consistency eliminates surprises during deployment while supporting sophisticated testing and quality assurance processes.
## Technical considerations and setup process
### DNS configuration and domain management
Setting up custom domains with Linkbreakers requires basic DNS configuration that most organizations can complete using their existing domain management tools. The process involves creating CNAME records that point your chosen subdomain to Linkbreakers infrastructure while preserving your complete control over the parent domain.
Subdomain strategy affects both technical implementation and user experience. Common approaches include `go.yourcompany.com` for external marketing, `links.yourcompany.com` for general use, or campaign-specific subdomains like `promo.yourcompany.com` for specific initiatives. The chosen subdomain should align with your branding strategy while remaining easy to communicate and remember.
SSL certificate provisioning happens automatically through Cloudflare integration, ensuring your custom domain short links use secure HTTPS connections without requiring certificate management on your part. This automation provides enterprise-grade security while eliminating common implementation barriers that discourage custom domain adoption.
DNS propagation typically completes within 24-48 hours, during which your custom domain becomes active and ready for shortened link creation. The gradual rollout process ensures reliability while providing immediate feedback about configuration status through the Linkbreakers dashboard.
### Security and compliance considerations
Security architecture for white-label shortening must address both the technical infrastructure and the data handling policies that govern customer information. Linkbreakers implements enterprise-grade security controls while providing transparency about data processing and protection measures.
HTTPS enforcement ensures all shortened links use encrypted connections that protect both click data and visitor privacy. This encryption applies regardless of whether visitors use your custom domains or default Linkbreakers domains, providing consistent security across all deployment scenarios.
Data processing and storage policies align with major privacy regulations while providing organizations with the control and transparency needed for compliance efforts. [GDPR compliance documentation](https://linkbreakers.com/help/article/what-is-gdpr-and-how-does-linkbreakers-handle-it) provides clear guidance for organizations with European data protection requirements.
Access control and audit logging capabilities support organizational security policies and compliance requirements. Role-based permissions ensure team members have appropriate access levels, while audit logs provide accountability and visibility for security monitoring and compliance reporting purposes.
### Integration and migration strategies
Migrating from centralized shorteners to white-label solutions requires careful planning to avoid breaking existing links while gaining the benefits of custom domain deployment. Linkbreakers provides migration support and bulk import capabilities that minimize disruption during the transition process.
API integration enables automated migration of large link portfolios where manual recreation would be impractical. Historical analytics data can be preserved and integrated with new tracking capabilities, ensuring continuity of measurement and reporting across the migration process.
Parallel deployment strategies allow organizations to test white-label shortening with new campaigns while maintaining existing links on previous platforms. This gradual transition approach reduces risk while providing opportunities to compare performance and validate the migration strategy.
Team training and change management considerations ensure smooth adoption of new workflows and capabilities. While Linkbreakers maintains familiar user experiences, organizations benefit from training sessions that highlight new features and optimization opportunities available through white-label deployment.
## Ideal use cases and deployment scenarios
### High-volume marketing campaigns
Organizations running large-scale marketing campaigns benefit significantly from white-label shortening that provides consistent branding across thousands or millions of shortened links. Email marketing platforms, social media campaigns, and advertising initiatives can maintain professional appearance while capturing detailed analytics about campaign performance.
Campaign attribution becomes more reliable when shortened links use consistent branded domains rather than mixing various centralized shortener domains. This consistency improves analytics accuracy while providing cleaner data for attribution modeling and campaign optimization efforts.
Bulk link creation capabilities support high-volume campaigns where thousands of unique links need generation with specific tracking parameters or campaign identifiers. API automation enables efficient campaign setup while maintaining the personalization and tracking granularity required for sophisticated marketing operations.
Performance optimization opportunities emerge when you control the entire shortening infrastructure. High-traffic campaigns can benefit from geographic distribution, caching optimization, and performance monitoring that ensure fast redirect times and reliable availability during traffic spikes.
### Customer communication and support
Customer-facing communications benefit from branded short links that maintain trust and professional appearance throughout support interactions. Whether used in support tickets, documentation, or follow-up communications, branded links reinforce organizational identity while providing valuable analytics about customer engagement.
Documentation and knowledge base articles can feature branded short links that track which resources customers access most frequently. This usage data informs content optimization and helps identify gaps in customer support resources or common issue patterns.
Support ticket workflows can include branded links that provide instant access to relevant solutions, troubleshooting guides, or escalation resources. The analytics show which resources prove most helpful for different issue types, enabling continuous improvement of support processes.
Customer onboarding sequences benefit from branded links that guide new customers through setup processes, feature tutorials, or training resources. Tracking completion rates and engagement patterns helps optimize onboarding workflows for improved customer success outcomes.
### Internal communications and workflows
Internal organizational communications gain professionalism and tracking capabilities when they use branded short links rather than long, unwieldy URLs. Employee newsletters, training materials, and policy documents can feature clean, branded links that provide analytics about internal engagement patterns.
Training and development programs can use branded links to track employee engagement with learning resources, policy updates, or skill development materials. This tracking provides valuable insights for HR teams about training effectiveness and employee development patterns.
Internal tool and resource links benefit from consistent branding that reinforces organizational identity while providing cleaner, more memorable URLs for frequently accessed systems. Instead of sharing complex internal URLs, teams can use branded short links that are easier to communicate and remember.
Change management and communication campaigns can leverage branded links to track employee engagement with important announcements, policy changes, or organizational updates. The analytics help communication teams understand which messages resonate and what follow-up actions might be needed.
### Partner and channel management
Channel partner communications benefit from branded short links that maintain professional appearance while providing detailed tracking of partner engagement with training materials, sales resources, or marketing collateral. Partner-specific domains can differentiate external partner communications from internal company communications.
Sales enablement materials can use branded links that track which resources partners access most frequently, helping sales teams understand which materials prove most valuable for different sales scenarios. This usage data informs content development and training priorities for partner success programs.
Co-marketing campaigns with partners can maintain both organizations' branding while providing clear attribution for traffic and conversion contributions from each partner. Custom domains enable sophisticated partner attribution while maintaining professional appearance across all campaign materials.
Partner onboarding workflows can include branded links that guide new partners through certification processes, training programs, or resource libraries. Tracking completion rates and engagement patterns helps optimize partner success programs for improved performance and satisfaction.
## Comparing deployment options and choosing the right approach
### Hosted vs. self-hosted vs. white-label considerations
The choice between purely self-hosted, centralized shortener, and white-label solutions depends on organizational priorities around control, complexity, and capabilities. Self-hosted solutions provide maximum control but require significant technical infrastructure and ongoing maintenance. Centralized shorteners offer simplicity but limit branding and data ownership. White-label solutions like Linkbreakers provide the best balance of control and operational simplicity.
Technical expertise requirements vary significantly across these options. Self-hosted solutions require dedicated infrastructure management, security updates, and scaling expertise. White-label solutions provide enterprise-grade capabilities without requiring technical infrastructure management, making them accessible to organizations without dedicated DevOps resources.
Cost considerations include both direct platform costs and the hidden costs of infrastructure management, security monitoring, and feature development. While self-hosted solutions may appear less expensive initially, the total cost of ownership often exceeds white-label alternatives when all factors are considered.
Scalability and reliability factors favor managed white-label solutions that can leverage shared infrastructure for better performance and uptime than most organizations could achieve with self-hosted deployments. The economics of shared infrastructure enable higher reliability at lower costs than dedicated self-hosted solutions.
### Feature requirements and growth planning
Organizations should evaluate their current and future requirements for analytics depth, integration capabilities, and customization needs when choosing between deployment approaches. Basic shortening needs might be satisfied by centralized services, while sophisticated marketing operations often require white-label capabilities.
Integration requirements with existing marketing technology stacks often favor solutions that provide comprehensive API access and webhook capabilities. These integrations enable automated workflows and data synchronization that improve marketing efficiency and attribution accuracy.
User management and collaboration features become increasingly important as organizations scale their shortening usage across multiple teams, departments, or business units. Role-based access control, audit logging, and workspace organization support enterprise deployment while maintaining security and governance requirements.
Future expansion considerations should account for potential geographic expansion, increased campaign volume, and evolving compliance requirements. Choosing platforms that can scale to meet future needs avoids costly migrations and ensures long-term viability of shortening strategies.
## Frequently Asked Questions
### What level of technical expertise is required to set up custom domains?
Setting up custom domains with Linkbreakers requires basic DNS configuration skills that most organizations already possess or can easily acquire. The process involves creating a simple CNAME record, which is similar to setting up email forwarding or website hosting. Linkbreakers provides detailed documentation and support to guide you through the configuration process.
### How does data ownership work with white-label solutions vs. self-hosted options?
With Linkbreakers white-label solutions, you maintain complete ownership of your click data and analytics while benefiting from managed infrastructure. Your data remains separate from other customers and can be exported at any time. This provides the data ownership benefits of self-hosting without the infrastructure management complexity.
### Can I migrate existing shortened links from other platforms?
Yes, Linkbreakers provides migration support and bulk import capabilities that help preserve your existing shortened links and their analytics history. The migration process can be automated through API access for large link portfolios, minimizing disruption during the transition to white-label shortening.
### What happens if I want to switch platforms again in the future?
Linkbreakers provides comprehensive data export capabilities that ensure you're never locked into the platform. All your analytics data, link configurations, and visitor information can be exported in standard formats. Additionally, using custom domains means your shortened links continue working even if you migrate the backend infrastructure.
### How does white-label shortening compare in cost to self-hosted solutions?
While white-label solutions have ongoing service costs, they often provide better total cost of ownership than self-hosted alternatives when you factor in infrastructure management, security monitoring, feature development, and scaling costs. Most organizations find white-label solutions more cost-effective than maintaining dedicated shortening infrastructure.
### What reliability and uptime guarantees are provided?
Linkbreakers provides enterprise-grade reliability with uptime monitoring and service level agreements that ensure your branded links maintain consistent availability. The shared infrastructure approach typically provides better reliability than most organizations could achieve with self-hosted solutions while eliminating the operational burden of infrastructure management.
### Can I use multiple custom domains for different purposes?
Yes, Linkbreakers supports multiple custom domains within the same account, enabling sophisticated branding strategies where different business units, campaigns, or customer segments use distinct branded domains. This flexibility supports complex organizational structures while maintaining centralized management and analytics.
### How do analytics and reporting work with custom domains?
Custom domain analytics work identically to standard Linkbreakers analytics, providing comprehensive insights into click patterns, visitor behavior, and campaign performance. All analytics data remains associated with your account regardless of which custom domains are used, enabling unified reporting across all your branded shortening activities.
### What security measures protect custom domain shortened links?
Custom domain links benefit from the same enterprise-grade security measures as standard Linkbreakers links, including automatic HTTPS enforcement, DDoS protection, and security monitoring. SSL certificates are automatically provisioned and maintained through Cloudflare integration, ensuring secure connections without ongoing certificate management requirements.
### Can custom domains be integrated with existing marketing automation platforms?
Yes, custom domain short links work seamlessly with marketing automation platforms, CRM systems, and analytics tools. UTM parameters and tracking codes are preserved throughout the redirect process, ensuring proper attribution in your existing marketing technology stack while maintaining the professional appearance of branded links.
## Making the transition to white-label shortening
The shift from centralized shortening services to white-label solutions represents more than a simple platform migration, it's a strategic decision that affects brand consistency, data ownership, and marketing effectiveness across your entire organization. The benefits of branded domains, enhanced analytics, and operational independence typically outweigh the minor complexity of custom domain setup and platform migration.
Success with white-label shortening requires careful planning of your domain strategy, team training on new capabilities, and integration with existing marketing workflows. Organizations that approach this transition strategically often discover opportunities for campaign optimization and audience engagement that weren't possible with centralized shorteners.
Linkbreakers eliminates the traditional barriers to white-label shortening by providing enterprise-grade infrastructure without requiring technical expertise or ongoing operational management. This approach enables organizations to gain the benefits of self-hosted solutions while maintaining the simplicity and reliability of managed services.
The future of digital marketing increasingly demands greater control over customer data, enhanced brand consistency, and sophisticated analytics capabilities that centralized shorteners simply cannot provide. Organizations that embrace white-label shortening position themselves for success in an environment where data ownership and brand control become increasingly important competitive advantages.
## Limits and caveats
- Feature availability and limits can vary by plan and workspace setup.
- Results depend on correct implementation, attribution setup, and data quality controls.
- Regulatory and privacy obligations vary by jurisdiction and use case.
---
# Why Linkbreakers Uses accessToken Instead of apiKey
Source: https://linkbreakers.com/help/article/api-authentication-accesstoken-vs-apikey
## Short answer
Linkbreakers uses `accessToken` (not `apiKey`) for SDK authentication because all API keys are JWT tokens containing encoded access information, scopes, and permissions. Using `apiKey` won't send proper authentication headers, causing 401 Unauthorized errors.
## The difference: accessToken vs apiKey
When configuring the Linkbreakers SDK, you must use the `accessToken` parameter:
```typescript
// ✅ CORRECT - Sends authentication headers
const config = new Configuration({
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...',
basePath: 'https://api.linkbreakers.com',
});
// ❌ WRONG - Does NOT authenticate
const config = new Configuration({
apiKey: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', // This parameter is ignored!
});
```
**Why this matters:** The underlying OpenAPI-generated SDK code uses `accessToken` to populate the `Authorization: Bearer {token}` header. The `apiKey` parameter is designed for a different authentication scheme (API key headers like `X-API-Key`) which Linkbreakers doesn't use.
## Why JWT tokens?
Linkbreakers API keys are **JSON Web Tokens (JWT)**, not simple API keys. This design provides several advantages:
### What's inside the JWT
When you create an API key, Linkbreakers generates a JWT containing:
- **Workspace ID**: Which workspace the key belongs to
- **Key type**: Publishable or secret (determines permissions)
- **Scopes/permissions**: What operations the key can perform
- **Environment**: Whether the key is for test or production data
- **Expiration**: Optional expiration timestamp (iat, exp claims)
- **Issued at**: When the key was created
- **Key metadata**: Additional context about key usage
### Benefits of JWT tokens
**Server-side validation without database lookups:** The API can verify and decode the JWT to extract workspace ID and permissions without querying the database for every request, improving performance.
**Built-in permissions:** The token itself contains scope information (encoded in JWT claims), allowing the API to enforce permission restrictions at the token level without external lookups.
**Revocation tracking:** While JWTs are stateless, Linkbreakers maintains a revocation list for invalidated tokens, providing the best of both worlds.
**Tamper-proof:** JWTs are cryptographically signed, making them impossible to forge or modify without detection.
## TypeScript SDK: Correct usage
```typescript
import { Configuration, LinksApi } from 'linkbreakers';
// ✅ CORRECT
const config = new Configuration({
accessToken: process.env.LINKBREAKERS_SECRET_KEY, // Use accessToken
basePath: 'https://api.linkbreakers.com',
});
const linksApi = new LinksApi(config);
const response = await linksApi.linksServiceCreate({
createLinkRequest: {
destination: 'https://example.com',
name: 'My Link'
}
});
```
### What happens under the hood
When you use `accessToken`, the SDK sends:
```http
POST /v1/links HTTP/1.1
Host: api.linkbreakers.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0In0...
Content-Type: application/json
{"destination":"https://example.com","name":"My Link"}
```
## Python SDK: Correct usage
```python
from linkbreakers import Configuration, ApiClient, LinksApi
# ✅ CORRECT
configuration = Configuration(
access_token=os.getenv('LINKBREAKERS_SECRET_KEY'), # Use access_token
host='https://api.linkbreakers.com'
)
with ApiClient(configuration) as api_client:
links_api = LinksApi(api_client)
response = links_api.links_service_create({
'destination': 'https://example.com',
'name': 'My Link'
})
```
## Raw HTTP: Using the API directly
If you're not using the SDK and making direct HTTP requests, include the API key in the `Authorization` header with the `Bearer` scheme:
```bash
# ✅ CORRECT - Using Bearer token (JWT)
curl -X POST https://api.linkbreakers.com/v1/links \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Content-Type: application/json" \
-d '{
"destination": "https://example.com",
"name": "My Link"
}'
```
```javascript
// ✅ CORRECT - Fetch API with JWT
const response = await fetch('https://api.linkbreakers.com/v1/links', {
method: 'POST',
headers: {
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: 'https://example.com',
name: 'My Link'
})
});
```
```python
# ✅ CORRECT - requests library with JWT
import requests
response = requests.post(
'https://api.linkbreakers.com/v1/links',
headers={
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...',
'Content-Type': 'application/json'
},
json={
'destination': 'https://example.com',
'name': 'My Link'
}
)
```
### Wrong approaches (don't use these)
```bash
# ❌ WRONG - Custom API key header (not supported)
curl -X POST https://api.linkbreakers.com/v1/links \
-H "X-API-Key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-d '{"destination":"https://example.com"}'
# ❌ WRONG - Query parameter (not supported)
curl -X POST "https://api.linkbreakers.com/v1/links?api_key=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-d '{"destination":"https://example.com"}'
# ❌ WRONG - Basic auth (not supported)
curl -X POST https://api.linkbreakers.com/v1/links \
-u "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...:" \
-d '{"destination":"https://example.com"}'
```
## Common authentication errors
### Error: "401 Unauthorized"
**Cause:** You used `apiKey` instead of `accessToken` in the SDK configuration, or didn't include the `Authorization` header in raw HTTP requests.
**Fix:**
```typescript
// Change this:
const config = new Configuration({
apiKey: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', // ❌ Wrong
});
// To this:
const config = new Configuration({
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...', // ✅ Correct
});
```
### Error: "Missing or invalid authorization header"
**Cause:** The `Authorization` header is missing or doesn't use the `Bearer` scheme.
**Fix:** Ensure the header format is exactly `Authorization: Bearer {your_token}`
### Error: "Invalid token signature"
**Cause:** The JWT token is malformed, expired, or has been tampered with.
**Fix:** Generate a new API key from your dashboard and replace the old one.
## Testing your authentication
Verify your authentication is working correctly:
```bash
# Test with curl
curl -X GET https://api.linkbreakers.com/v1/links \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-w "\nHTTP Status: %{http_code}\n"
# Should return HTTP Status: 200 with your links list
# If you get HTTP Status: 401, check your JWT token and header format
```
## Frequently asked questions
**Why doesn't Linkbreakers use traditional API keys?**
Traditional API keys are just random strings that require database lookups on every request. JWTs encode access information directly in the token, enabling faster authentication and permission checks.
**Can I decode my API key to see what's inside?**
Yes! JWTs are base64-encoded and can be decoded (but not modified without invalidation). You can paste your token into [jwt.io](https://jwt.io) to inspect the payload and see the workspace ID, scopes, and environment. However, never share your tokens publicly.
**What if I accidentally used apiKey instead of accessToken?**
Your requests will fail with 401 Unauthorized errors because no authentication headers are sent. Simply change `apiKey` to `accessToken` in your configuration.
**Does the JWT contain my secret data?**
No. The JWT only contains metadata about the key itself (workspace ID, permissions, key type). It doesn't contain sensitive workspace data.
**Why Bearer authentication instead of X-API-Key headers?**
Bearer tokens are the industry standard for OAuth 2.0 and JWT-based authentication. They're well-supported by HTTP clients, API gateways, and have better tooling support than custom header schemes.
## Sources
- [JSON Web Tokens (JWT) Introduction](https://jwt.io/introduction)
- [RFC 6750: Bearer Token Usage](https://datatracker.ietf.org/doc/html/rfc6750)
- [Linkbreakers TypeScript SDK Quick Start](/help/article/typescript-sdk-quickstart)
- [Linkbreakers Python SDK Quick Start](/help/article/python-sdk-quickstart)
## Last reviewed
This article was last reviewed on March 20, 2025.
---
# Linkbreakers Go SDK: Complete Integration Guide
Source: https://linkbreakers.com/help/article/golang-sdk-quickstart
## Short answer
The Linkbreakers Go SDK enables programmatic link management, visitor identification, QR code generation, and analytics access from your Go backend applications. Install it with `go get github.com/linkbreakers-com/linkbreakers-go`, authenticate with a secret API key, and start creating trackable links for your campaigns, products, or events.
## Installation
Install the SDK using Go modules:
```bash
go get github.com/linkbreakers-com/linkbreakers-go
```
The SDK will be automatically added to your `go.mod` file:
```go
require github.com/linkbreakers-com/linkbreakers-go v1.175.0
```
## Understanding API keys for Go
The Go SDK is designed for **backend/server-side use only** and requires a **secret API key** with full workspace access.
### Secret keys
**Backend-only.** These JWT tokens grant full API access and must never be exposed in public repositories or client-side code.
**What they allow:**
- Create, update, and delete links
- Generate and customize QR codes
- Identify and track visitors
- Access analytics and metrics
- Manage workspace resources
- Full API access
**Where to use:**
- Web servers (Gin, Echo, Fiber)
- gRPC services
- Background workers and cron jobs
- Microservices
- CLI tools
- API gateways
**Security note:** Go applications typically run on servers, making them perfect for secret key usage. Never log keys, commit them to git, or expose them in error messages.
## Creating a secret API key
Create your API key from the dashboard:
1. Log in to [app.linkbreakers.com](https://app.linkbreakers.com)
2. Navigate to **Dashboard → API Tokens**
3. Click **Create API Token**
4. Select **Secret Key** (full API access)
5. Give it a descriptive name (e.g., "Production Backend" or "Go Service")
6. Copy the generated JWT token immediately
**Important:** You won't see the key again after creation. Store it in environment variables or a secret management system.
## Quick start
Initialize the client and create your first shortened link:
```go
package main
import (
"context"
"fmt"
"log"
"os"
"github.com/linkbreakers-com/linkbreakers-go"
)
func main() {
// Configure API client with your secret key
config := linkbreakers.NewConfiguration()
config.AddDefaultHeader("Authorization", fmt.Sprintf("Bearer %s", os.Getenv("LINKBREAKERS_SECRET_KEY")))
config.Servers = linkbreakers.ServerConfigurations{
{URL: "https://api.linkbreakers.com"},
}
client := linkbreakers.NewAPIClient(config)
ctx := context.Background()
// Create a shortened link
createReq := linkbreakers.NewCreateLinkRequest("https://example.com/product")
createReq.SetName("Product Launch - Spring 2025")
createReq.SetTags([]string{"marketing", "product-launch"})
response, _, err := client.LinksAPI.LinksServiceCreate(ctx).CreateLinkRequest(*createReq).Execute()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Short URL: %s\n", response.Link.GetShortlink())
fmt.Printf("Link ID: %s\n", response.Link.GetId())
fmt.Printf("QR Code: %s\n", response.Link.GetQrcodeSignedUrl())
}
```
## Environment variables (best practice)
Never hardcode API keys. Use environment variables:
```go
package main
import (
"context"
"fmt"
"os"
"github.com/linkbreakers-com/linkbreakers-go"
)
func getClient() *linkbreakers.APIClient {
config := linkbreakers.NewConfiguration()
config.AddDefaultHeader("Authorization", fmt.Sprintf("Bearer %s", os.Getenv("LINKBREAKERS_SECRET_KEY")))
config.Servers = linkbreakers.ServerConfigurations{
{URL: "https://api.linkbreakers.com"},
}
return linkbreakers.NewAPIClient(config)
}
func main() {
client := getClient()
ctx := context.Background()
// Use the client for API operations
// ...
}
```
**Set your environment variable:**
```bash
# .env file (use godotenv to load)
export LINKBREAKERS_SECRET_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0IiwidHlwZSI6InNlY3JldCJ9...
```
**Loading .env files with godotenv:**
```go
package main
import (
"log"
"github.com/joho/godotenv"
)
func init() {
// Load .env file
if err := godotenv.Load(); err != nil {
log.Println("No .env file found")
}
}
```
## Creating and managing links
### Basic link creation
```go
package main
import (
"context"
"fmt"
"log"
"github.com/linkbreakers-com/linkbreakers-go"
)
func createBasicLink(client *linkbreakers.APIClient) {
ctx := context.Background()
createReq := linkbreakers.NewCreateLinkRequest("https://example.com/summer-sale")
createReq.SetName("Summer Sale 2025")
createReq.SetTags([]string{"campaign", "summer", "email"})
response, _, err := client.LinksAPI.LinksServiceCreate(ctx).CreateLinkRequest(*createReq).Execute()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Created: %s\n", response.Link.GetShortlink())
}
```
### Advanced link options
```go
package main
import (
"context"
"fmt"
"log"
"github.com/linkbreakers-com/linkbreakers-go"
)
func createAdvancedLinks(client *linkbreakers.APIClient) {
ctx := context.Background()
// Create link with custom shortlink
customReq := linkbreakers.NewCreateLinkRequest("https://example.com/docs")
customReq.SetShortlink("docs") // Creates lbr.ai/docs
customReq.SetName("Documentation Portal")
customReq.SetFallbackDestination("https://example.com/404")
customReq.SetTags([]string{"internal", "docs"})
customLink, _, err := client.LinksAPI.LinksServiceCreate(ctx).CreateLinkRequest(*customReq).Execute()
if err != nil {
log.Fatal(err)
}
// Create link with metadata for tracking
trackedReq := linkbreakers.NewCreateLinkRequest("https://example.com/product/123")
trackedReq.SetName("Product 123 - Email Campaign")
trackedReq.SetMetadata(map[string]string{
"product_id": "123",
"campaign_id": "spring-2025",
"utm_source": "email",
"utm_medium": "newsletter",
"utm_campaign": "product-launch",
})
trackedReq.SetTags([]string{"product", "email"})
trackedLink, _, err := client.LinksAPI.LinksServiceCreate(ctx).CreateLinkRequest(*trackedReq).Execute()
if err != nil {
log.Fatal(err)
}
// Create link with QR code (wait for generation)
qrReq := linkbreakers.NewCreateLinkRequest("https://example.com/event-registration")
qrReq.SetName("Conference 2025 Registration")
qrReq.SetWaitForQrcode(true) // Blocks until QR is generated
qrReq.SetTags([]string{"event", "conference", "qr-code"})
qrLink, _, err := client.LinksAPI.LinksServiceCreate(ctx).CreateLinkRequest(*qrReq).Execute()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Download QR code: %s\n", qrLink.Link.GetQrcodeSignedUrl())
}
```
### Listing and filtering links
```go
package main
import (
"context"
"fmt"
"log"
"github.com/linkbreakers-com/linkbreakers-go"
)
func listLinks(client *linkbreakers.APIClient) {
ctx := context.Background()
// List links with filtering
pageSize := int32(50)
sortBy := linkbreakers.LINKBREAKERSV1LINKSSORTFIELD_UPDATED_AT
sortDirection := linkbreakers.LINKBREAKERSV1SORTDIRECTION_DESC
response, _, err := client.LinksAPI.LinksServiceList(ctx).
PageSize(pageSize).
Tags([]string{"marketing", "email"}).
Search("campaign").
SortBy(sortBy).
SortDirection(sortDirection).
Execute()
if err != nil {
log.Fatal(err)
}
for _, link := range response.GetLinks() {
fmt.Printf("%s: %s\n", link.GetName(), link.GetShortlink())
fmt.Printf(" Tags: %v\n", link.GetTags())
fmt.Printf(" Created: %s\n", link.GetCreatedAt())
}
}
```
### Updating and deleting links
```go
package main
import (
"context"
"log"
"github.com/linkbreakers-com/linkbreakers-go"
)
func updateAndDeleteLink(client *linkbreakers.APIClient, linkID string) {
ctx := context.Background()
// Get a specific link
linkResp, _, err := client.LinksAPI.LinksServiceGet(ctx, linkID).
Include([]string{"tags", "qrcodeSignedUrl"}).
Execute()
if err != nil {
log.Fatal(err)
}
// Update link
updateReq := linkbreakers.NewUpdateLinkRequest()
updateReq.SetName("Updated Campaign Name")
updateReq.SetTags([]string{"marketing", "q2-2025", "updated"})
_, _, err = client.LinksAPI.LinksServiceUpdate(ctx, linkResp.Link.GetId()).
UpdateLinkRequest(*updateReq).
Execute()
if err != nil {
log.Fatal(err)
}
// Delete link
_, err = client.LinksAPI.LinksServiceDelete(ctx, linkResp.Link.GetId()).Execute()
if err != nil {
log.Fatal(err)
}
}
```
## Bulk link creation
Create hundreds of links efficiently in a single API call:
```go
package main
import (
"context"
"fmt"
"log"
"github.com/linkbreakers-com/linkbreakers-go"
)
type Product struct {
ID string
Name string
URL string
}
func createBulkLinks(client *linkbreakers.APIClient) {
ctx := context.Background()
// Prepare bulk links (e.g., from a product catalog)
products := []Product{
{ID: "001", Name: "Widget A", URL: "https://example.com/products/001"},
{ID: "002", Name: "Widget B", URL: "https://example.com/products/002"},
{ID: "003", Name: "Widget C", URL: "https://example.com/products/003"},
}
var linksToCreate []linkbreakers.CreateLinkRequest
for _, p := range products {
req := linkbreakers.NewCreateLinkRequest(p.URL)
req.SetName(fmt.Sprintf("Product: %s", p.Name))
req.SetTags([]string{"product", "catalog"})
req.SetMetadata(map[string]string{
"product_id": p.ID,
"sku": fmt.Sprintf("SKU-%s", p.ID),
})
linksToCreate = append(linksToCreate, *req)
}
// Create all links in one request
bulkReq := linkbreakers.NewCreateBulkLinksRequest(linksToCreate)
response, _, err := client.LinksAPI.LinksServiceCreateBulk(ctx).
CreateBulkLinksRequest(*bulkReq).
Execute()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Created %d links\n", len(response.GetLinks()))
for _, link := range response.GetLinks() {
fmt.Printf(" %s: %s\n", link.GetName(), link.GetShortlink())
}
}
```
**When to use bulk creation:**
- Importing product catalogs
- Generating links from database records
- Campaign setup with many URLs
- Automated link generation pipelines
## Visitor identification and tracking
Track and identify visitors using their LBID (Linkbreakers ID) from click/scan events:
```go
package main
import (
"context"
"fmt"
"log"
"github.com/linkbreakers-com/linkbreakers-go"
)
func identifyVisitor(client *linkbreakers.APIClient, lbid string) {
ctx := context.Background()
// Prepare visitor data
visitorData := map[string]interface{}{
// System fields (prefixed with "$")
"$email": "john.doe@example.com",
"$phone": "+14155551234",
"$firstName": "John",
"$lastName": "Doe",
// Custom attributes (no "$" prefix)
"company": "Acme Corporation",
"jobTitle": "Product Manager",
"plan": "enterprise",
"signupDate": "2024-01-15",
"industry": "SaaS",
"employees": 250,
}
visitorInput := linkbreakers.NewVisitorInput()
visitorInput.SetData(visitorData)
identifyReq := linkbreakers.NewIdentifyRequest(lbid, *visitorInput)
identifyReq.SetSetOnce(false) // True = only update empty fields
response, _, err := client.VisitorsAPI.VisitorsServiceIdentify(ctx).
IdentifyRequest(*identifyReq).
Execute()
if err != nil {
log.Fatal(err)
}
fmt.Printf("New profile created: %v\n", response.GetCreated())
fmt.Printf("Visitor ID: %s\n", response.Visitor.GetId())
fmt.Printf("Email: %s\n", response.Visitor.GetEmail())
}
```
**Understanding LBID:**
When visitors click your Linkbreakers links with **conversion tracking enabled**, a `?lbid=...` parameter is added to the destination URL. This LBID connects the visitor to the specific link click, enabling attribution and analytics.
Extract LBID from incoming requests and pass it to the identification API to build visitor profiles. Learn more in our [What is LBID?](/help/article/what-is-the-linkbreakers-id-lbid) guide.
### Working with visitor data
```go
package main
import (
"context"
"fmt"
"log"
"github.com/linkbreakers-com/linkbreakers-go"
)
func workWithVisitors(client *linkbreakers.APIClient, visitorID string) {
ctx := context.Background()
// Get visitor details
visitor, _, err := client.VisitorsAPI.VisitorsServiceGet(ctx, visitorID).
Include([]string{"devices", "events", "links"}).
Execute()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Visitor: %s\n", visitor.GetEmail())
fmt.Printf("Devices: %d\n", len(visitor.GetDevices()))
fmt.Printf("Events: %d\n", len(visitor.GetEvents()))
// List visitors with filtering
pageSize := int32(100)
visitorsList, _, err := client.VisitorsAPI.VisitorsServiceList(ctx).
PageSize(pageSize).
Email("user@example.com").
LinkId("link-uuid").
Search("Acme Corp").
Execute()
if err != nil {
log.Fatal(err)
}
// Update visitor attributes
updateData := map[string]interface{}{
"$email": "updated@example.com",
"plan": "enterprise",
"lastActivity": "2025-03-31",
}
visitorUpdate := linkbreakers.NewVisitorInput()
visitorUpdate.SetData(updateData)
updateReq := linkbreakers.NewVisitorsServiceUpdateBody(*visitorUpdate)
_, _, err = client.VisitorsAPI.VisitorsServiceUpdate(ctx, visitorID).
VisitorsServiceUpdateBody(*updateReq).
Execute()
if err != nil {
log.Fatal(err)
}
}
```
## Accessing analytics and metrics
Retrieve event data and workspace metrics:
```go
package main
import (
"context"
"fmt"
"log"
"time"
"github.com/linkbreakers-com/linkbreakers-go"
)
func getAnalytics(client *linkbreakers.APIClient, linkID string) {
ctx := context.Background()
// Get events for a specific link (last 30 days)
endDate := time.Now()
startDate := endDate.AddDate(0, 0, -30)
eventsResp, _, err := client.EventsAPI.EventsServiceList(ctx).
LinkId(linkID).
StartDate(startDate).
EndDate(endDate).
PageSize(1000).
Include([]string{"visitor", "device", "link"}).
Execute()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Total events: %d\n", len(eventsResp.GetEvents()))
for i, event := range eventsResp.GetEvents() {
if i >= 10 {
break
}
fmt.Printf(" %s - %s\n", event.GetAction(), event.GetCreatedAt())
}
// Get workspace metrics
metrics, _, err := client.MetricsAPI.MetricsServiceGetWorkspaceMetrics(ctx).Execute()
if err != nil {
log.Fatal(err)
}
fmt.Println("\nWorkspace Stats:")
fmt.Printf(" Total links: %d\n", metrics.GetTotalLinks())
fmt.Printf(" Total clicks: %d\n", metrics.GetTotalClicks())
fmt.Printf(" Total visitors: %d\n", metrics.GetTotalVisitors())
}
```
## Framework integration
### Gin
```go
package main
import (
"context"
"fmt"
"net/http"
"os"
"github.com/gin-gonic/gin"
"github.com/linkbreakers-com/linkbreakers-go"
)
func getClient() *linkbreakers.APIClient {
config := linkbreakers.NewConfiguration()
config.AddDefaultHeader("Authorization", fmt.Sprintf("Bearer %s", os.Getenv("LINKBREAKERS_SECRET_KEY")))
config.Servers = linkbreakers.ServerConfigurations{
{URL: "https://api.linkbreakers.com"},
}
return linkbreakers.NewAPIClient(config)
}
func main() {
r := gin.Default()
client := getClient()
r.POST("/api/create-link", func(c *gin.Context) {
var req struct {
Destination string `json:"destination" binding:"required"`
Name string `json:"name"`
Tags []string `json:"tags"`
}
if err := c.ShouldBindJSON(&req); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
createReq := linkbreakers.NewCreateLinkRequest(req.Destination)
if req.Name != "" {
createReq.SetName(req.Name)
}
if len(req.Tags) > 0 {
createReq.SetTags(req.Tags)
}
response, _, err := client.LinksAPI.LinksServiceCreate(context.Background()).
CreateLinkRequest(*createReq).
Execute()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{
"success": true,
"shortlink": response.Link.GetShortlink(),
"qr_code": response.Link.GetQrcodeSignedUrl(),
})
})
r.GET("/api/links", func(c *gin.Context) {
tags := c.QueryArray("tags")
pageSize := int32(50)
response, _, err := client.LinksAPI.LinksServiceList(context.Background()).
PageSize(pageSize).
Tags(tags).
Execute()
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
var links []gin.H
for _, link := range response.GetLinks() {
links = append(links, gin.H{
"id": link.GetId(),
"name": link.GetName(),
"shortlink": link.GetShortlink(),
"destination": link.GetDestination(),
})
}
c.JSON(http.StatusOK, gin.H{"links": links})
})
r.Run(":8080")
}
```
### Echo
```go
package main
import (
"context"
"fmt"
"net/http"
"os"
"github.com/labstack/echo/v4"
"github.com/linkbreakers-com/linkbreakers-go"
)
func getClient() *linkbreakers.APIClient {
config := linkbreakers.NewConfiguration()
config.AddDefaultHeader("Authorization", fmt.Sprintf("Bearer %s", os.Getenv("LINKBREAKERS_SECRET_KEY")))
config.Servers = linkbreakers.ServerConfigurations{
{URL: "https://api.linkbreakers.com"},
}
return linkbreakers.NewAPIClient(config)
}
type CreateLinkRequest struct {
Destination string `json:"destination"`
Name string `json:"name"`
Tags []string `json:"tags"`
}
func main() {
e := echo.New()
client := getClient()
e.POST("/api/create-link", func(c echo.Context) error {
var req CreateLinkRequest
if err := c.Bind(&req); err != nil {
return c.JSON(http.StatusBadRequest, map[string]string{"error": err.Error()})
}
createReq := linkbreakers.NewCreateLinkRequest(req.Destination)
if req.Name != "" {
createReq.SetName(req.Name)
}
if len(req.Tags) > 0 {
createReq.SetTags(req.Tags)
}
response, _, err := client.LinksAPI.LinksServiceCreate(context.Background()).
CreateLinkRequest(*createReq).
Execute()
if err != nil {
return c.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()})
}
return c.JSON(http.StatusOK, map[string]interface{}{
"success": true,
"shortlink": response.Link.GetShortlink(),
"qr_code": response.Link.GetQrcodeSignedUrl(),
})
})
e.Logger.Fatal(e.Start(":8080"))
}
```
## Error handling
Implement proper error handling for production:
```go
package main
import (
"context"
"fmt"
"log"
"github.com/linkbreakers-com/linkbreakers-go"
)
func createLinkWithErrorHandling(client *linkbreakers.APIClient) {
ctx := context.Background()
createReq := linkbreakers.NewCreateLinkRequest("https://example.com/page")
createReq.SetName("My Link")
response, httpResp, err := client.LinksAPI.LinksServiceCreate(ctx).
CreateLinkRequest(*createReq).
Execute()
if err != nil {
if httpResp != nil {
log.Printf("API Error: Status %d\n", httpResp.StatusCode)
}
log.Fatalf("Error creating link: %v", err)
return
}
fmt.Printf("Success: %s\n", response.Link.GetShortlink())
}
```
To let an AI agent drive the Go SDK, or to use the MCP server instead, see [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents).
## Frequently asked questions
**Can I use the Go SDK with popular web frameworks?**
Yes! The SDK is framework-agnostic and works seamlessly with Gin, Echo, Fiber, Chi, and any Go web framework.
**How do I handle rate limits?**
The SDK will return errors if you exceed rate limits. Implement exponential backoff retry logic for production applications.
**Does the SDK support concurrency?**
Yes, the SDK is safe for concurrent use. You can create multiple goroutines that share the same API client.
**How do I get the LBID for visitor identification?**
The LBID appears as a `?lbid=` query parameter when visitors click your links with conversion tracking enabled. Extract it from request parameters and pass it to `VisitorsServiceIdentify()`.
**Can I create bulk links efficiently?**
Yes, use `LinksServiceCreateBulk()` to create up to 1000 links in a single API call, which is much more efficient than individual requests.
**What Go versions are supported?**
The SDK supports Go 1.18+ with full support for generics and modern Go features.
**How do I test without affecting production data?**
Create a [sandbox](/help/article/sandbox-test-environment) from **Dashboard → API Tokens → Sandboxes**, or with `POST /v1/sandboxes`. A sandbox is a separate, empty workspace whose token starts with `lb_test_`, so it can never touch your live links or analytics, its usage is never billed, and it is deleted 30 days after creation.
## Sources
- [Linkbreakers Go SDK GitHub Repository](https://github.com/linkbreakers-com/linkbreakers-go)
- [What is LBID?](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid)
- [Linkbreakers API Documentation](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api)
## Last reviewed
This article was last reviewed on March 31, 2025.
---
# Linkbreakers Rust SDK: Complete Integration Guide
Source: https://linkbreakers.com/help/article/rust-sdk-quickstart
## Short answer
The Linkbreakers Rust SDK enables programmatic link management, visitor identification, QR code generation, and analytics access from your Rust backend applications. Install it with `cargo add linkbreakers`, authenticate with a secret API key, and start creating trackable links with async/await patterns for high-performance applications.
## Installation
Add the SDK to your project using Cargo:
```bash
cargo add linkbreakers
```
Or manually add to your `Cargo.toml`:
```toml
[dependencies]
linkbreakers = "1.170.0"
tokio = { version = "1", features = ["full"] }
```
The SDK uses `tokio` for async runtime and `reqwest` for HTTP requests.
## Understanding API keys for Rust
The Rust SDK is designed for **backend/server-side use only** and requires a **secret API key** with full workspace access.
### Secret keys
**Backend-only.** These JWT tokens grant full API access and must never be exposed in public repositories or client-side code.
**What they allow:**
- Create, update, and delete links
- Generate and customize QR codes
- Identify and track visitors
- Access analytics and metrics
- Manage workspace resources
- Full API access
**Where to use:**
- Web servers (Axum, Actix, Rocket)
- Microservices
- CLI tools
- Background workers
- API gateways
- High-performance data processing
**Security note:** Rust applications typically run on servers, making them perfect for secret key usage. Never log keys, commit them to git, or expose them in error messages.
## Creating a secret API key
Create your API key from the dashboard:
1. Log in to [app.linkbreakers.com](https://app.linkbreakers.com)
2. Navigate to **Dashboard → API Tokens**
3. Click **Create API Token**
4. Select **Secret Key** (full API access)
5. Give it a descriptive name (e.g., "Production Backend" or "Rust Service")
6. Copy the generated JWT token immediately
**Important:** You won't see the key again after creation. Store it in environment variables or a secret management system.
## Quick start
Initialize the client and create your first shortened link:
```rust
use linkbreakers::{
apis::configuration::Configuration,
apis::links_api,
models::CreateLinkRequest,
};
use std::env;
#[tokio::main]
async fn main() -> Result<(), Box> {
// Configure API client with your secret key
let api_key = env::var("LINKBREAKERS_SECRET_KEY")?;
let mut config = Configuration::new();
config.bearer_access_token = Some(api_key);
config.base_path = "https://api.linkbreakers.com".to_string();
// Create a shortened link
let create_req = CreateLinkRequest {
destination: "https://example.com/product".to_string(),
name: Some("Product Launch - Spring 2025".to_string()),
tags: Some(vec!["marketing".to_string(), "product-launch".to_string()]),
..Default::default()
};
let response = links_api::links_service_create(&config, create_req).await?;
if let Some(link) = response.link {
println!("Short URL: {}", link.shortlink.unwrap_or_default());
println!("Link ID: {}", link.id.unwrap_or_default());
println!("QR Code: {}", link.qrcode_signed_url.unwrap_or_default());
}
Ok(())
}
```
## Environment variables (best practice)
Never hardcode API keys. Use environment variables:
```rust
use linkbreakers::apis::configuration::Configuration;
use std::env;
fn get_config() -> Result {
let api_key = env::var("LINKBREAKERS_SECRET_KEY")?;
let mut config = Configuration::new();
config.bearer_access_token = Some(api_key);
config.base_path = "https://api.linkbreakers.com".to_string();
Ok(config)
}
#[tokio::main]
async fn main() -> Result<(), Box> {
let config = get_config()?;
// Use the config for API operations
// ...
Ok(())
}
```
**Set your environment variable:**
```bash
# .env file (use dotenv crate to load)
export LINKBREAKERS_SECRET_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0IiwidHlwZSI6InNlY3JldCJ9...
```
**Loading .env files with dotenv:**
```toml
[dependencies]
dotenv = "0.15"
```
```rust
use dotenv::dotenv;
#[tokio::main]
async fn main() -> Result<(), Box> {
// Load .env file
dotenv().ok();
let api_key = std::env::var("LINKBREAKERS_SECRET_KEY")?;
// ...
Ok(())
}
```
## Creating and managing links
### Basic link creation
```rust
use linkbreakers::{
apis::{configuration::Configuration, links_api},
models::CreateLinkRequest,
};
async fn create_basic_link(config: &Configuration) -> Result<(), Box> {
let create_req = CreateLinkRequest {
destination: "https://example.com/summer-sale".to_string(),
name: Some("Summer Sale 2025".to_string()),
tags: Some(vec!["campaign".to_string(), "summer".to_string(), "email".to_string()]),
..Default::default()
};
let response = links_api::links_service_create(config, create_req).await?;
if let Some(link) = response.link {
println!("Created: {}", link.shortlink.unwrap_or_default());
}
Ok(())
}
```
### Advanced link options
```rust
use linkbreakers::{
apis::{configuration::Configuration, links_api},
models::CreateLinkRequest,
};
use std::collections::HashMap;
async fn create_advanced_links(config: &Configuration) -> Result<(), Box> {
// Create link with custom shortlink
let custom_req = CreateLinkRequest {
destination: "https://example.com/docs".to_string(),
shortlink: Some("docs".to_string()), // Creates lbr.ai/docs
name: Some("Documentation Portal".to_string()),
fallback_destination: Some("https://example.com/404".to_string()),
tags: Some(vec!["internal".to_string(), "docs".to_string()]),
..Default::default()
};
let custom_link = links_api::links_service_create(config, custom_req).await?;
// Create link with metadata for tracking
let mut metadata = HashMap::new();
metadata.insert("product_id".to_string(), "123".to_string());
metadata.insert("campaign_id".to_string(), "spring-2025".to_string());
metadata.insert("utm_source".to_string(), "email".to_string());
metadata.insert("utm_medium".to_string(), "newsletter".to_string());
metadata.insert("utm_campaign".to_string(), "product-launch".to_string());
let tracked_req = CreateLinkRequest {
destination: "https://example.com/product/123".to_string(),
name: Some("Product 123 - Email Campaign".to_string()),
metadata: Some(metadata),
tags: Some(vec!["product".to_string(), "email".to_string()]),
..Default::default()
};
let tracked_link = links_api::links_service_create(config, tracked_req).await?;
// Create link with QR code (wait for generation)
let qr_req = CreateLinkRequest {
destination: "https://example.com/event-registration".to_string(),
name: Some("Conference 2025 Registration".to_string()),
wait_for_qrcode: Some(true), // Blocks until QR is generated
tags: Some(vec!["event".to_string(), "conference".to_string(), "qr-code".to_string()]),
..Default::default()
};
let qr_link = links_api::links_service_create(config, qr_req).await?;
if let Some(link) = qr_link.link {
println!("Download QR code: {}", link.qrcode_signed_url.unwrap_or_default());
}
Ok(())
}
```
### Listing and filtering links
```rust
use linkbreakers::{
apis::{configuration::Configuration, links_api},
models::{Linkbreakersv1LinksSortField, Linkbreakersv1SortDirection},
};
async fn list_links(config: &Configuration) -> Result<(), Box> {
let response = links_api::links_service_list(
config,
Some(50), // page_size
None, // page_token
Some(vec!["marketing".to_string(), "email".to_string()]), // tags
Some("campaign".to_string()), // search
Some(Linkbreakersv1LinksSortField::UpdatedAt), // sort_by
Some(Linkbreakersv1SortDirection::Desc), // sort_direction
None, // directory_id
None, // include_all_directories
None, // include
)
.await?;
if let Some(links) = response.links {
for link in links {
println!("{}: {}", link.name.unwrap_or_default(), link.shortlink.unwrap_or_default());
println!(" Tags: {:?}", link.tags.unwrap_or_default());
println!(" Created: {}", link.created_at.unwrap_or_default());
}
}
Ok(())
}
```
### Updating and deleting links
```rust
use linkbreakers::{
apis::{configuration::Configuration, links_api},
models::UpdateLinkRequest,
};
async fn update_and_delete_link(
config: &Configuration,
link_id: &str,
) -> Result<(), Box> {
// Get a specific link
let link_resp = links_api::links_service_get(
config,
link_id,
Some(vec!["tags".to_string(), "qrcodeSignedUrl".to_string()]),
)
.await?;
// Update link
let update_req = UpdateLinkRequest {
name: Some("Updated Campaign Name".to_string()),
tags: Some(vec!["marketing".to_string(), "q2-2025".to_string(), "updated".to_string()]),
..Default::default()
};
links_api::links_service_update(config, link_id, update_req).await?;
// Delete link
links_api::links_service_delete(config, link_id).await?;
Ok(())
}
```
## Bulk link creation
Create hundreds of links efficiently in a single API call:
```rust
use linkbreakers::{
apis::{configuration::Configuration, links_api},
models::{CreateBulkLinksRequest, CreateLinkRequest},
};
use std::collections::HashMap;
struct Product {
id: String,
name: String,
url: String,
}
async fn create_bulk_links(config: &Configuration) -> Result<(), Box> {
// Prepare bulk links (e.g., from a product catalog)
let products = vec![
Product {
id: "001".to_string(),
name: "Widget A".to_string(),
url: "https://example.com/products/001".to_string(),
},
Product {
id: "002".to_string(),
name: "Widget B".to_string(),
url: "https://example.com/products/002".to_string(),
},
Product {
id: "003".to_string(),
name: "Widget C".to_string(),
url: "https://example.com/products/003".to_string(),
},
];
let links_to_create: Vec = products
.iter()
.map(|p| {
let mut metadata = HashMap::new();
metadata.insert("product_id".to_string(), p.id.clone());
metadata.insert("sku".to_string(), format!("SKU-{}", p.id));
CreateLinkRequest {
destination: p.url.clone(),
name: Some(format!("Product: {}", p.name)),
tags: Some(vec!["product".to_string(), "catalog".to_string()]),
metadata: Some(metadata),
..Default::default()
}
})
.collect();
// Create all links in one request
let bulk_req = CreateBulkLinksRequest {
links: links_to_create,
};
let response = links_api::links_service_create_bulk(config, bulk_req).await?;
if let Some(links) = response.links {
println!("Created {} links", links.len());
for link in links {
println!(" {}: {}", link.name.unwrap_or_default(), link.shortlink.unwrap_or_default());
}
}
Ok(())
}
```
**When to use bulk creation:**
- Importing product catalogs
- Generating links from database records
- Campaign setup with many URLs
- Automated link generation pipelines
## Visitor identification and tracking
Track and identify visitors using their LBID (Linkbreakers ID) from click/scan events:
```rust
use linkbreakers::{
apis::{configuration::Configuration, visitors_api},
models::{IdentifyRequest, VisitorInput},
};
use std::collections::HashMap;
async fn identify_visitor(
config: &Configuration,
lbid: &str,
) -> Result<(), Box> {
// Prepare visitor data
let mut visitor_data: HashMap = HashMap::new();
// System fields (prefixed with "$")
visitor_data.insert("$email".to_string(), "john.doe@example.com".into());
visitor_data.insert("$phone".to_string(), "+14155551234".into());
visitor_data.insert("$firstName".to_string(), "John".into());
visitor_data.insert("$lastName".to_string(), "Doe".into());
// Custom attributes (no "$" prefix)
visitor_data.insert("company".to_string(), "Acme Corporation".into());
visitor_data.insert("jobTitle".to_string(), "Product Manager".into());
visitor_data.insert("plan".to_string(), "enterprise".into());
visitor_data.insert("signupDate".to_string(), "2024-01-15".into());
visitor_data.insert("industry".to_string(), "SaaS".into());
visitor_data.insert("employees".to_string(), 250.into());
let visitor_input = VisitorInput {
data: Some(visitor_data),
};
let identify_req = IdentifyRequest {
lbid: lbid.to_string(),
visitor: Box::new(visitor_input),
set_once: Some(false), // true = only update empty fields
};
let response = visitors_api::visitors_service_identify(config, identify_req).await?;
if let Some(visitor) = response.visitor {
println!("New profile created: {}", response.created.unwrap_or(false));
println!("Visitor ID: {}", visitor.id.unwrap_or_default());
println!("Email: {}", visitor.email.unwrap_or_default());
}
Ok(())
}
```
**Understanding LBID:**
When visitors click your Linkbreakers links with **conversion tracking enabled**, a `?lbid=...` parameter is added to the destination URL. This LBID connects the visitor to the specific link click, enabling attribution and analytics.
Extract LBID from incoming requests and pass it to the identification API to build visitor profiles. Learn more in our [What is LBID?](/help/article/what-is-the-linkbreakers-id-lbid) guide.
### Working with visitor data
```rust
use linkbreakers::{
apis::{configuration::Configuration, visitors_api},
models::{VisitorInput, VisitorsServiceUpdateBody},
};
use std::collections::HashMap;
async fn work_with_visitors(
config: &Configuration,
visitor_id: &str,
) -> Result<(), Box> {
// Get visitor details
let visitor = visitors_api::visitors_service_get(
config,
visitor_id,
Some(vec!["devices".to_string(), "events".to_string(), "links".to_string()]),
)
.await?;
if let Some(v) = visitor {
println!("Visitor: {}", v.email.unwrap_or_default());
println!("Devices: {}", v.devices.map(|d| d.len()).unwrap_or(0));
println!("Events: {}", v.events.map(|e| e.len()).unwrap_or(0));
}
// List visitors with filtering
let visitors_list = visitors_api::visitors_service_list(
config,
Some(100), // page_size
None, // page_token
Some("user@example.com".to_string()), // email
Some("link-uuid".to_string()), // link_id
Some("Acme Corp".to_string()), // search
None, // include
None, // response_format
)
.await?;
// Update visitor attributes
let mut update_data: HashMap = HashMap::new();
update_data.insert("$email".to_string(), "updated@example.com".into());
update_data.insert("plan".to_string(), "enterprise".into());
update_data.insert("lastActivity".to_string(), "2025-03-31".into());
let visitor_update = VisitorInput {
data: Some(update_data),
};
let update_body = VisitorsServiceUpdateBody {
visitor: Some(Box::new(visitor_update)),
};
visitors_api::visitors_service_update(config, visitor_id, update_body).await?;
Ok(())
}
```
## Accessing analytics and metrics
Retrieve event data and workspace metrics:
```rust
use linkbreakers::apis::{configuration::Configuration, events_api, metrics_api};
use chrono::{Duration, Utc};
async fn get_analytics(
config: &Configuration,
link_id: &str,
) -> Result<(), Box> {
// Get events for a specific link (last 30 days)
let end_date = Utc::now();
let start_date = end_date - Duration::days(30);
let events_resp = events_api::events_service_list(
config,
Some(start_date), // start_date
Some(end_date), // end_date
Some(1000), // page_size
None, // page_token
Some(link_id.to_string()), // link_id
Some(vec!["visitor".to_string(), "device".to_string(), "link".to_string()]), // include
None, // response_format
)
.await?;
if let Some(events) = &events_resp.events {
println!("Total events: {}", events.len());
for (i, event) in events.iter().enumerate() {
if i >= 10 {
break;
}
println!(" {} - {}", event.action.clone().unwrap_or_default(), event.created_at.clone().unwrap_or_default());
}
}
// Get workspace metrics
let metrics = metrics_api::metrics_service_get_workspace_metrics(config).await?;
println!("\nWorkspace Stats:");
println!(" Total links: {}", metrics.total_links.unwrap_or(0));
println!(" Total clicks: {}", metrics.total_clicks.unwrap_or(0));
println!(" Total visitors: {}", metrics.total_visitors.unwrap_or(0));
Ok(())
}
```
## Framework integration
### Axum
```rust
use axum::{
extract::State,
http::StatusCode,
routing::{get, post},
Json, Router,
};
use linkbreakers::{
apis::{configuration::Configuration, links_api},
models::CreateLinkRequest,
};
use serde::{Deserialize, Serialize};
use std::sync::Arc;
#[derive(Clone)]
struct AppState {
config: Arc,
}
#[derive(Deserialize)]
struct CreateLinkBody {
destination: String,
name: Option,
tags: Option>,
}
#[derive(Serialize)]
struct LinkResponse {
success: bool,
shortlink: String,
qr_code: Option,
}
async fn create_link(
State(state): State,
Json(body): Json,
) -> Result, StatusCode> {
let create_req = CreateLinkRequest {
destination: body.destination,
name: body.name,
tags: body.tags,
..Default::default()
};
match links_api::links_service_create(&state.config, create_req).await {
Ok(response) => {
if let Some(link) = response.link {
Ok(Json(LinkResponse {
success: true,
shortlink: link.shortlink.unwrap_or_default(),
qr_code: link.qrcode_signed_url,
}))
} else {
Err(StatusCode::INTERNAL_SERVER_ERROR)
}
}
Err(_) => Err(StatusCode::INTERNAL_SERVER_ERROR),
}
}
#[tokio::main]
async fn main() -> Result<(), Box> {
let api_key = std::env::var("LINKBREAKERS_SECRET_KEY")?;
let mut config = Configuration::new();
config.bearer_access_token = Some(api_key);
config.base_path = "https://api.linkbreakers.com".to_string();
let state = AppState {
config: Arc::new(config),
};
let app = Router::new()
.route("/api/create-link", post(create_link))
.with_state(state);
let listener = tokio::net::TcpListener::bind("0.0.0.0:8080").await?;
axum::serve(listener, app).await?;
Ok(())
}
```
### Actix Web
```rust
use actix_web::{web, App, HttpResponse, HttpServer, Result};
use linkbreakers::{
apis::{configuration::Configuration, links_api},
models::CreateLinkRequest,
};
use serde::{Deserialize, Serialize};
use std::sync::Arc;
struct AppState {
config: Arc,
}
#[derive(Deserialize)]
struct CreateLinkBody {
destination: String,
name: Option,
tags: Option>,
}
#[derive(Serialize)]
struct LinkResponse {
success: bool,
shortlink: String,
qr_code: Option,
}
async fn create_link(
data: web::Data,
body: web::Json,
) -> Result {
let create_req = CreateLinkRequest {
destination: body.destination.clone(),
name: body.name.clone(),
tags: body.tags.clone(),
..Default::default()
};
match links_api::links_service_create(&data.config, create_req).await {
Ok(response) => {
if let Some(link) = response.link {
Ok(HttpResponse::Ok().json(LinkResponse {
success: true,
shortlink: link.shortlink.unwrap_or_default(),
qr_code: link.qrcode_signed_url,
}))
} else {
Ok(HttpResponse::InternalServerError().finish())
}
}
Err(_) => Ok(HttpResponse::InternalServerError().finish()),
}
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
let api_key = std::env::var("LINKBREAKERS_SECRET_KEY").unwrap();
let mut config = Configuration::new();
config.bearer_access_token = Some(api_key);
config.base_path = "https://api.linkbreakers.com".to_string();
let app_state = web::Data::new(AppState {
config: Arc::new(config),
});
HttpServer::new(move || {
App::new()
.app_data(app_state.clone())
.route("/api/create-link", web::post().to(create_link))
})
.bind(("0.0.0.0", 8080))?
.run()
.await
}
```
## Error handling
Implement proper error handling for production:
```rust
use linkbreakers::{
apis::{configuration::Configuration, links_api},
models::CreateLinkRequest,
};
async fn create_link_with_error_handling(
config: &Configuration,
) -> Result<(), Box> {
let create_req = CreateLinkRequest {
destination: "https://example.com/page".to_string(),
name: Some("My Link".to_string()),
..Default::default()
};
match links_api::links_service_create(config, create_req).await {
Ok(response) => {
if let Some(link) = response.link {
println!("Success: {}", link.shortlink.unwrap_or_default());
}
}
Err(e) => {
eprintln!("API Error: {:?}", e);
return Err(Box::new(e));
}
}
Ok(())
}
```
To let an AI agent drive the Rust SDK, or to use the MCP server instead, see [How Linkbreakers works with AI agents](/help/article/linkbreakers-for-ai-agents).
## Frequently asked questions
**Can I use the Rust SDK with popular web frameworks?**
Yes! The SDK is framework-agnostic and works seamlessly with Axum, Actix Web, Rocket, Warp, and any Rust web framework.
**How do I handle rate limits?**
The SDK will return errors if you exceed rate limits. Implement exponential backoff retry logic for production applications.
**Does the SDK support async/await?**
Yes, the SDK is fully async and built on tokio. All API calls are async functions that return futures.
**How do I get the LBID for visitor identification?**
The LBID appears as a `?lbid=` query parameter when visitors click your links with conversion tracking enabled. Extract it from request parameters and pass it to `visitors_service_identify()`.
**Can I create bulk links efficiently?**
Yes, use `links_service_create_bulk()` to create up to 1000 links in a single API call, which is much more efficient than individual requests.
**What Rust versions are supported?**
The SDK supports Rust 1.70+ with full async/await support and modern Rust features.
**How do I test without affecting production data?**
Create a [sandbox](/help/article/sandbox-test-environment) from **Dashboard → API Tokens → Sandboxes**, or with `POST /v1/sandboxes`. A sandbox is a separate, empty workspace whose token starts with `lb_test_`, so it can never touch your live links or analytics, its usage is never billed, and it is deleted 30 days after creation.
## Sources
- [Linkbreakers Rust SDK GitHub Repository](https://github.com/linkbreakers-com/linkbreakers-rust)
- [What is LBID?](https://linkbreakers.com/help/article/what-is-the-linkbreakers-id-lbid)
- [Linkbreakers API Documentation](https://linkbreakers.com/help/article/how-to-use-the-linkbreakers-api)
## Last reviewed
This article was last reviewed on March 31, 2025.
---
# Linkbreakers Java SDK: Complete Integration Guide
Source: https://linkbreakers.com/help/article/java-sdk-quickstart
## Short answer
The Linkbreakers Java SDK enables programmatic link management, visitor identification, QR code generation, and analytics access from your Java backend applications. Install it with Maven or Gradle, authenticate with a secret API key, and start creating trackable links for your campaigns, products, or events.
## Installation
### Maven
Add the dependency to your `pom.xml`:
```xml
com.linkbreakerslinkbreakers-sdk1.175.0
```
### Gradle
Add the dependency to your `build.gradle`:
```groovy
dependencies {
implementation 'com.linkbreakers:linkbreakers-sdk:1.175.0'
}
```
Or for Kotlin DSL (`build.gradle.kts`):
```kotlin
dependencies {
implementation("com.linkbreakers:linkbreakers-sdk:1.175.0")
}
```
## Understanding API keys for Java
The Java SDK is designed for **backend/server-side use only** and requires a **secret API key** with full workspace access.
### Secret keys
**Backend-only.** These JWT tokens grant full API access and must never be exposed in public repositories or client-side code.
**What they allow:**
- Create, update, and delete links
- Generate and customize QR codes
- Identify and track visitors
- Access analytics and metrics
- Manage workspace resources
- Full API access
**Where to use:**
- Spring Boot applications
- Jakarta EE / Java EE applications
- Microservices (Micronaut, Quarkus)
- Background jobs and schedulers
- CLI tools
- Enterprise applications
**Security note:** Java applications typically run on servers, making them perfect for secret key usage. Never log keys, commit them to git, or expose them in error messages.
## Creating a secret API key
Create your API key from the dashboard:
1. Log in to [app.linkbreakers.com](https://app.linkbreakers.com)
2. Navigate to **Dashboard → API Tokens**
3. Click **Create API Token**
4. Select **Secret Key** (full API access)
5. Give it a descriptive name (e.g., "Production Backend" or "Java Service")
6. Copy the generated JWT token immediately
**Important:** You won't see the key again after creation. Store it in environment variables or a secret management system (AWS Secrets Manager, HashiCorp Vault, etc.).
## Quick start
Initialize the client and create your first shortened link:
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiClient;
import com.linkbreakers.ApiException;
import com.linkbreakers.Configuration;
import com.linkbreakers.api.LinksApi;
import com.linkbreakers.auth.HttpBearerAuth;
import com.linkbreakers.model.CreateLinkRequest;
import com.linkbreakers.model.CreateLinkResponse;
import java.util.Arrays;
public class QuickStart {
public static void main(String[] args) {
// Configure API client with your secret key
String apiKey = System.getenv("LINKBREAKERS_SECRET_KEY");
ApiClient apiClient = Configuration.getDefaultApiClient();
apiClient.setBasePath("https://api.linkbreakers.com");
// Configure bearer token authentication
HttpBearerAuth bearerAuth = (HttpBearerAuth) apiClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken(apiKey);
LinksApi linksApi = new LinksApi(apiClient);
try {
// Create a shortened link
CreateLinkRequest request = new CreateLinkRequest()
.destination("https://example.com/product")
.name("Product Launch - Spring 2025")
.tags(Arrays.asList("marketing", "product-launch"));
CreateLinkResponse response = linksApi.linksServiceCreate(request, null);
System.out.println("Short URL: " + response.getLink().getShortlink());
System.out.println("Link ID: " + response.getLink().getId());
System.out.println("QR Code: " + response.getLink().getQrcodeSignedUrl());
} catch (ApiException e) {
System.err.println("API Error: " + e.getMessage());
e.printStackTrace();
}
}
}
```
The last argument of every create, update and identify call is an optional idempotency key. Pass a unique string to make retries safe, or `null` to skip it.
## Environment variables (best practice)
Never hardcode API keys. Use environment variables:
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiClient;
import com.linkbreakers.Configuration;
import com.linkbreakers.auth.HttpBearerAuth;
public class ApiClientFactory {
private static ApiClient apiClient;
public static ApiClient getClient() {
if (apiClient == null) {
String apiKey = System.getenv("LINKBREAKERS_SECRET_KEY");
apiClient = Configuration.getDefaultApiClient();
apiClient.setBasePath("https://api.linkbreakers.com");
// Configure bearer token authentication
HttpBearerAuth bearerAuth = (HttpBearerAuth) apiClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken(apiKey);
}
return apiClient;
}
}
```
**Set your environment variable:**
```bash
# .env file or export directly
export LINKBREAKERS_SECRET_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3Jrc3BhY2VfaWQiOiIxMjM0IiwidHlwZSI6InNlY3JldCJ9...
```
**Loading with Spring Boot (application.properties):**
```properties
linkbreakers.secret-key=${LINKBREAKERS_SECRET_KEY}
```
```java
@Value("${linkbreakers.secret-key}")
private String linkbreakersSecretKey;
```
## Creating and managing links
### Basic link creation
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.LinksApi;
import com.linkbreakers.model.CreateLinkRequest;
import com.linkbreakers.model.CreateLinkResponse;
import java.util.Arrays;
public class LinkCreation {
public void createBasicLink(LinksApi linksApi) {
try {
CreateLinkRequest request = new CreateLinkRequest()
.destination("https://example.com/summer-sale")
.name("Summer Sale 2025")
.tags(Arrays.asList("campaign", "summer", "email"));
CreateLinkResponse response = linksApi.linksServiceCreate(request, null);
System.out.println("Created: " + response.getLink().getShortlink());
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
### Advanced link options
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.LinksApi;
import com.linkbreakers.model.CreateLinkRequest;
import com.linkbreakers.model.CreateLinkResponse;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class AdvancedLinkCreation {
public void createAdvancedLinks(LinksApi linksApi) {
try {
// Create link with custom shortlink
CreateLinkRequest customRequest = new CreateLinkRequest()
.destination("https://example.com/docs")
.shortlink("docs") // Creates lbr.ai/docs
.name("Documentation Portal")
.fallbackDestination("https://example.com/404")
.tags(Arrays.asList("internal", "docs"));
CreateLinkResponse customLink = linksApi.linksServiceCreate(customRequest, null);
// Create link with metadata for tracking
Map metadata = new HashMap<>();
metadata.put("product_id", "123");
metadata.put("campaign_id", "spring-2025");
metadata.put("utm_source", "email");
metadata.put("utm_medium", "newsletter");
metadata.put("utm_campaign", "product-launch");
CreateLinkRequest trackedRequest = new CreateLinkRequest()
.destination("https://example.com/product/123")
.name("Product 123 - Email Campaign")
.metadata(metadata)
.tags(Arrays.asList("product", "email"));
CreateLinkResponse trackedLink = linksApi.linksServiceCreate(trackedRequest, null);
// Create link with QR code (wait for generation)
CreateLinkRequest qrRequest = new CreateLinkRequest()
.destination("https://example.com/event-registration")
.name("Conference 2025 Registration")
.waitForQrcode(true) // Blocks until QR is generated
.tags(Arrays.asList("event", "conference", "qr-code"));
CreateLinkResponse qrLink = linksApi.linksServiceCreate(qrRequest, null);
System.out.println("Download QR code: " + qrLink.getLink().getQrcodeSignedUrl());
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
### Listing and filtering links
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.LinksApi;
import com.linkbreakers.model.Link;
import com.linkbreakers.model.LinkSortField;
import com.linkbreakers.model.ListLinksResponse;
import com.linkbreakers.model.SortDirection;
import java.util.Arrays;
import java.util.List;
public class LinkListing {
public void listLinks(LinksApi linksApi) {
try {
ListLinksResponse response = linksApi.linksServiceList(
50L, // pageSize
null, // pageToken
Arrays.asList("tags"), // include
Arrays.asList("marketing", "email"), // tags
"campaign", // search
LinkSortField.LINK_SORT_FIELD_UPDATED_AT.getValue(), // sortBy
SortDirection.SORT_DIRECTION_DESC.getValue(), // sortDirection
null, // view
null, // directoryId
null // cursor
);
List links = response.getLinks();
for (Link link : links) {
System.out.println(link.getName() + ": " + link.getShortlink());
System.out.println(" Tags: " + link.getTags());
System.out.println(" Created: " + link.getCreatedAt());
}
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
### Updating and deleting links
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.LinksApi;
import com.linkbreakers.model.GetLinkResponse;
import com.linkbreakers.model.LinksServiceUpdateBody;
import java.util.Arrays;
public class LinkManagement {
public void updateAndDeleteLink(LinksApi linksApi, String linkId) {
try {
// Get a specific link
GetLinkResponse linkResponse = linksApi.linksServiceGet(
linkId,
Arrays.asList("tags", "qrcodeSignedUrl")
);
// Update link
LinksServiceUpdateBody updateBody = new LinksServiceUpdateBody()
.name("Updated Campaign Name")
.tags(Arrays.asList("marketing", "q2-2025", "updated"));
linksApi.linksServiceUpdate(linkId, updateBody, null);
// Delete link
linksApi.linksServiceDelete(linkId);
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
## Bulk link creation
Create up to 250 links in a single API call:
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.LinksApi;
import com.linkbreakers.model.CreateBulkLinksRequest;
import com.linkbreakers.model.CreateBulkLinksResponse;
import com.linkbreakers.model.CreateLinkRequest;
import com.linkbreakers.model.Link;
import java.util.*;
class Product {
String id;
String name;
String url;
Product(String id, String name, String url) {
this.id = id;
this.name = name;
this.url = url;
}
}
public class BulkLinkCreation {
public void createBulkLinks(LinksApi linksApi) {
try {
// Prepare bulk links (e.g., from a product catalog)
List products = Arrays.asList(
new Product("001", "Widget A", "https://example.com/products/001"),
new Product("002", "Widget B", "https://example.com/products/002"),
new Product("003", "Widget C", "https://example.com/products/003")
);
List linksToCreate = new ArrayList<>();
for (Product product : products) {
Map metadata = new HashMap<>();
metadata.put("product_id", product.id);
metadata.put("sku", "SKU-" + product.id);
CreateLinkRequest request = new CreateLinkRequest()
.destination(product.url)
.name("Product: " + product.name)
.tags(Arrays.asList("product", "catalog"))
.metadata(metadata);
linksToCreate.add(request);
}
// Create all links in one request
CreateBulkLinksRequest bulkRequest = new CreateBulkLinksRequest()
.links(linksToCreate);
CreateBulkLinksResponse response = linksApi.linksServiceCreateBulk(bulkRequest, null);
System.out.println("Created " + response.getLinks().size() + " links");
for (Link link : response.getLinks()) {
System.out.println(" " + link.getName() + ": " + link.getShortlink());
}
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
**When to use bulk creation:**
- Importing product catalogs
- Generating links from database records
- Campaign setup with many URLs
- Automated link generation pipelines
## Visitor identification and tracking
Track and identify visitors using their LBID (Linkbreakers ID) from click/scan events:
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.VisitorsApi;
import com.linkbreakers.model.IdentifyRequest;
import com.linkbreakers.model.IdentifyResponse;
import com.linkbreakers.model.VisitorInput;
import java.util.HashMap;
import java.util.Map;
public class VisitorIdentification {
public void identifyVisitor(VisitorsApi visitorsApi, String lbid) {
try {
// Prepare visitor data
Map visitorData = new HashMap<>();
// System fields (prefixed with "$")
visitorData.put("$email", "john.doe@example.com");
visitorData.put("$phone", "+14155551234");
visitorData.put("$firstName", "John");
visitorData.put("$lastName", "Doe");
// Custom attributes (no "$" prefix)
visitorData.put("company", "Acme Corporation");
visitorData.put("jobTitle", "Product Manager");
visitorData.put("plan", "enterprise");
visitorData.put("signupDate", "2024-01-15");
visitorData.put("industry", "SaaS");
visitorData.put("employees", 250);
VisitorInput visitorInput = new VisitorInput()
.data(visitorData);
IdentifyRequest identifyRequest = new IdentifyRequest()
.lbid(lbid)
.visitor(visitorInput)
.setOnce(false); // true = only update empty fields
IdentifyResponse response = visitorsApi.visitorsServiceIdentify(identifyRequest, null);
System.out.println("New profile created: " + response.getCreated());
System.out.println("Visitor ID: " + response.getVisitor().getId());
System.out.println("Email: " + response.getVisitor().getEmail());
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
**Understanding LBID:**
When visitors click your Linkbreakers links with **conversion tracking enabled**, a `?lbid=...` parameter is added to the destination URL. This LBID connects the visitor to the specific link click, enabling attribution and analytics.
Extract LBID from incoming requests and pass it to the identification API to build visitor profiles. Learn more in our [What is LBID?](/help/article/what-is-the-linkbreakers-id-lbid) guide.
### Working with visitor data
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.VisitorsApi;
import com.linkbreakers.model.*;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class VisitorDataManagement {
public void workWithVisitors(VisitorsApi visitorsApi, String visitorId) {
try {
// Get visitor details
Visitor visitor = visitorsApi.visitorsServiceGet(
visitorId,
Arrays.asList("devices", "events", "links")
);
System.out.println("Visitor: " + visitor.getEmail());
System.out.println("Devices: " + (visitor.getDevices() != null ? visitor.getDevices().size() : 0));
System.out.println("Events: " + (visitor.getEvents() != null ? visitor.getEvents().size() : 0));
// List visitors with filtering
ListVisitorsResponse visitorsList = visitorsApi.visitorsServiceList(
100L, // pageSize
null, // pageToken
"user@example.com", // email
"Acme Corp", // search
null, // include
null, // linkId
null, // responseFormat
null, // sortField
null, // sortDirection
null // cursor
);
for (Visitor match : visitorsList.getJson().getVisitors()) {
System.out.println("Found: " + match.getEmail());
}
// Update visitor attributes
Map updateData = new HashMap<>();
updateData.put("$email", "updated@example.com");
updateData.put("plan", "enterprise");
updateData.put("lastActivity", "2025-03-31");
VisitorInput visitorUpdate = new VisitorInput()
.data(updateData);
VisitorsServiceUpdateBody updateBody = new VisitorsServiceUpdateBody()
.visitor(visitorUpdate);
visitorsApi.visitorsServiceUpdate(visitorId, updateBody, null);
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
## Accessing analytics and metrics
Retrieve event data and workspace metrics:
```java
package com.example.linkbreakers;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.EventsApi;
import com.linkbreakers.api.WorkspaceMetricsApi;
import com.linkbreakers.model.Event;
import com.linkbreakers.model.ListEventsResponse;
import com.linkbreakers.model.WorkspaceMetric;
import java.time.OffsetDateTime;
import java.util.Arrays;
import java.util.List;
public class Analytics {
public void getAnalytics(EventsApi eventsApi, WorkspaceMetricsApi metricsApi, String linkId) {
try {
// Get events for a specific link (last 30 days)
OffsetDateTime endDate = OffsetDateTime.now();
OffsetDateTime startDate = endDate.minusDays(30);
ListEventsResponse eventsResponse = eventsApi.eventsServiceListEvents(
linkId, // linkId
startDate, // startDate
endDate, // endDate
null, // responseFormat (JSON by default)
100L, // pageSize
null, // pageToken
Arrays.asList("visitor", "device", "link"), // include
null, // visitorId
null // cursor
);
List events = eventsResponse.getJson().getEvents();
System.out.println("Events on this page: " + events.size());
int count = 0;
for (Event event : events) {
if (count >= 10) break;
System.out.println(" " + event.getAction() + " - " + event.getCreatedAt());
count++;
}
// Get workspace metrics
WorkspaceMetric metrics = metricsApi.metricsServiceGetWorkspaceMetric();
System.out.println("\nWorkspace Stats:");
System.out.println(" Total links: " + metrics.getTotalLinks());
System.out.println(" Total events: " + metrics.getTotalEvents());
System.out.println(" Events this month: " + metrics.getTotalMonthlyEvents());
} catch (ApiException e) {
e.printStackTrace();
}
}
}
```
## Framework integration
### Spring Boot
**Configuration class:**
```java
package com.example.linkbreakers.config;
import com.linkbreakers.ApiClient;
import com.linkbreakers.Configuration;
import com.linkbreakers.api.LinksApi;
import com.linkbreakers.api.VisitorsApi;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
@org.springframework.context.annotation.Configuration
public class LinkbreakersConfig {
@Value("${linkbreakers.secret-key}")
private String secretKey;
@Bean
public ApiClient apiClient() {
ApiClient apiClient = Configuration.getDefaultApiClient();
apiClient.setBasePath("https://api.linkbreakers.com");
apiClient.setBearerToken(secretKey);
return apiClient;
}
@Bean
public LinksApi linksApi(ApiClient apiClient) {
return new LinksApi(apiClient);
}
@Bean
public VisitorsApi visitorsApi(ApiClient apiClient) {
return new VisitorsApi(apiClient);
}
}
```
**Controller example:**
```java
package com.example.linkbreakers.controller;
import com.linkbreakers.ApiException;
import com.linkbreakers.api.LinksApi;
import com.linkbreakers.model.CreateLinkRequest;
import com.linkbreakers.model.CreateLinkResponse;
import com.linkbreakers.model.ListLinksResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/api")
public class LinksController {
@Autowired
private LinksApi linksApi;
@PostMapping("/create-link")
public ResponseEntity