This will prevent people from skipping your valuable ad-links in order for your business to gain the maximum amount of money.
People can simply share the target destination url or visit the origin url directly without being stopped. Thus there is an easy way for people to avoid your valuable ad-links. We don't want that.
The best way to do this is by checking for the referal header, this will check if the user has visited the from us wanted ad-link before accessing our page.
The checkpoint method is not only good for generating even more $$$ by placing a few ads on them but they also allow for another advanced security meassure, yes you're right, we can now use $SESSIONS in order to make our destination goal pretty much unbypassable by certain chrome-extensions.
[1] I gave a few hints within the code already, I'd strongly suggest you to work with encrypted $SESSION values in order to do even more advanced checkings by comparing the stored database $SESSION values with the one from the user, you can do that in multiple ways...(working with their ip, time, date - not recommended - etc.).
[2] Pretty self-explanatory and very important especially for the checkpoint would be a google captcha.