Put a destination URL behind a short list of offer completions. Visitors finish the offers, then land on the link. Useful for downloads, file shares, referral codes and anything hosted elsewhere.
| Setting | Required | Notes |
|---|---|---|
| Name | Yes | Up to 255 characters. Shown to you, not to visitors. |
| Redirect URL | Yes | Where the visitor is sent on unlock. Up to 2048 characters. |
| Fallback URL | Yes | Offered on the locker page as an alternative destination. Up to 2048 characters. |
| Conversions required | Optional | Whole number from 1 to 5. Defaults to 1. See the note below — setting this above 3 does not widen the offer list. |
| Theme | Optional |
classic, modern or glass. Unlike the Content Locker,
themes are built in and cannot be customised by your operator.
|
| Notes | Optional | Private note for your own reference. |
Lockers you create are active immediately — there is no approval step for link lockers, unlike ad campaigns.
Share the locker URL directly. This is the usual approach — post it in social media, in video descriptions, or behind a download button.
https://preads.hansaldev.com/link-locker/YOUR_LOCKER_UUID/show?uid=YOUR_USER_ID
| Parameter | Required | Description |
|---|---|---|
uid |
Yes | Your unique ID for this visitor. This is how the locker knows who is unlocking. |
fp |
Optional | A device fingerprint value, if you collect one. |
uid. Without it the locker identifies visitors by IP address.
Everyone behind one network address — a school, an office, a carrier — then shares a single
session, so one visitor unlocking sends everyone straight through.
If you would rather keep visitors on your site, embed the locker page:
<iframe
src="https://preads.hansaldev.com/link-locker/YOUR_LOCKER_UUID/show?uid=YOUR_USER_ID"
width="100%" height="800px"
frameborder="0">
</iframe>
Make sure your layout stays usable on mobile. Note that the redirect to the destination URL happens inside the iframe, so it will load the destination inside your frame rather than replacing the top-level page. Use a direct link if you want the visitor to leave your site.
The locker emits no browser events. It does, however, expose a progress endpoint that the locker page polls itself:
GET https://preads.hansaldev.com/link-locker/YOUR_LOCKER_UUID/progress?session_token=TOKEN
Response on success:
{
"completed": 1,
"required": 3,
"is_unlocked": false,
"progress_percent": 33.33333333333333,
"unlock_token": "..."
}
| Status | Meaning |
|---|---|
422 |
session_token was missing. |
403 |
{ "error": "Invalid session" } — the token is not valid for this locker. |
404 |
{ "error": "Session not found" } — no session matches, usually because the
visitor's identity changed. |
In practice, if you share a plain link you do not need this endpoint — the locker redirects the visitor itself. It is useful when you render the locker yourself and need to drive your own interface.
uid and device fingerprint
goes straight through.
All public locker endpoints share a limit of 60 requests per minute per IP address — the locker page, click tracking, the progress endpoint and inbound network postbacks alike. Poll the progress endpoint no more than once every few seconds.
| Role | Can do |
|---|---|
| Publisher | Create, edit, view and delete your own lockers. Lockers are active immediately. |
| Administrator | List, view, delete, change status and reverse conversions. Administrators cannot create or edit lockers. |
| Advertiser | Nothing. There is no advertiser-facing link locker screen — lockers are a publisher tool. |
An administrator can set a locker's status to active, rejected, banned or pending. A non-active locker
returns 404 to visitors.
| Symptom | Cause and fix |
|---|---|
404 on the locker URL |
Wrong UUID, or the locker is not active. Copy the UUID from the locker list. |
| One visitor unlocks it for everyone |
uid was not passed, so visitors are grouped by IP. Pass a unique
uid.
|
| Visitors must re-unlock on every visit | The uid or device fingerprint changes between visits. Keep
uid stable. |
| Visitors cannot finish the required number of offers | The offer list holds at most three entries. If you required more than three, lower the requirement. |
| The destination loads inside the iframe | Expected when embedding. Use a direct link to send the visitor out of your page. |
| The locker only shows three offers | By design. Only three offers are ever offered per locker. |
| No postback arrives for locker conversions | Correct behaviour — lockers never post back. Use the statistics page. |