Sync Your Buy Button to the Video and Delay It to the VSL Pitch
Set your buy button delay to sync with the VSL pitch so the CTA shows at the exact right moment and lifts sales page conversion.

Why sync the VSL button with the video
Syncing the buy button with the video makes sure the CTA only shows up after the VSL pitch has been made, not before. The button delay ties to the real time the lead has watched, not to the page clock. If they pause, the delay pauses too. Simple as that.
Anyone who runs VSLs knows the problem. You have a selling argument that only makes sense after 23 minutes of buildup. If the button shows at 5 minutes, the lead clicks with no context, hits a cold checkout, and bounces. If it shows too early relative to the pitch, you burn the offer before its time.
The delay logic fixes this. But there's a catch most platforms ignore.
Page-time delay doesn't work for VSLs
The common way to do a delay is by page time. The lead lands, a timer starts running, and the button shows after X minutes. It looks like it solves the problem, but it doesn't.
Here's where it breaks. The page timer has no idea what the lead is doing with the video.
Picture the scenario: you set the button to appear at 23 minutes and 40 seconds, which is where the pitch happens. The lead opens the page but takes 3 minutes to hit play. Or they hit play, pause to answer the phone, and come back 10 minutes later. The page timer kept running the whole time. Result: the button appears when the video is still at 10 minutes, way before the pitch.
The CTA pops up in the middle of the story with no argument on screen. You just showed the buy button to someone who hasn't even heard why they should buy.
How to sync the delay with the real video time
The fix is to tie the delay to watched video time, not page time. The delay only runs while the video is playing.
Here's how it works: if the lead takes a while to hit play, the delay hasn't started. If they pause, the delay stops. It only picks back up when they resume the video. Anything they do while the player is stopped, the delay stays frozen.
The setup is straightforward. You mark the button as an element that shows after a delay in the element options. Then you go to page settings and set the time. If your VSL pitch happens at 23 minutes and 40 seconds, you enter 23:40. The button shows exactly there, at that point in the video, no matter when the lead hit play.
The detail that makes the difference: this works with any player, including third-party ones. You're not locked into the page builder's native player.
The step-by-step in practice
- Mark the buy button as a delayed element in the display options.
- Go to page settings and find the delay time field.
- Enter the exact timestamp of the VSL pitch (minutes and seconds format).
- Turn on video sync so the delay only counts watched time.
After that, the button respects the lead's behavior. Play, pause, resume, all of it counts.
What changes in conversion when the CTA shows at the right moment
A CTA that shows at the pitch moment catches the lead at peak intent. They just heard the argument, the offer, the price anchor. It's the second when the urge to buy is at its highest. The button appears, and they click hot.
Compare that to a CTA that shows early. The lead sees a button with no context, ignores it, and by the time the pitch arrives the button is already part of the scenery. It lost its punch. The novelty of an element appearing on screen is what pulls the eye, and you wasted it by showing it too soon.
It's the kind of tweak that doesn't change the creative or the copy, but moves the page conversion rate directly. Micro-optimization with real effect.
Where this fits for anyone running volume
If you run several VSL offers, each page has a different pitch timestamp. One offer pitches at 18 minutes, another at 31. Setting the right delay on each one is part of the sales page setup.
The page work is only half the equation. The other half is pushing the traffic that gets the lead to the VSL. Uploading dozens of campaigns pointed at those pages, one by one in Ads Manager, is where the operation jams up. That's where parallel duplication across BMs on platforms like DirectAds removes the friction of replicating 1-50-1 structures without redoing setup in every account.
The page converts better with a synced button. The traffic scales better with mass upload. Two different bottlenecks, each in its own place.
Takeaways
- Set the button delay by real video time, never by page time. Play, pause, and slow-to-play should all freeze the delay.
- Put the exact VSL pitch timestamp in the delay field. If the pitch is at 23:40, the button shows at 23:40 of watched video.
- Test with the video paused before you push traffic. Pause in the middle and confirm the delay stopped with it.
- For each VSL offer, map the pitch timestamp individually. Don't reuse the same delay across different pages.
Frequently asked questions
Does the delay work with a third-party video player?
Yes. The sync doesn't depend on a native player. Any player, including third-party ones, can have the delay tied to watched video time.
What happens if the lead pauses the video?
The delay stops with it. While the video is paused, the button timer stays frozen. As soon as the lead resumes, the delay picks back up from where it stopped.
What if the lead takes a while to hit play?
The delay doesn't start running until the video begins. The button only shows after watched time hits the timestamp you set, no matter when the lead opened the page.
How do I find the right timestamp to put in the delay?
Watch your own VSL and mark the exact second the pitch starts, when you present the offer and the price. That's the moment the button should appear. Put that time in the delay field.




