It’s well known that embedded Youtube videos place tracking cookies into your visitor’s browsers. If you or your clients are privacy conscious that can be a bit unsettling. That’s why it can be a good idea to give your visitors a choice – be tracked or not tracked.
This is a simple example of how to give your visitors that choice with ExpressionEngine’s Cookie Consent module, using the default ee:cookies_targeting
consent request.
The basics
You’ll need two custom fields, these can be separate fields or contained in a grid field:
video_embed
- for the video embed code
video_url
- for the direct video URL on the remote site
The template code
We’ll make use of the *= conditional, all this does is look for a matching value in the video_embed
field.
{!-- check if video is from youtube --}
{if video_embed *= "youtube"}
{!-- get consent for youtube tracking cookies --}
{exp:consent:requests consent="ee:cookies_targeting"}
{!-- if consent has already been granted output the video embed code --}
{if consent_granted}
{video_embed}
{!-- if consent hasn’t been granted show message with option links --}
{if:else}
Hidden video content: This video is from a site that may set tracking
cookies and share your personal data with 3rd parties.
<a href="{video_url}">Watch via direct link</a> or
<a href="{consent_grant_url}">Allow tracking cookies and watch here</a>
{/if}
{/exp:consent:requests}
{!-- if video isn’t from youtube just output the embed code --}
{if:else}
{video_embed}
{/if}
That’s it, simple eh? You could of course adapt this for any 3rd party embedded content such as Facebook or Google maps.