Vimeo Source

Capture Vimeo video engagement (plays, pauses, completions, and watch progress) as events in Ours Privacy so you can build audiences and optimize campaigns around who watches your videos.

BetaThis is in beta. The basics are stable, and more capabilities are on the way.

Vimeo Source

Open Sources in app

Send Vimeo video engagement — plays, pauses, completions, and watch progress — into Ours Privacy. Once those events flow in, you can build audiences like "watched more than half of the pricing video" and attribute conversions to the content people actually watch.

This is a web-based source: Vimeo playback happens in the visitor's browser, and the Ours Privacy Web SDK captures it directly from the page. No server-to-server connection required.

Just want video tracking without any code? The Ours Privacy Video Player captures starts, progress, and completions automatically — no snippet required — and hosts playback in a HIPAA-compliant way. Use this Vimeo source when your videos already live on Vimeo and you want to keep them there.


Before you start


Setup

There's one snippet to add. It watches every Vimeo video on the page and forwards each play, pause, and completion to Ours Privacy. If you don't manage your site's code, hand this to your web developer or add it through the Ours Privacy Tag Manager.

  1. Load the Vimeo player library on the pages with your videos:

    <script src="https://player.vimeo.com/api/player.js"></script>
  2. Add the tracking snippet. Paste this on the same pages (or add it as a tag). It finds every Vimeo video automatically — no per-video setup:

    // Forward Vimeo engagement into Ours Privacy.
    // Waits for the page to load so every Vimeo embed is found.
    window.addEventListener('load', function () {
      document.querySelectorAll('iframe[src*="player.vimeo.com"]').forEach(function (iframe) {
        var player = new Vimeo.Player(iframe);
    
        // Send an event, tagged with the video's title.
        function sendVideoEvent(name, data) {
          player.getVideoTitle().then(function (title) {
            ours('track', name, {
              video_title: title,
              seconds: data && data.seconds,
              percent: data && data.percent,
              video_duration: data && data.duration,
            });
          });
        }
    
        // Send a play, pause, and completion event as they happen.
        ['play', 'pause', 'ended'].forEach(function (event) {
          player.on(event, function (data) {
            sendVideoEvent('Video ' + event, data);
          });
        });
    
        // Optional: also send a milestone when a viewer passes 25%, 50%, and 75%.
        var fired = {};
        player.on('timeupdate', function (data) {
          [0.25, 0.5, 0.75].forEach(function (mark) {
            if (data.percent >= mark && !fired[mark]) {
              fired[mark] = true;
              sendVideoEvent('Video Progress', { percent: mark });
            }
          });
        });
      });
    });
  3. Verify by playing a video on your site and confirming the events appear in your Ours Privacy source's recent events.


Event types

You'll usually track plays, pauses, completions, and watch-progress milestones. Vimeo can report more if you need it (seeks, volume changes, playback-rate changes, and others) — add them the same way. You control how each maps to your event names and properties in the app when you set up your mappings.


Next steps

  • Video Player - host and track video directly in Ours Privacy, HIPAA-compliant, with analytics built in.
  • Web SDK Source - the underlying script that captures these events.
  • Tag Manager - manage the forwarding tag without code changes.
  • Data Mapping - shape video events into the names and properties you want.

Need help?

Contact support@oursprivacy.com if you need help connecting Vimeo.

How is this guide?

On this page