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.

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

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.

All notes