Kiến thức Google AnalyticsKiến thức Google Tag Manager
Theo dõi hành động Video với GA4 và Google Tag Manager
Mặc dù Google Analytics 4 cung cấp một số khả năng theo dõi tích hợp sẵn nhưng vẫn sẽ có một số trường hợp bạn cần thực hiện cấu hình bổ sung trong Google Tag Manager. Trong bài viết này, tôi sẽ hướng dẫn bạn cách theo dõi hành động video với GA4 và Google Tag Manager.
Tính năng theo dõi video tích hợp trong GA4 (Đo lường nâng cao)
Khi bạn tạo một thuộc tính GA4 mới, thuộc tính này sẽ tự động bật tính năng Đo lường nâng cao. Đây là một bộ tính năng theo dõi tự động các sự kiện và gửi chúng đến Google Analytics 4. Trong số những tính năng như theo dõi cuộn hoặc tìm kiếm trang web, nó cũng có thể theo dõi các trình phát video Youtube được nhúng.
Bạn có thể kiểm tra xem mình đã bật tính năng đó hay chưa bằng cách truy cập GA4 “Quản trị viên” -> “Luồng dữ liệu” (thuộc tính cụ thể của bạn) -> Nhấp vào biểu tượng Bánh răng.
Ở đây bạn sẽ thấy liệu tính năng theo dõi video có được bật hay không. Nếu đúng như vậy, bạn sẽ có thể theo dõi các sự kiện sau:
- video_start. Được gửi khi khách truy cập bắt đầu xem video.
- video_progress. Khi người xem đạt đến một ngưỡng cụ thể của video (10%, 25%, 50%, 75%).
- video_complete. Khi một khách hàng truy cập xem đến cuối video.
Cùng với những sự kiện đó, một loạt thông số cũng được theo dõi:
- video_current_time. Dấu thời gian hiện tại của video nơi người xem đang ở (tính bằng giây)
- video_duration. Thời lượng video tính bằng giây.
- video_percent. Ngưỡng của video (không có dấu %)
- video_provider.. Giá trị của tham số này luôn là “youtube”.
- video_title. Tiêu đề của video.
- video_url. Đây là URL của video.
- visible. Trả về “1” nếu người chơi được hiển thị trên màn hình trong khi mức độ tương tác video được theo dõi.
Tính năng theo dõi video trong đo lường nâng cao hoạt động đối với các video Youtube được nhúng đã bật API JavaScript. Điều đó có thể được thực hiện bằng cách thêm thuộc tính Enablejsapi=”true” vào iframe, ví dụ:
<iframe src=”” width=”560″ height=”315″ title=”YouTube video player” enablejsapi=”true” frameborder=”0″ allow=”accelerometer; clipboard-write; encrypted-media; picture-in-picture” allowfullscreen></iframe
Hoặc bằng cách trang trí src của iframe bằng “enablejsapi=1”, ví dụ:
<iframe width=”560″ height=”315″ src=”https://www.youtube.com/embed/QfUSKYJz5QE?enablejsapi=1″ title=”YouTube video player” frameborder=”0″ allow=”accelerometer; clipboard-write; encrypted-media; picture-in-picture” allowfullscreen></iframe>
Tuy nhiên, tôi đã nhận thấy nhiều tình huống khác nhau trong đó tính năng theo dõi tích hợp này không thể nhận thấy trình phát video Youtube được nhúng và theo dõi mức độ tương tác tương ứng.
Theo dõi video Youtube bằng trình kích hoạt GTM và GA4
Nếu bạn triển khai theo dõi video theo cách này, bạn nên tắt tính năng theo dõi mức độ tương tác video trong Đo lường nâng cao. Nếu không, bạn sẽ có nguy cơ rủi ro cao hơn về việc dữ liệu thỉnh thoảng bị trùng lặp (khi tính năng đo lường nâng cao đang theo dõi những nội dung tương tự như thiết lập GTM của bạn).
Chuyển đến Quản trị viên GA4 -> Luồng dữ liệu -> Biểu tượng bánh răng -> tắt tính năng theo dõi Tương tác video. Sau khi bạn làm điều đó, hãy tiếp tục quá trình thiết lập.
Ngoài ra, trong bài viết nà, tôi cho rằng bạn đã cài đặt GA4 trong vùng chứa GTM của mình. Điều này có nghĩa là bạn đã tạo thẻ Google.
Tạo trình kích hoạt Video Youtube
Tất cả bắt đầu với một kích hoạt. Trong Google Tag Manager, đi tới “Trình kích hoạt” -> “Mới” -> “Cầu hình kích hoạt” và chọn “Video Youtube”. Sau đó nhập các cài đặt sau:
Bạn có thể thay đổi ngưỡng “%” thành bất cứ thứ gì bạn thích, chỉ cần phân tách chúng bằng dấu phẩy. Bạn cũng có thể bật tính năng Theo dõi tạm dừng, Tìm kiếm và Bộ đệm. Cá nhân tôi thích theo dõi Bắt đầu, Hoàn thành và Tiến trình (ví dụ 25% của video đã được xem).
Ngoài ra, mặc dù Add API JavaScript hỗ trợ cho tất cả video Youtube là cài đặt Nâng cao, tôi bật cài đặt này theo mặc định vì nó làm tăng khả năng hoạt động theo dõi video Youtube.
Bật các biến video tích hợp
Trong Google Tag Manager, hãy chuyển đến Biến -> Định cấu hình và bật tất cả các biến liên quan đến video.
Tạo thẻ Google Analytics 4
Trong bài viết này, tôi cho rằng bạn đã cài đặt GA4 với Trình quản lý thẻ của Google. Nếu không, hãy đọc hướng dẫn này trước.
Đã đến lúc gửi dữ liệu video YouTube tới Google Analytics. Trong GTM, hãy chuyển đến Thẻ > Mới -> Google Analytics -> Thẻ sự kiện GA4 và nhập các cài đặt sau.
Một số phần có thể khó hiểu nên hãy để tôi giải thích:
- Trong trường ID đo lường, bạn phải nhập ID đo lường GA4. Ngoài ra, bạn có thể nhập một biến có chứa ID.
- Bạn có thể nhập bất cứ điều gì bạn muốn vào khu Tên sự kiện. Tôi chỉ cố gắng tuân theo quy ước đặt tên tương tự được sử dụng trong Đo lường nâng cao. Trong thiết lập của tôi, sẽ có ba tên sự kiện có thể có: video_start , video_progress và video_complete . Điều này có thể thực hiện được nhờ biến tích hợp có tên là “Video Status”.
- Tất cả các thông số sự kiện mà tôi đã đưa vào cũng là tùy chọn. Nếu bạn cho rằng một số trong số chúng không có giá trị, hãy tiếp tục và loại bỏ chúng. Một lần nữa tôi quyết định tuân theo quy ước đặt tên của Đo lường nâng cao.
Trong phần kích hoạt, tôi chọn trình kích hoạt video Youtube đã tạo trước đó.
Kiểm tra thiết lập
Khi bạn đã hoàn thành tất cả các bước trước đó, đã đến lúc kiểm tra. Bật/Làm mới chế độ Xem trước và Gỡ lỗi, làm mới trang trên trang web của bạn bằng trình phát video Youtube được nhúng và thử tương tác với nó.
Trước hết, bạn nên bắt đầu xem các sự kiện Video Youtube ở chế độ xem trước. Nếu bạn không nhìn thấy chúng, đọc hướng dẫn khắc phục sự cố này.
Nhấp vào một trong số chúng và kiểm tra xem thẻ Google Analytics của bạn đã kích hoạt chưa.
Nếu có, hãy truy cập Google Analyitcs 4 DebugView để kiểm tra xem bạn có thấy các sự kiện sắp diễn ra hay không.
Sau một thời gian, dữ liệu sự kiện của bạn cũng sẽ xuất hiện trong báo cáo Google Analytics chuẩn và Trung tâm phân tích. Nhưng việc đó có thể mất tới 24 giờ. Vì vậy hãy kiên nhẫn.
Cách theo dõi Vimeo bằng Google Analytics 4 và GTM
Nếu trang web của bạn không chứa video Youtube được nhúng thì sao? Nếu bạn đang sử dụng cái gì khác thì sao? Trong trường hợp đó, tính năng theo dõi video Youtube tích hợp trong Google Tag Manager sẽ không hoạt động. Bạn cần tìm một giải pháp thay thế.
Tất cả bắt đầu với việc xác định trình phát video
Trước khi bắt đầu theo dõi thực tế các tương tác của trình phát video, trước tiên bạn cần xác định loại trình phát video đó là gì. Trình phát video hiển thị rõ ràng logo của họ trong hộp trình phát. Những người khác có lẽ sẽ không rõ ràng như vậy.
Nếu trường hợp của bạn là trường hợp sau, hãy thực hiện các bước sau. Trong trình duyệt của bạn, hãy mở công cụ dành cho nhà phát triển rồi chuyển đến tab Elements. Sau đó bấm vào nút này…
Sau đó bấm vào chính trình phát đó. Bây giờ hãy thử duyệt qua một chút và tìm một số manh mối đề cập đến tên nhà cung cấp của người chơi. Ví dụ: trong trường hợp này, người chơi mà tôi đang kiểm tra là người chơi JW.
Nếu bạn không tìm thấy tên thì rất có thể đó là trình phát video HTML5.
Khi bạn xác định được tên của trình phát video, chỉ cần theo dõi Google [tên trình phát video] bằng Google Tag Manager và bạn nên tìm một số hướng dẫn. Tuy nhiên, đây là một cơ hội hướng dẫn bạn có thể tìm thấy Universal Analytics (GA3), do đó, bạn có thể cần phải điều chỉnh hướng dẫn này cho phù hợp với nhu cầu của mình.
Hãy tưởng tượng rằng trong trường hợp của chúng ta, chúng ta thấy logo “Vimeo” ở góc của trình phát video được nhúng.
Tạo một biến “Trình phát Vimeo có hiện diện trên một trang”
Để theo dõi người chơi Vimeo bằng GTM trên một trang, chúng tôi sẽ cần thêm một mã dài vào vùng chứa. Việc tải mã đó trên mỗi trang là không được tối ưu và sẽ ảnh hưởng đến tốc độ tải trang. Đó là lý do tại sao chúng ta CHỈ nên kích hoạt mã đó khi trình phát Vimeo thực sự được nhúng trên trang web đó.
Để làm điều đó, trước tiên, chúng ta cần tạo một biến JavaScript tùy chỉnh (đi tới Biến -> Mới -> Javascript tùy chỉnh ) và dán đoạn mã sau:
function () { for (var e = document.getElementsByTagName(“iframe”), x=0; x < e.length; x++) { if (/^https?:\/\/player.vimeo.com/.test(e[x].src)) { return true; } } return false; }
Đặt tên cho biến này là cjs – là trình phát vimeo trên một trang.
Nếu trình phát Vimeo được nhúng vào trang, biến này sẽ trả về true .
Sau đó, tạo trình kích hoạt Window Loaded và sử dụng biến JavaScript tùy chỉnh trong đó. Nếu có trình phát Vimeo, trình kích hoạt này sẽ được kích hoạt. Nếu không có trình phát Vimeo, trình kích hoạt đó sẽ ở chế độ im lặng.
Trình nghe sự kiện tự động Vimeo
Bây giờ đến lượt Vimeo Listener. Trình nghe là một chức năng (hoặc một loạt chức năng) được xây dựng để tiếp tục tìm kiếm các tương tác nhất định trên một trang. Trong trường hợp này, người nghe sẽ tìm kiếm sự tương tác của người chơi Vimeo. Nếu phát hiện ra một dữ liệu, nó sẽ hiển thị dữ liệu đó ở chế độ Xem trước và Gỡ lỗi.
Tạo thẻ HTML tùy chỉnh và dán đoạn mã sau. Mã ban đầu được tạo bởi Bounteous, nhưng để thuận tiện hơn cho GA4, tôi đã sửa đổi mã một chút.
<script type=”text/javascript” id=”gtm-vimeo-tracking”> ;(function(document, window, config) { ‘use strict’; // The API won’t work on LT IE9, so we bail if we detect those UAs if (navigator.userAgent.match(/MSIE [678]\./gi)) return; config = cleanConfig(config); var handle = getHandler(config.syntax); if (document.readyState !== ‘loading’) { init(); } else { document.addEventListener(‘DOMContentLoaded’, function() { init(); document.addEventListener(‘load’, init, true); }); } function init() { var videos = filter_(selectAllTags_(‘iframe’), isVimeo); if (!videos.length) return; loadApi(function() { forEach_(videos, listenTo); }); } function isVimeo(el) { return el.src.indexOf(‘player.vimeo.com/video/’) > -1; } function loadApi(callback) { if (isUndefined_(window.Vimeo)) { loadScript(‘https://player.vimeo.com/api/player.js’, callback); } else { callback(); } } function listenTo(el) { if (el.__vimeoTracked) return; el.__vimeoTracked = true; var video = new Vimeo.Player(el); var percentages = config._track.percentages; var eventNameDict = { ‘play’: ‘play’, ‘pause’: ‘pause’, ‘complete’: ‘ended’ }; var cache = {}; video.getVideoTitle() .then(function(title) { forEach_([‘play’, ‘pause’, ‘complete’], function(key) { if (config.events[key]) { video.on(eventNameDict[key], function() { handle(key, title); }); } }); if (percentages) { video.on(‘timeupdate’, function(evt) { var percentage = evt.percent; var key; for (key in percentages) { if (percentage >= percentages[key] && !cache[key]) { cache[key] = true; handle(key, title); } } }); } }); } function cleanConfig(config) { config = extend_({}, { events: { ‘play’: true, ‘pause’: true, ‘complete’: true }, percentages: { each: [], every: [] } }, config); forEach_([‘each’, ‘every’], function(setting) { var vals = config.percentages[setting]; if (!isArray_(vals)) vals = [vals]; if (vals) config.percentages[setting] = map_(vals, Number); }); var points = [].concat(config.percentages.each); if (config.percentages.every) { forEach_(config.percentages.every, function(val) { var n = 100 / val; var every = []; var i; for (i = 1; i < n; i++) every.push(val * i); points = points.concat(filter_(every, function(val) { return val > 0.0 && val < 100.0; })); }); } var percentages = reduce_(points, function(prev, curr) { prev[curr + ‘%’] = curr / 100.0; return prev; }, {}); config._track = { percentages: percentages }; return config; } function getHandler(syntax) { syntax = syntax || {}; var gtmGlobal = syntax.name || ‘dataLayer’; var uaGlobal = syntax.name || window.GoogleAnalyticsObject || ‘ga’; var clGlobal = ‘_gaq’; var dataLayer; var handlers = { ‘gtm’: function(state, title) { if (state.indexOf(‘%’) === -1 && state.indexOf(‘play’) === -1) { dataLayer.push({ event: ‘video’, video_provider: ‘vimeo’, video_action: state, video_title: title.toLowerCase(), video_percent: undefined }); } else if (state === ‘0%’){ dataLayer.push({ event: ‘video’, video_provider: ‘vimeo’, video_action: ‘start’, video_title: title.toLowerCase(), video_percent: undefined }); } else if (state.indexOf(‘play’) === -1) { dataLayer.push({ event: ‘video’, video_provider: ‘vimeo’, video_action: ‘progress’, video_percent: state, video_title: title.toLowerCase() }); } }, ‘cl’: function(state, title) { window[clGlobal].push([‘_trackEvent’, ‘Videos’, state, title]); }, ‘ua’: function(state, title) { window[uaGlobal](‘send’, ‘event’, ‘Videos’, state, title); } }; switch(syntax.type) { case ‘gtm’: dataLayer = window[gtmGlobal] = window[gtmGlobal] || []; break; case ‘ua’: window[uaGlobal] = window[uaGlobal] || function() { (window[uaGlobal].q = window[uaGlobal].q || []).push(arguments); }; window[uaGlobal].l = +new Date(); break; case ‘cl’: window[clGlobal] = window[clGlobal] || []; break; default: if (!isUndefined_(window[gtmGlobal])) { syntax.type = ‘gtm’; dataLayer = window[gtmGlobal] = window[gtmGlobal] || []; } else if (uaGlobal&& !isUndefined_(window[uaGlobal])) { syntax.type = ‘ua’; } else if (!isUndefined_(window[clGlobal]) && !isUndefined_(window[clGlobal].push)) { syntax.type = ‘cl’; } break; } return handlers[syntax.type]; } function extend_() { var args = [].slice.call(arguments); var dst = args.shift(); var src; var key; var i; for (i = 0; i < args.length; i++) { src = args[i]; for (key in src) { dst[key] = src[key]; } } return dst; } function isArray_(o) { if (Array.isArray_) return Array.isArray_(o); return Object.prototype.toString.call(o) === ‘[object Array]’; } function forEach_(arr, fn) { if (Array.prototype.forEach_) return arr.forEach.call(arr, fn); var i; for (i = 0; i < arr.length; i++) { fn.call(window, arr[i], i, arr); } } function map_(arr, fn) { if (Array.prototype.map_) return arr.map.call(arr, fn); var newArr = []; forEach_(arr, function(el, ind, arr) { newArr.push(fn.call(window, el, ind, arr)); }); return newArr; } function filter_(arr, fn) { if (Array.prototype.filter) return arr.filter.call(arr, fn); var newArr = []; forEach_(arr, function(el, ind, arr) { if (fn.call(window, el, ind, arr)) newArr.push(el); }); return newArr; } function reduce_(arr, fn, init) { if (Array.prototype.reduce) return arr.reduce.call(arr, fn, init); var result = init; var el; var i; for (i = 0; i < arr.length; i++) { el = arr[i]; result = fn.call(window, result, el, arr, i); } return result; } function isUndefined_(thing) { return typeof thing === ‘undefined’; } function selectAllTags_(tags) { if (!isArray_(tags)) tags = [tags]; return [].slice.call(document.querySelectorAll(tags.join())); } function loadScript(src, callback) { var f, s; f = document.getElementsByTagName(‘script’)[0]; s = document.createElement(‘script’); s.onload = callCallback; s.src = src; s.async = true; f.parentNode.insertBefore(s, f); function callCallback() { if (callback) { callback(); s.onload = null; } } } })(document, window, { ‘events’: { ‘play’: true, ‘pause’: false, ‘complete’: true }, ‘percentages’: { ‘every’: 25, ‘each’: [0, 90] } }); /* * v1.0.1 * Created by the Google Analytics consultants at http://www.lunametrics.com * Written by @notdanwilkerson * Documentation: https://github.com/lunametrics/vimeo-google-analytics/ * Licensed under the MIT License * Modified by Julius Fedorovicius at https://www.analyticsmania.com */ </script>
Đừng quên gắn “Trình kích hoạt Window Loaded” đã tạo trước đó:
Hãy xem những gì chúng tôi đã tạo ra cho đến nay:
- Trình kích hoạt tải cửa sổ để kiểm tra xem trình phát video Vimeo có được nhúng vào trang web hay không (nhờ biến JavaScript tùy chỉnh).
- Trình xử lý sự kiện tự động Vimeo (dưới dạng thẻ HTML tùy chỉnh) chỉ kích hoạt khi Trình kích hoạt tải cửa sổ nói trên kích hoạt. Mỗi khi xảy ra tương tác với người chơi Vimeo, người nghe sẽ gửi một sự kiện Data Layer với dữ liệu sau:
- Tên sự kiện: video (giá trị này không bao giờ thay đổi)
- video_action (bắt đầu hoặc tiến triển, hoàn thành)
- video_percent
- video_title
Như bạn có thể thấy, có ít dữ liệu hơn (so với trình kích hoạt Youtube), nhưng điều đó vẫn khá hữu ích.
Nếu bạn muốn kiểm tra điều này ngay bây giờ, hãy bật chế độ Xem trước và Gỡ lỗi, làm mới trang bằng trình phát Vimeo và thử tương tác với nó. Bạn sẽ bắt đầu thấy các sự kiện video ở phía bên trái của chế độ Xem trước.
Nhân tiện, trình nghe Vimeo theo dõi các ngưỡng video sau: 25%, 50%, 75%, 90%. Cuối cùng cũng có một sự kiện “hoàn chỉnh”.
Tạo biến lớp dữ liệu và trình kích hoạt sự kiện tùy chỉnh
Nếu bạn muốn chuyển một số thông tin từ lớp dữ liệu sang các công cụ khác (ví dụ: Google Analytics) bằng Google tag Manager, bạn cần “dạy” GTM tìm nạp thông tin đó (với sự trợ giúp của Biến Data Layer).
Đây là ảnh chụp màn hình của biến video_action.
Thực hiện tương tự với video_percent và video_title.
Sau khi các biến đã được định cấu hình, đã đến lúc tạo Trình kích hoạt sự kiện tùy chỉnh. Trình xử lý sự kiện tự động Vimeo gửi tất cả các hoạt động tương tác dưới dạng sự kiện Data Layer trong “video”.
dataLayer.push({ event: “video”, ……. });
Vì vậy, điều tiếp theo bạn nên làm là tạo Trình kích hoạt sự kiện tùy chỉnh để xử lý TẤT CẢ các sự kiện video. Sau đó, nó sẽ được gán cho Thẻ Google Analytics.
Trong GTM, đi tới Trình kích hoạt > Mới > Sự kiện tùy chỉnh và nhập các cài đặt sau:
Tạo Thẻ sự kiện Google Analytics 4
Cuối cùng nhưng không kém phần quan trọng, Google Analytics. Bây giờ bạn cần gửi một sự kiện và chuyển dữ liệu tương ứng. Tạo một thẻ mới, chọn Google Analytics > thẻ sự kiện GA4 làm Loại thẻ và nhập cấu hình sau:
Nguyên tắc ở đây khá giống với những gì tôi đã làm với tính năng theo dõi video YouTube ở trước.
- Giá trị của trường tên sự kiện sẽ là video_play, video_pause hoặc video_progress. Điều đó có thể thực hiện được nhờ biến Data Layer mà tôi đã chèn vào trường đó.
- Vì chúng tôi có các thông số video_title, video_url và video_percent trong lớp dữ liệu (và chúng tôi đã tạo các biến cho chúng) nên tôi cũng đã chèn chúng vào thẻ.
Kiểm tra, kiểm tra, kiểm tra
Đừng quên kiểm tra toàn bộ cấu hình này. Bật chế độ Xem trước và gỡ lỗi GTM, truy cập trang có trình phát Vimeo được nhúng và nhấp vào Phát. Điều tiếp theo bạn sẽ thấy là một sự kiện video trong luồng sự kiện của chế độ Xem trước và Gỡ lỗi. Hãy nhấp vào đó và xem thẻ sự kiện GA4 đã kích hoạt chưa.
Nếu có, hãy truy cập Google Analytics 4 DebugView để kiểm tra xem bạn có thấy các sự kiện sắp diễn ra hay không.
Sau một thời gian, dữ liệu sự kiện của bạn cũng sẽ xuất hiện trong báo cáo Google Analytics chuẩn và Trung tâm phân tích. Nhưng việc đó có thể mất tới 24 giờ. Vì vậy hãy kiên nhẫn.
Ngoài ra, đừng quên đăng ký các tham số dưới dạng video_percent dưới dạng thứ nguyên tùy chỉnh
Tóm tắt toàn bộ quá trình
- Chúng tôi đã tạo một biến JS tùy chỉnh trả về true nếu trình phát Vimeo được nhúng trên một trang.
- Sau đó, chúng tôi đã tạo Trình kích hoạt tải cửa sổ để kiểm tra xem trình phát video Vimeo có được nhúng vào trang web hay không (nhờ biến JavaScript tùy chỉnh)
- Sau đó, chúng tôi đã tạo thẻ HTML tùy chỉnh (Trình xử lý sự kiện tự động Vimeo). Và nó sẽ kích hoạt trên tất cả các trang có nhúng trình phát Vimeo. Quan trọng: ngay cả khi bạn chưa tương tác với người chơi, thẻ đó vẫn sẽ kích hoạt.
- Mỗi khi xảy ra tương tác với người chơi Vimeo, người nghe sẽ gửi một sự kiện Lớp dữ liệu với dữ liệu sau:
- Tên sự kiện: video (giá trị này không bao giờ thay đổi)
- video_action (bắt đầu, tiến triển hoặc hoàn thành)
- video_percent
- video_title
- Bạn đã tạo 4 Biến Data Layer và một Trình kích hoạt sự kiện tùy chỉnh (cho sự kiện video).
- Cuối cùng, bạn đã tạo một thẻ sự kiện GA4 kích hoạt sự kiện video và sẽ gửi giá trị của 4 Biến lớp dữ liệu đó tới Google Analytics.
Theo dõi trình phát video HTML5 bằng GA4
Như đã đề cập, các trình phát video khác nhau yêu những người nghe sự kiện tự động khác nhau nếu bạn muốn theo dõi mức độ tương tác của họ. Nhưng nhìn chung, nguyên tắc thực hiện khá giống với những gì chúng tôi đã làm với trình phát Vimeo.
- Tạo biến JavaScript tùy chỉnh để kiểm tra xem trình phát video có xuất hiện trên một trang hay không.
- Bạn thêm thẻ HTML tùy chỉnh (với mã người nghe). Người nghe đó sẽ tìm kiếm các tương tác video của một loại trình phát video cụ thể. Chỉ kích hoạt thẻ này nếu biến JavaScript tùy chỉnh trả về true (điều này có nghĩa là trình phát hiện thị trên một trang).
- Sau đó, trình nghe đó sẽ đẩy dữ liệu tương tác video lên Data Layer.
- Bạn sẽ cần tạo các biến Lớp dữ liệu để truy cập vào dữ liệu tùy chỉnh đó.
- Bạn cũng sẽ cần tạo trình kích hoạt sự kiện tùy chỉnh.
- Cuối cùng, bạn sẽ cần tạo một thẻ sự kiện GA4 để kích hoạt thẻ dataLayer.push đó và bạn sẽ cần gửi dữ liệu tương tác video tới GA.
Ví dụ: bạn có thể xem một loại trình phát video phổ biến khác, video HTML5 chung.
Kết luận
Có nhiều cách bạn có thể theo dõi hành động video với GA4 và Google Tag Manager. Nhưng những cách/phương pháp đó phụ thuộc vào loại người chơi mà bạn đang đối phó. Trước tiên, bạn cần điều tra trình phát (và nhà cung cấp của nó), sau đó bạn cần tìm phương pháp theo dõi phù hợp cho trình phát đó.
Trong viết này, tôi đã chia sẻ giải pháp cho 3 người chơi (YouTube, Vimeo, HTML5). Nếu bạn đang giao dịch với một số người chơi khác, hãy tìm ra tên của người chơi đó. Sau khi bạn làm điều đó, hãy thực hiện Tìm kiếm trên Google và tiếp tục tìm kiếm những thứ như “[chèn tên trình phát video] theo dõi bằng trình quản lý thẻ của Google”. Rất có thể bạn sẽ may mắn và tìm được giải pháp cần thiết.