Build a locker, pick how it opens, and paste one script tag into your page. Ten minutes from empty dashboard to a working unlock.
A content locker gates part of your page behind one completed offer. The visitor sees your content, the locker opens, they finish a short offer, and the content is released. You get paid for the conversion.
This guide takes you from an empty dashboard to a locker that opens on a real page.
Go to Tools → Content Locker and press Create. Three settings decide almost everything about how it behaves:
| Setting | What it does |
|---|---|
| Template | The design, and more importantly the type: overlay, fullpage or inline. |
| Load method | Who starts the opening: the page itself, or your own JavaScript. |
| Load delay | How long after that start the locker appears. |
The type is the one people underestimate. Overlay and fullpage mount a fixed, full-viewport frame, so a script tag is the entire integration. Inline injects the locker into an element you provide, and does nothing at all if that element is missing.
Load method and load delay are not two knobs on one timer.
on_load on an overlay or fullpage template: the locker opens by itself at DOM
ready, plus the delay.javascript on an overlay or fullpage template: nothing opens by itself. The
script only prewarms a hidden frame, and waits for you to call it.On the
javascriptmethod your timer is the only clock. If you writesetTimeout(vd7, 7000)on a locker configured with a 3 second delay, it opens at 7000ms. The two do not add up, and the platform value does not win.
Open the locker and go to its embed panel. You get a single line:
<script src="https://cdn.toroads.com/cl/js/9f1c8a2b-4d3e-11ef-9c0a-0242ac120002"></script>
Copy it from that panel rather than typing it: the host and the code are both specific to your account and that locker.
Paste it before </body> on the page you want to lock. For an overlay or fullpage
locker on on_load, that is the whole job.
Each locker exposes its own global function, named from its public id. It is not a
shared toro_load(). The embed panel prints the real name; below it is vd7.
<button onclick="vd7()">Unlock the download</button>
<script>
// or open it on your own schedule
setTimeout(function () { vd7(); }, 5000);
</script>
For an inline locker the container is the trigger. Put it where the locker should render, and the loader mounts into it.
<div id="captcha-locker"></div>
<script src="https://cdn.toroads.com/cl/js/9f1c8a2b-4d3e-11ef-9c0a-0242ac120002"></script>
If #captcha-locker is absent, the loader returns without doing anything and you get a
page where the locker silently never appears. That is the single most common inline
mistake.
Open your page in a private window. You should see the locker appear, a short list of offers filtered to your country and device, and the content release once an offer completes. Clicks and conversions show up under Statistics.
If the offer list is empty, the usual causes are that the app is still pending approval, or that no offer currently targets that country and device. Both are visible from the dashboard.