13 min read
Nitramix Team

Product Video Analytics: How to Measure E-Commerce Video Conversion

product video analyticsecommerce video conversion measurementWooCommerce video trackingGA4 video eventsvideo conversion attributionvideo AB testingVideo Gallery for WooCommerce analytics

Most WooCommerce store owners add product videos because they have read that "video converts better". They never set up tracking, so they cannot prove whether the videos are paying back the effort. Decisions about video length, placement, content style and which products get videos end up being guesswork.

This guide is the opposite. It is a practical, step-by-step playbook for actually measuring product video performance: which videos drive conversions, which ones are ignored, how long shoppers watch, how video correlates with add-to-cart, and how to A/B test video changes against revenue.

By the end you will have a working analytics setup in Google Analytics 4 (GA4), a clear method for video A/B testing, and an understanding of the built-in analytics in the Video Gallery for WooCommerce plugin so you can read the data without leaving WordPress.

In this guide you will learn:

  • The metrics that actually matter for product video (and the ones to ignore)
  • How to set up GA4 video event tracking on WooCommerce
  • How to attribute video views to add-to-cart and purchase events
  • How to run a clean A/B test of product video changes
  • How to read built-in video analytics in Video Gallery for WooCommerce Pro
  • Common analytics mistakes that lead to wrong conclusions

The Metrics That Actually Matter for Product Video

Not all video metrics are useful for an e-commerce decision. Some are vanity, some are leading indicators of conversion, and some are the actual money number. Separate them clearly before you start measuring.

Vanity Metrics (Track, but Do Not Optimize For)

  • Video impressions - how many times the video was loaded on a page. Tells you reach, not effectiveness.
  • Play rate alone - percentage of visitors who clicked play. Useful, but a high play rate with no conversion impact means the video is interesting but not selling.
  • Average watch time alone - long watch time without conversion lift just means engaging content, not selling content.

Leading Indicators (Useful for Diagnosing)

  • Play-through rate - the percentage of viewers who reach 25%, 50%, 75% and 100% of the video. A sharp drop at 25% means the opening does not hold attention; a drop at 75% means the video runs too long.
  • Click rate on play after autoplay-muted - if your video autoplays muted, how many viewers actively unmute or click for sound. This is real engagement.
  • Scroll depth after video view - do viewers who watch then continue down the page, or do they bounce?

Money Metrics (The Ones to Optimize For)

  • Add-to-cart rate with video view vs without - segmented comparison. The single most important number.
  • Conversion rate (purchase) with video view vs without - same comparison, taken further down the funnel.
  • Revenue per visitor with video view vs without - includes cart value, not just conversion.
  • Return rate of orders where video was watched vs not - video should reduce returns; if it does not, the video is misleading.

The point of analytics is to be able to say things like "shoppers who watched at least 50% of the product video added to cart at 2.4x the rate of those who did not" - not "the video got 8,400 plays this month".


Setting Up GA4 Video Event Tracking on WooCommerce

Google Analytics 4 has native YouTube video tracking but does NOT automatically track self-hosted HTML5 video. For WooCommerce product video tracking you almost always need to send custom events.

The cleanest implementation is to fire four events per video: video_start, video_progress_25, video_progress_75, and video_complete.

Step 1: Confirm GA4 Is Installed

In WordPress admin, install the GA4 Google Site Kit plugin or your preferred GA4 connector. Confirm gtag() is firing on product pages by visiting any product page and checking the GA4 Real-Time report. You should see yourself as an active user.

Step 2: Add Event Tracking to Your Theme

Add this JavaScript to your theme. The cleanest place is a child theme's footer.php, or use a snippet plugin like Code Snippets.

javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
document.addEventListener('DOMContentLoaded', function () {
  const videos = document.querySelectorAll('video');

  videos.forEach(function (video) {
    let fired25 = false;
    let fired75 = false;
    let firedComplete = false;

    video.addEventListener('play', function () {
      gtag('event', 'video_start', {
        video_provider: 'self_hosted',
        video_url: video.currentSrc,
        video_title: video.getAttribute('data-title') || document.title,
        video_duration: Math.round(video.duration || 0)
      });
    });

    video.addEventListener('timeupdate', function () {
      if (!video.duration) return;
      const pct = (video.currentTime / video.duration) * 100;

      if (!fired25 && pct >= 25) {
        fired25 = true;
        gtag('event', 'video_progress', {
          video_percent: 25,
          video_url: video.currentSrc
        });
      }
      if (!fired75 && pct >= 75) {
        fired75 = true;
        gtag('event', 'video_progress', {
          video_percent: 75,
          video_url: video.currentSrc
        });
      }
    });

    video.addEventListener('ended', function () {
      if (firedComplete) return;
      firedComplete = true;
      gtag('event', 'video_complete', {
        video_url: video.currentSrc
      });
    });
  });
});

Step 3: Verify Events Are Firing

  1. Open a product page with a video
  2. Open Chrome DevTools, go to the Network tab, filter by "collect"
  3. Click play on the video
  4. You should see a request to google-analytics.com/collect with the video_start event

Then check GA4 Real-Time report - the event names should appear under "Event count by Event name" within a minute.

Step 4: Mark Events as Conversions (If Relevant)

In GA4, go to Admin > Events. Find video_complete and mark it as a conversion. This makes it available in the standard conversion reports and Google Ads.

You should NOT mark video_start as a conversion - too many low-intent plays would inflate the number.


Attributing Video Views to Add-to-Cart and Purchase

The next step is connecting video engagement to revenue. There are two clean approaches.

Approach 1: GA4 Segment Comparison (Free, Easiest)

In GA4 you can build two comparisons in any report:

  • Comparison A: users who triggered video_progress with video_percent = 75
  • Comparison B: users who did NOT trigger any video event

Then look at your standard e-commerce report (Reports > Monetization > Ecommerce purchases). The conversion rate for Comparison A divided by Comparison B is your "video lift multiplier" for that product.

This works on free GA4 accounts and tells you whether watching a meaningful portion of the video correlates with buying.

Approach 2: BigQuery + SQL (Advanced)

If your GA4 property is connected to BigQuery (free tier handles small stores), you can run a single SQL query to compute the exact lift per product:

sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
WITH video_watchers AS (
  SELECT DISTINCT user_pseudo_id, page_location
  FROM `your_project.analytics_NNNNN.events_*`
  WHERE event_name = 'video_progress'
    AND (SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'video_percent') >= 75
),
purchases AS (
  SELECT user_pseudo_id, ecommerce.purchase_revenue
  FROM `your_project.analytics_NNNNN.events_*`
  WHERE event_name = 'purchase'
)
SELECT
  COUNT(DISTINCT v.user_pseudo_id) AS watchers,
  COUNT(DISTINCT p.user_pseudo_id) AS converted_watchers,
  SAFE_DIVIDE(COUNT(DISTINCT p.user_pseudo_id), COUNT(DISTINCT v.user_pseudo_id)) AS conversion_rate
FROM video_watchers v
LEFT JOIN purchases p USING (user_pseudo_id);

This gives you a hard conversion rate from "watched 75% of video" to "completed purchase", per product if you also group by page_location.

Caveat: Correlation Is Not Causation

A higher conversion rate among video watchers does NOT prove the video caused the conversion. Shoppers who watch video are already more engaged. To prove causation you need to run a controlled A/B test.


How to Run a Clean A/B Test of Product Video

If you want to know whether a video change (different length, different content, different placement) actually drives revenue, run an A/B test. There are two practical methods for WooCommerce.

Method 1: Time-Based Split (Simplest)

Run version A for two weeks, then version B for two weeks. Compare conversion rate, add-to-cart rate and revenue per visitor.

Pros: zero setup cost, no A/B testing tool needed.

Cons: external factors (seasonality, ads, holidays) can pollute the result. Only valid for stable traffic and short test windows.

Method 2: Tool-Based Split (More Reliable)

Use a free or paid A/B testing tool that supports server-side traffic splitting:

  • Microsoft Clarity (free, limited A/B), VWO (paid), Optimizely (paid)
  • WordPress-specific: Nelio AB Testing, A/B Press Optimizer

The tool splits incoming traffic randomly between the two versions and tracks revenue per group automatically. Run the test until you have at least 200 conversions per variant for statistical significance.

What to A/B Test on Product Video

In order of likely impact:

  1. Video vs no video at all - establishes the baseline value of having video
  2. Sticky video vs static gallery video - covered in detail in Sticky Video on WooCommerce Product Pages
  3. Short (30s) vs long (90s) version of the same content
  4. Demonstration video vs unboxing video vs customer testimonial video
  5. Self-hosted MP4 vs YouTube embed
  6. Autoplay muted vs click-to-play

Pick one variable at a time. Testing multiple changes at once means you cannot tell which one caused the lift.


If setting up GA4 events feels like too much work, the Pro version of Video Gallery for WooCommerce includes built-in video analytics directly in the WordPress dashboard. No code, no GA4 setup, no BigQuery queries.

The Pro analytics dashboard tracks three metrics per product video:

  • Views - how many times the video was loaded on the page
  • Plays - how many times the play button was actively clicked or the video was triggered
  • Watch time and completion rate - how much of the video is actually being watched

This is enough data to answer the most common questions:

  • Which products have the highest video engagement?
  • Which videos are getting watched all the way through?
  • Which videos are getting started but abandoned (signal that the opening is weak)?

The Pro analytics do not connect directly to WooCommerce purchase data the way GA4 + BigQuery does, but they give you the engagement half of the picture instantly. Pair them with GA4 conversion data for the complete view.

When to Use Plugin Analytics vs GA4

You need...Use this
Quick engagement check without codePlugin analytics
Revenue attribution per videoGA4 + custom events
Long-term historical analysisGA4 + BigQuery
Per-video watch rate without touching codePlugin analytics
A/B testing video changesGA4 with A/B testing tool

Most stores benefit from running both - plugin analytics for the daily check, GA4 for the monthly revenue analysis.


Common Analytics Mistakes That Lead to Wrong Conclusions

These are the patterns I see most often when store owners try to measure video performance.

Mistake 1: Comparing Conversion Rate Without Segmenting

The classic mistake: "We added video and conversion went from 1.8% to 2.1%". The problem is that other factors changed in the same period - new traffic source, seasonal effect, a promo, a product mix change. Always segment to "users who watched video" vs "users who did not" in the SAME time window.

Mistake 2: Counting Autoplay Views as Engagement

If your video autoplays muted, the "play" event fires for every visitor automatically. This is NOT engagement - it is just delivery. Use the video_progress event at 25% or 75% as your real engagement threshold, not video_start.

Mistake 3: Tracking Only the First Video on Multi-Video Pages

If you use the Pro feature for multiple videos per product (up to 6 in Video Gallery for WooCommerce Pro), make sure your event listeners cover all of them. The script above does (it loops every <video> element), but if you copy other implementations be careful.

Mistake 4: Ignoring Mobile

The script above tracks both desktop and mobile, but make sure you check the data segmented by device. Mobile users behave very differently with video - they often start playing then put the phone down or switch apps. Mobile-only analysis can change your conclusions.

Mistake 5: A/B Testing for One Day

Statistical significance requires sample size. A one-day test will give you a result, but it will be a coin flip. Run tests for at least 14 days OR until you reach 200 conversions per variant, whichever comes later.

Mistake 6: Optimizing for Watch Time Instead of Revenue

A longer-watched video is not automatically a better video. If the longer video has the same conversion rate, you have made a content tradeoff but no business gain. Always tie video changes back to add-to-cart, purchase, and revenue per visitor.


A Practical Measurement Plan for the Next 30 Days

If you want to move from "we have product video" to "we know exactly what our product video is doing", here is a 30-day plan.

Week 1: Instrumentation

  • Confirm GA4 is installed and firing on product pages
  • Add the video event tracking script above to your theme
  • Verify the four events (video_start, video_progress_25, video_progress_75, video_complete) appear in GA4 Real-Time
  • If you have Video Gallery for WooCommerce Pro, open the analytics dashboard and confirm data is being collected

Week 2-3: Baseline Data Collection

  • Do NOT change anything on the site
  • Let GA4 collect at least 14 days of clean data
  • Note the conversion rate for users who triggered video_progress at 75% vs those who did not
  • Note the average completion rate per product video

Week 4: First Optimization Test

  • Pick the product with the most traffic AND a measurable video engagement gap (low completion rate)
  • Hypothesize one change (shorter version, different intro, sticky video on scroll)
  • Run an A/B test using the time-based split method or an A/B testing tool
  • Measure conversion rate, not just watch time

After 30 days you will have moved from guessing to measuring, and you will know which products benefit most from video and which content style works for your audience.


Frequently Asked Questions

Does GA4 track YouTube videos automatically?

Yes. If your video is embedded as a YouTube iframe with the JS API enabled, GA4 fires video_start, video_progress and video_complete events automatically. The custom script in this guide is for self-hosted HTML5 video, which GA4 does not handle natively.

What is the minimum traffic to make video analytics worthwhile?

For directional insights, any traffic level is useful - you will spot obvious problems (low play rate, sharp drop-offs). For statistical A/B testing you need enough conversions to reach significance, which typically means at least 100 to 200 conversions per variant per test. Stores below this threshold should use directional or qualitative methods instead of strict A/B tests.

Can I track video performance without Google Analytics at all?

Yes. The Pro version of Video Gallery for WooCommerce includes built-in views, plays and watch time tracking in the WordPress dashboard with no GA4 setup needed. You will not get revenue attribution that way, but you will get engagement data.

How long should I run an A/B test on product video?

Run it until you reach at least 200 conversions per variant, or for a minimum of 14 days to absorb day-of-week effects. Whichever is longer. Resist the urge to call a winner after 3 days - the result is usually noise at that stage.

What is a "good" completion rate for product video?

There is no universal benchmark - it depends heavily on video length and product category. For 30 to 60 second product demos, 40 to 60% completion is typical of stores doing well. For 2 minute videos, 25 to 35% completion is common. Watch for sharp drop-offs at specific timestamps to find weak content moments.

Should I measure video performance per product or store-wide?

Both, but for different decisions. Store-wide metrics tell you whether the video strategy works overall. Per-product metrics tell you which products to invest more video content into. Most stores find that a small subset of products generates most of the video-driven revenue - find those products first.


Conclusion

Adding product video without measuring it is like running paid ads without conversion tracking - you have no idea whether it is working, so every optimization decision is a guess. The good news is that setting up real video analytics takes one afternoon, and the data starts compounding from day one.

If you have not set up GA4 events yet, copy the script in this guide and add it today. If you are running Video Gallery for WooCommerce Pro, open the analytics dashboard and look at your top three products right now. The information was already there - you just needed to look.

Next Steps

If you want analytics-ready product video without writing any tracking code, the Pro version of Video Gallery for WooCommerce gives you views, plays and completion rate in your WordPress dashboard from day one. See Pro pricing.

Share This Article

Found this helpful? Share it with your network and help others discover great content!