{"id":28133,"date":"2022-05-04T07:01:29","date_gmt":"2022-05-04T07:01:29","guid":{"rendered":"http:\/\/add-google-analytics-to-a-cloudinary-video"},"modified":"2022-05-04T07:01:29","modified_gmt":"2022-05-04T07:01:29","slug":"add-google-analytics-to-a-cloudinary-video","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/","title":{"rendered":"Add Google Analytics to Your Cloudinary Video"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>Google Analytics is a free tracking tool provided by Google that shows how visitors interact with your website. This post will discuss how to track user engagements and events on a specific section or a component in our website using a Cloudinary video player. We will also learn more about google analytics and how to use it to track user activities.<\/p>\n<p>Here is a link to the demo CodeSandbox.<\/p>\n<\/div>\n  \n  <div class=\"wp-block-cloudinary-code-sandbox \">\n    <iframe\n      src=\"https:\/\/codesandbox.io\/embed\/add-google-analytics-to-a-cloudinary-video-q31smn?theme=dark&amp;codemirror=1&amp;highlights=&amp;editorsize=50&amp;fontsize=14&amp;expanddevtools=0&amp;hidedevtools=0&amp;eslint=0&amp;forcerefresh=0&amp;hidenavigation=0&amp;initialpath=%2F&amp;module=&amp;moduleview=0&amp;previewwindow=&amp;view=&amp;runonclick=1\"\n      height=\"500\"\n      style=\"width: 100%;\"\n      title=\"add-google-analytics-to-a-cloudinary-video-q31smn\"\n      loading=\"lazy\"\n      allow=\"accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking\"\n      sandbox=\"allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts\"\n    ><\/iframe>\n  <\/div>\n\n  <div class=\"wp-block-cloudinary-markdown \"><h2>Prerequisites<\/h2>\n<p>First, sign up for a <a href=\"https:\/\/cloudinary.com\/users\/register\/free\">free Cloudinary account<\/a> if you don\u2019t have one already and <a href=\"https:\/\/cloudinary.com\/documentation\/dam_upload_store_assets#upload_from_the_file_system\">upload a video<\/a> to your account. Displayed on your account\u2019s Management Console (aka Dashboard) are important details: your cloud name, API key, etc.<\/p>\n<h2>Project Setup<\/h2>\n<p>Run this command in your terminal to create a React app in a folder called <code>video-analytics<\/code>:<\/p>\n<pre class=\"js-syntax-highlighted\"><span><code class=\"hljs shcb-wrap-lines\">    npx create-react-app video-analytics\n<\/code><\/span><\/pre>\n<p>Next, run this command to install the dependencies we need for this project:<\/p>\n<pre class=\"js-syntax-highlighted\"><span><code class=\"hljs shcb-wrap-lines\">    npm install cloudinary-core cloudinary-video-player\n<\/code><\/span><\/pre>\n<h2>Video Player Component<\/h2>\n<p>In your <code>src<\/code> directory, create a folder called <code>components<\/code>, then create a file called <code>videoPlayer.js<\/code> inside the <code>components<\/code> folder and add the following to it:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">import<\/span> { Cloudinary } <span class=\"hljs-keyword\">from<\/span> <span class=\"hljs-string\">\"cloudinary-core\"<\/span>;\n<span class=\"hljs-keyword\">import<\/span> <span class=\"hljs-string\">\"cloudinary-video-player\"<\/span>;\n<span class=\"hljs-keyword\">const<\/span> cld = <span class=\"hljs-keyword\">new<\/span> Cloudinary({ <span class=\"hljs-attr\">cloud_name<\/span>: <span class=\"hljs-string\">\"ifeomaimoh\"<\/span>, <span class=\"hljs-attr\">secure<\/span>: <span class=\"hljs-literal\">true<\/span> });\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">MyPlayer<\/span>(<span class=\"hljs-params\"><\/span>) <\/span>{\n  <span class=\"hljs-keyword\">const<\/span> myVid = cld.videoPlayer(<span class=\"hljs-string\">\"player\"<\/span>, {\n    <span class=\"hljs-attr\">bigPlatButton<\/span>: <span class=\"hljs-string\">\"true\"<\/span>,\n    <span class=\"hljs-attr\">controls<\/span>: <span class=\"hljs-string\">\"true\"<\/span>,\n  });\n  myVid.source(<span class=\"hljs-string\">\"production_ID_3741671_nknpda\"<\/span>);\n  <span class=\"hljs-keyword\">return<\/span>;\n}\n<span class=\"hljs-keyword\">export<\/span> <span class=\"hljs-keyword\">default<\/span> MyPlayer;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>In the code above, we created an instance of Cloudinary and passed our cloud name. We also created an instance of a video player using the <code>videoPlayer<\/code> method, and it returns a player object. The method accepts an <code>id<\/code> (id of the video element), which tells Cloudinary where to embed the video player. It also accepts some configurations. Next, we call the <code>source<\/code> method and pass the public id of a video uploaded to Cloudinary as an argument.<\/p>\n<p>Next, let\u2019s use the <code>MyPlayer<\/code> component in our <code>App.js<\/code> file.<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">import<\/span> <span class=\"hljs-string\">\".\/App.css\"<\/span>;\n<span class=\"hljs-keyword\">import<\/span> { useEffect } <span class=\"hljs-keyword\">from<\/span> <span class=\"hljs-string\">\"react\"<\/span>;\n<span class=\"hljs-keyword\">import<\/span> <span class=\"hljs-string\">\"cloudinary-video-player\/dist\/cld-video-player.min.css\"<\/span>;\n<span class=\"hljs-keyword\">import<\/span> MyPlayer <span class=\"hljs-keyword\">from<\/span> <span class=\"hljs-string\">\".\/Components\/VideoPlayer\"<\/span>;\n<span class=\"hljs-keyword\">export<\/span> <span class=\"hljs-keyword\">default<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">App<\/span>(<span class=\"hljs-params\"><\/span>) <\/span>{\n  useEffect(<span class=\"hljs-function\"><span class=\"hljs-params\">()<\/span> =&gt;<\/span> {\n    MyPlayer();\n  }, &#91;]);\n  <span class=\"hljs-keyword\">return<\/span> (\n    <span class=\"xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">className<\/span>=<span class=\"hljs-string\">\"App\"<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h2<\/span>&gt;<\/span>Tracking user activities on a cloudinary video<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">h2<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">className<\/span>=<span class=\"hljs-string\">\"vid-container\"<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">video<\/span>\n          <span class=\"hljs-attr\">controls<\/span>\n          <span class=\"hljs-attr\">muted<\/span>\n          <span class=\"hljs-attr\">className<\/span>=<span class=\"hljs-string\">\"cld-video-player cld-fluid\"<\/span>\n          <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"player\"<\/span>\n        \/&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span><\/span>\n  );\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>We imported our <code>MyPlayer<\/code> component and called it inside a <code>useEffect<\/code> hook. We then embedded the video player by adding an HTML <code>video<\/code> element and passed the id referenced in the <code>videoPlayer<\/code> method.<\/p>\n<p>If we go over to the browser, we would see a functional video player.<\/p>\n<h2>Setting up Google Analytics<\/h2>\n<p>We need to host our project and get a URL that will be used to set up the data stream. See <a href=\"https:\/\/www.netlify.com\/blog\/2016\/09\/29\/a-step-by-step-guide-deploying-on-netlify\/\">here<\/a> for how to deploy your site on <a href=\"https:\/\/www.netlify.com\/\">Netlify<\/a>.<\/p>\n<p>Now, create a free account <a href=\"https:\/\/analytics.google.com\/analytics\/web\/\">here<\/a>. After creating the account:<\/p>\n<ul>\n<li>\n<p>Click on the <strong>Start measuring<\/strong> button.<\/p>\n<\/li>\n<li>\n<p>Add an account name, and click the <strong>Next<\/strong> button.\n<img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/c_limit,w_2000\/f_auto\/q_auto\/media_jams\/s_D6177283192607AB5BB8CC001292A616EF0346B8A3E57DC1732B3A225208EC6E_1649069860242_CleanShot+2022-04-04+at+14.57.092x.png\" alt=\"\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"2000\" height=\"1105\"\/><\/p>\n<\/li>\n<li>\n<p>Add a property name and click the <strong>show advanced options<\/strong> link**.**\n<img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/c_limit,w_2000\/f_auto\/q_auto\/media_jams\/s_D6177283192607AB5BB8CC001292A616EF0346B8A3E57DC1732B3A225208EC6E_1649069972318_CleanShot+2022-04-04+at+14.58.102x.png\" alt=\"\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"2000\" height=\"1105\"\/><\/p>\n<\/li>\n<li>\n<p>Enable the toggle button for the <strong>Create a Universal Analytics property<\/strong> and provide the URL for your deployed project.<\/p>\n<\/li>\n<li>\n<p>Check your related business information from the list provided and click the <strong>Create<\/strong> button.\n<img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/c_limit,w_2000\/f_auto\/q_auto\/media_jams\/s_D6177283192607AB5BB8CC001292A616EF0346B8A3E57DC1732B3A225208EC6E_1649070131430_CleanShot+2022-04-04+at+15.01.452x.png\" alt=\"\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"2000\" height=\"1009\"\/><\/p>\n<\/li>\n<\/ul>\n<h2>Add Google Analytics<\/h2>\n<p>First, let\u2019s specify the events we want to monitor, including additional sub-settings, like <code>timesplayed<\/code> and <code>percentsplayed<\/code> in the videoPlayer function.<\/p>\n<p>Update your <code>VideoPlayer.js<\/code> file with the following:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">import<\/span> { Cloudinary } <span class=\"hljs-keyword\">from<\/span> <span class=\"hljs-string\">\"cloudinary-core\"<\/span>;\n<span class=\"hljs-keyword\">import<\/span> <span class=\"hljs-string\">\"cloudinary-video-player\"<\/span>;\n<span class=\"hljs-keyword\">const<\/span> cld = <span class=\"hljs-keyword\">new<\/span> Cloudinary({ <span class=\"hljs-attr\">cloud_name<\/span>: <span class=\"hljs-string\">\"ifeomaimoh\"<\/span>, <span class=\"hljs-attr\">secure<\/span>: <span class=\"hljs-literal\">true<\/span> });\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> <span class=\"hljs-title\">MyPlayer<\/span>(<span class=\"hljs-params\"><\/span>) <\/span>{\n  <span class=\"hljs-keyword\">const<\/span> player = cld.videoPlayer(<span class=\"hljs-string\">\"player\"<\/span>, {\n    <span class=\"hljs-attr\">bigPlatButton<\/span>: <span class=\"hljs-string\">\"true\"<\/span>,\n    <span class=\"hljs-attr\">controls<\/span>: <span class=\"hljs-string\">\"true\"<\/span>,\n    <span class=\"hljs-attr\">analytics<\/span>: {\n      <span class=\"hljs-attr\">events<\/span>: &#91;<span class=\"hljs-string\">\"play\"<\/span>, <span class=\"hljs-string\">\"pause\"<\/span>, <span class=\"hljs-string\">\"ended\"<\/span>, <span class=\"hljs-string\">\"error\"<\/span>],\n    },\n  });\n  player.source(<span class=\"hljs-string\">\"8ba64b04-f0e6-43af-a6a0-d7815646332b_jdh3ty\"<\/span>);\n  <span class=\"hljs-keyword\">return<\/span>;\n}\n<span class=\"hljs-keyword\">export<\/span> <span class=\"hljs-keyword\">default<\/span> MyPlayer;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>In the code above, we added the <code>analytics<\/code> prop with an array of events.<\/p>\n<p>Now we need to include the google analytics tracking snippets with our tracking ID in the head tag of our <code>index.html<\/code> file. Let\u2019s get the tracking ID from our google analytics dashboard. Click on the <strong>Admin<\/strong> link on your dashboard, click on <strong>Property Settin<\/strong>g and copy the tracking Id.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/c_limit,w_2000\/f_auto\/q_auto\/media_jams\/s_D6177283192607AB5BB8CC001292A616EF0346B8A3E57DC1732B3A225208EC6E_1649071897981_CleanShot+2022-04-04+at+15.29.522x.png\" alt=\"\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"2000\" height=\"1050\"\/><\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-wrap-lines\"><span class=\"hljs-meta\">&lt;!DOCTYPE <span class=\"hljs-meta-keyword\">html<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">html<\/span> <span class=\"hljs-attr\">lang<\/span>=<span class=\"hljs-string\">\"en\"<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">head<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">meta<\/span> <span class=\"hljs-attr\">charset<\/span>=<span class=\"hljs-string\">\"utf-8\"<\/span> \/&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">meta<\/span> <span class=\"hljs-attr\">name<\/span>=<span class=\"hljs-string\">\"viewport\"<\/span> <span class=\"hljs-attr\">content<\/span>=<span class=\"hljs-string\">\"width=device-width, initial-scale=1\"<\/span> \/&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">meta<\/span> <span class=\"hljs-attr\">name<\/span>=<span class=\"hljs-string\">\"theme-color\"<\/span> <span class=\"hljs-attr\">content<\/span>=<span class=\"hljs-string\">\"#000000\"<\/span> \/&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">meta<\/span>\n      <span class=\"hljs-attr\">name<\/span>=<span class=\"hljs-string\">\"description\"<\/span>\n      <span class=\"hljs-attr\">content<\/span>=<span class=\"hljs-string\">\"Web site created using create-react-app\"<\/span>\n    \/&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span>&gt;<\/span><span class=\"javascript\">\n      (<span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> (<span class=\"hljs-params\">i, s, o, g, r, a, m<\/span>) <\/span>{\n        i&#91;<span class=\"hljs-string\">\"GoogleAnalyticsObject\"<\/span>] = r;\n        (i&#91;r] =\n          i&#91;r] ||\n          <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> (<span class=\"hljs-params\"><\/span>) <\/span>{\n            (i&#91;r].q = i&#91;r].q || &#91;]).push(<span class=\"hljs-built_in\">arguments<\/span>);\n          }),\n          (i&#91;r].l = <span class=\"hljs-number\">1<\/span> * <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-built_in\">Date<\/span>());\n        (a = s.createElement(o)), (m = s.getElementsByTagName(o)&#91;<span class=\"hljs-number\">0<\/span>]);\n        a.async = <span class=\"hljs-number\">1<\/span>;\n        a.src = g;\n        m.parentNode.insertBefore(a, m);\n      })(\n        <span class=\"hljs-built_in\">window<\/span>,\n        <span class=\"hljs-built_in\">document<\/span>,\n        <span class=\"hljs-string\">\"script\"<\/span>,\n        <span class=\"hljs-string\">\"https:\/\/www.google-analytics.com\/analytics.js\"<\/span>,\n        <span class=\"hljs-string\">\"ga\"<\/span>\n      );\n\n      <span class=\"hljs-comment\">\/\/ Add your tracking ID here.<\/span>\n      ga(<span class=\"hljs-string\">\"create\"<\/span>, <span class=\"hljs-string\">\"UA-224784778-1\"<\/span>, <span class=\"hljs-string\">\"auto\"<\/span>);\n      ga(<span class=\"hljs-string\">\"send\"<\/span>, <span class=\"hljs-string\">\"pageview\"<\/span>);\n    <\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">title<\/span>&gt;<\/span>React App<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">title<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">head<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">body<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">noscript<\/span>&gt;<\/span>You need to enable JavaScript to run this app.<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">noscript<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"root\"<\/span>&gt;<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">body<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">html<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>With this, we\u2019ve successfully added google analytics to our project. We can now watch and monitor user engagements and events in our project from our google analytics dashboard.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/c_limit,w_2000\/f_auto\/q_auto\/media_jams\/s_D6177283192607AB5BB8CC001292A616EF0346B8A3E57DC1732B3A225208EC6E_1649076639574_CleanShot+2022-04-04+at+16.50.002x.png\" alt=\"\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"2000\" height=\"561\"\/><\/p>\n<p>We can see active users from the real-time report.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/c_limit,w_2000\/f_auto\/q_auto\/media_jams\/s_D6177283192607AB5BB8CC001292A616EF0346B8A3E57DC1732B3A225208EC6E_1649076889943_CleanShot+2022-04-04+at+16.53.412x.png\" alt=\"\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"2000\" height=\"1034\"\/><\/p>\n<p>In the real-time event, we can see that our user-triggered different events; the <strong>Event Category<\/strong> is <strong>Video<\/strong>, and the actions are <strong>play<\/strong> and <strong>Pause<\/strong>.<\/p>\n<p>Find the project <a href=\"https:\/\/github.com\/ifeoma-imoh\/cloudinary-video-analytics\">here<\/a> on GitHub.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this article, we learned how to add google analytics to our application to provide valuable insights about our website\u2019s visitors, like track critical data about how and when customers watch our videos.<\/p>\n<p><strong>Resources you may find helpful<\/strong>:<\/p>\n<ul>\n<li>\n<a href=\"https:\/\/cloudinary.com\/documentation\/video_player_how_to_embed\">Embed Cloudinary video player<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/analyticsjs\/\">Adding the Google analytic tag to your site<\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/documentation\/video_player_events_analytics\">Cloudinary Video Player Events and Analytics<\/a>\n<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":28134,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[134,246,371,303],"class_list":["post-28133","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-guest-post","tag-react","tag-under-review","tag-video"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Add Google Analytics to Your Cloudinary Video<\/title>\n<meta name=\"description\" content=\"In this article, we&#039;ll see how to add google analytics to our application to provide valuable insights about our website&#039;s visitors, like track critical data about how and when customers watch our videos.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Add Google Analytics to Your Cloudinary Video\" \/>\n<meta property=\"og:description\" content=\"In this article, we&#039;ll see how to add google analytics to our application to provide valuable insights about our website&#039;s visitors, like track critical data about how and when customers watch our videos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-05-04T07:01:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Add Google Analytics to Your Cloudinary Video\",\"datePublished\":\"2022-05-04T07:01:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA\",\"keywords\":[\"Guest Post\",\"React\",\"Under Review\",\"Video\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2022\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/\",\"url\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/\",\"name\":\"Add Google Analytics to Your Cloudinary Video\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA\",\"datePublished\":\"2022-05-04T07:01:29+00:00\",\"description\":\"In this article, we'll see how to add google analytics to our application to provide valuable insights about our website's visitors, like track critical data about how and when customers watch our videos.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add Google Analytics to Your Cloudinary Video\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Add Google Analytics to Your Cloudinary Video","description":"In this article, we'll see how to add google analytics to our application to provide valuable insights about our website's visitors, like track critical data about how and when customers watch our videos.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/","og_locale":"en_US","og_type":"article","og_title":"Add Google Analytics to Your Cloudinary Video","og_description":"In this article, we'll see how to add google analytics to our application to provide valuable insights about our website's visitors, like track critical data about how and when customers watch our videos.","og_url":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/","og_site_name":"Cloudinary Blog","article_published_time":"2022-05-04T07:01:29+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/"},"author":{"name":"","@id":""},"headline":"Add Google Analytics to Your Cloudinary Video","datePublished":"2022-05-04T07:01:29+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/"},"wordCount":7,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA","keywords":["Guest Post","React","Under Review","Video"],"inLanguage":"en-US","copyrightYear":"2022","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/","url":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/","name":"Add Google Analytics to Your Cloudinary Video","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA","datePublished":"2022-05-04T07:01:29+00:00","description":"In this article, we'll see how to add google analytics to our application to provide valuable insights about our website's visitors, like track critical data about how and when customers watch our videos.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/guest_post\/add-google-analytics-to-a-cloudinary-video\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Add Google Analytics to Your Cloudinary Video"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1681925324\/Web_Assets\/blog\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f\/75cd813a3e647469f911d7fa8ab224f10093c100-1280x720-1_281343423f.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/28133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=28133"}],"version-history":[{"count":0,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/28133\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/28134"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=28133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=28133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=28133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}