{"id":123009,"date":"2025-03-09T22:33:41","date_gmt":"2025-03-09T22:33:41","guid":{"rendered":"https:\/\/peraltafinancing.com\/analytics\/mixcloud-player-tracking-in-google-tag-manager\/"},"modified":"2025-03-09T22:33:41","modified_gmt":"2025-03-09T22:33:41","slug":"mixcloud-player-tracking-in-google-tag-manager","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=123009","title":{"rendered":"Mixcloud Player Tracking In Google Tag Manager"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<p>A couple of years ago I wrote <a href=\"https:\/\/www.simoahava.com\/analytics\/google-tag-manager-soundcloud-integration\/\">an article<\/a> on tracking interactions with the <a href=\"https:\/\/soundcloud.com\/\">SoundCloud<\/a> widget via <a href=\"https:\/\/tagmanager.google.com\/\">Google Tag Manager<\/a>. When a platform provides a JavaScript embed API, it\u2019s surprisingly easy to track interactions with the player. You\u2019ve seen this with <a href=\"https:\/\/www.bounteous.com\/insights\/2015\/05\/11\/updated-youtube-tracking-google-analytics-gtm\/\">YouTube<\/a>, with SoundCloud, with <a href=\"https:\/\/www.thyngster.com\/jwplayer-video-tracking-using-google-tag-manager\/\">JWPlayer<\/a>, and now you\u2019ll see how to do this with the <a href=\"https:\/\/www.mixcloud.com\/\">Mixcloud<\/a> player.<\/p>\n<div style=\"aspect-ratio: 2572 \/ 328;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2017\/02\/mixcloud.jpg\" title=\"Mixcloud player\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"328\" width=\"2572\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2017\/02\/mixcloud.jpg#ZgotmplZ\" alt=\"Mixcloud player\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>If you don\u2019t know what Mixcloud is, well it\u2019s a hugely popular streaming service for DJs, podcasts, radio shows, and other published radio media. Since they offer a <a href=\"http:\/\/support.mixcloud.com\/customer\/portal\/articles\/1672993-wordpress-how-to-embed-a-mixcloud-widget-into-wordpress\">handy embed solution<\/a> for any show you like, it makes sense to start tracking if people are actually using the widget, right?<\/p>\n<p>                <span class=\"simmer\"><br \/>\n  <span class=\"close\">X<\/span><\/p>\n<p>\n    <span class=\"fa fa-md fa-bell\"\/><br \/>\n    <strong>The Simmer Newsletter<\/strong>\n  <\/p>\n<p>\n    Subscribe to the <a href=\"https:\/\/www.simoahava.com\/newsletter\/\">Simmer newsletter<\/a> to get the latest news and content from Simo Ahava into your email inbox!\n  <\/p>\n<p>  <\/span><\/p>\n<h2 id=\"how-to-set-it-up\">How to set it up<\/h2>\n<p>First, you need to add the player widget to your site. To do this, select the show you want to embed, and click the <strong>Share button<\/strong>.<\/p>\n<p>An overlay should open with both a <strong>Share<\/strong> and an <strong>Embed<\/strong> option. Choose the latter.<\/p>\n<p>Setup the player visuals however you wish. Once you\u2019re done, <strong>uncheck the box next to WordPress<\/strong>, after which the text box should contain an <code>iframe<\/code> embed tag.<\/p>\n<div style=\"aspect-ratio: 2202 \/ 1232;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2017\/02\/embed.jpg\" title=\"Embed instructions\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"1232\" width=\"2202\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2017\/02\/embed.jpg#ZgotmplZ\" alt=\"Embed instructions\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>This <code>iframe<\/code> tag is what you need to add to your website. It\u2019s important that you use the exact format provided, so that the JavaScript API works without any problems.<\/p>\n<p>One thing you\u2019ll want to add to the tag, however, is a unique <strong>ID<\/strong> attribute. This makes it MUCH easier to target the correct player. So, if the <code>iframe<\/code> looks like this:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-html\" data-lang=\"html\">iframe <span style=\"color:#1e90ff\">width<\/span>=<span style=\"color:#a50\">\"100%\"<\/span> <span style=\"color:#1e90ff\">height<\/span>=<span style=\"color:#a50\">\"60\"<\/span> <span style=\"color:#1e90ff\">src<\/span>=<span style=\"color:#a50\">\"https:\/\/www.mixcloud.com\/widget\/iframe\/?feed=https%3A%2F%2Fwww.mixcloud.com%2Fdj_umek%2Fbehind-the-iron-curtain-with-umek-episode-294%2F&amp;hide_cover=1&amp;mini=1&amp;light=1\"<\/span> <span style=\"color:#1e90ff\">frameborder<\/span>=<span style=\"color:#a50\">\"0\"<\/span>&gt;<span style=\"color:#1e90ff;font-weight:bold\">iframe<\/span>&gt;<\/code><\/pre>\n<\/div>\n<p>Add <code>id=\"myPlayer\"<\/code> like this:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-html\" data-lang=\"html\">iframe <span style=\"color:#1e90ff\">id<\/span>=<span style=\"color:#a50\">\"myPlayer\"<\/span> <span style=\"color:#1e90ff\">width<\/span>=<span style=\"color:#a50\">\"100%\"<\/span> <span style=\"color:#1e90ff\">height<\/span>=<span style=\"color:#a50\">\"60\"<\/span> <span style=\"color:#1e90ff\">src<\/span>=<span style=\"color:#a50\">\"https:\/\/www.mixcloud.com\/widget\/iframe\/?feed=https%3A%2F%2Fwww.mixcloud.com%2Fdj_umek%2Fbehind-the-iron-curtain-with-umek-episode-294%2F&amp;hide_cover=1&amp;mini=1&amp;light=1\"<\/span> <span style=\"color:#1e90ff\">frameborder<\/span>=<span style=\"color:#a50\">\"0\"<\/span>&gt;<span style=\"color:#1e90ff;font-weight:bold\">iframe<\/span>&gt;<\/code><\/pre>\n<\/div>\n<p>Now this particular player can be identified with the <code>myPlayer<\/code> identifier.<\/p>\n<h2 id=\"the-google-tag-manager-custom-html-tag\">The Google Tag Manager Custom HTML Tag<\/h2>\n<p>The whole tracking solution is contained within a single Custom HTML Tag. So, create a new Custom HTML Tag, and add the following code within:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-html\" data-lang=\"html\">script <span style=\"color:#1e90ff\">src<\/span>=<span style=\"color:#a50\">\"\/\/widget.mixcloud.com\/media\/js\/widgetApi.js\"<\/span> <span style=\"color:#1e90ff\">type<\/span>=<span style=\"color:#a50\">\"text\/javascript\"<\/span>&gt;<span style=\"color:#1e90ff;font-weight:bold\">script<\/span>&gt;\nscript&gt;\n  (<span style=\"color:#00a\">function<\/span>() {\n    <span style=\"color:#aaa;font-style:italic\">\/* Change the CSS selector within document.querySelector to capture\n<\/span><span style=\"color:#aaa;font-style:italic\">     * the correct player iframe.\n<\/span><span style=\"color:#aaa;font-style:italic\">     * \n<\/span><span style=\"color:#aaa;font-style:italic\">     * Available events are 'progress', 'buffering', 'play', 'pause', \n<\/span><span style=\"color:#aaa;font-style:italic\">     * 'ended' and 'error'. If you want to stop tracking any one of these, \n<\/span><span style=\"color:#aaa;font-style:italic\">     * just remove them from the events Array.\n<\/span><span style=\"color:#aaa;font-style:italic\">    *\/<\/span> \n    <span style=\"color:#00a\">var<\/span> playerIframe = <span style=\"color:#0aa\">document<\/span>.querySelector(<span style=\"color:#a50\">'#myPlayer'<\/span>),\n        events = [<span style=\"color:#a50\">'progress'<\/span>, <span style=\"color:#a50\">'buffering'<\/span>, <span style=\"color:#a50\">'play'<\/span>, <span style=\"color:#a50\">'pause'<\/span>, <span style=\"color:#a50\">'ended'<\/span>, <span style=\"color:#a50\">'error'<\/span>];\n    \n    <span style=\"color:#00a\">if<\/span> (playerIframe) {\n      <span style=\"color:#00a\">var<\/span> player = Mixcloud.PlayerWidget(playerIframe);\n      <span style=\"color:#00a\">var<\/span> key = <span style=\"color:#a50\">''<\/span>;\n      <span style=\"color:#00a\">var<\/span> sendDataLayer = <span style=\"color:#00a\">function<\/span>(event, key, currentProgress) {\n        <span style=\"color:#0aa\">window<\/span>.dataLayer.push({\n          event: <span style=\"color:#a50\">'mixcloud'<\/span>,\n          mixcloudEvent: {\n            name: event,\n            key: key,\n            progress: currentProgress\n          }\n        });\n      };\n          \n      player.ready.then(<span style=\"color:#00a\">function<\/span>() {\n        events.forEach(<span style=\"color:#00a\">function<\/span>(event) {\n          <span style=\"color:#00a\">try<\/span> {\n            player.events[event].on(<span style=\"color:#00a\">function<\/span>(progress, duration) {\n              player.getCurrentKey().then(<span style=\"color:#00a\">function<\/span>(key) {\n                <span style=\"color:#00a\">var<\/span> currentProgress;\n                <span style=\"color:#00a\">if<\/span> (progress &amp;&amp; duration) {\n                  <span style=\"color:#00a\">if<\/span> (progress === <span style=\"color:#0aa\">Math<\/span>.round(duration * <span style=\"color:#099\">0.25<\/span>)) {\n                    currentProgress = <span style=\"color:#a50\">'25%'<\/span>;\n                  } <span style=\"color:#00a\">else<\/span> <span style=\"color:#00a\">if<\/span> (progress === <span style=\"color:#0aa\">Math<\/span>.round(duration * <span style=\"color:#099\">0.5<\/span>)) {\n                    currentProgress = <span style=\"color:#a50\">'50%'<\/span>;\n                  } <span style=\"color:#00a\">else<\/span> <span style=\"color:#00a\">if<\/span> (progress === <span style=\"color:#0aa\">Math<\/span>.round(duration * <span style=\"color:#099\">0.75<\/span>)) {\n                    currentProgress = <span style=\"color:#a50\">'75%'<\/span>;\n                  }\n                }\n                <span style=\"color:#00a\">if<\/span> (event !== <span style=\"color:#a50\">'progress'<\/span> || !!currentProgress) {\n                  sendDataLayer(event, key, currentProgress);\n                }\n              });\n            });\n          } <span style=\"color:#00a\">catch<\/span>(e) {}\n        });\n      });\n    }\n  })();\n<span style=\"color:#1e90ff;font-weight:bold\">script<\/span>&gt;<\/code><\/pre>\n<\/div>\n<p>Set this tag to fire on a <strong>Page View \/ DOM Ready<\/strong> trigger, and if you only want to fire this on certain pages, you can modify the trigger accordingly. Here\u2019s an example:<\/p>\n<div style=\"aspect-ratio: 1778 \/ 560;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2017\/02\/dom-ready-trigger.jpg\" title=\"DOM Ready trigger\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"560\" width=\"1778\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2017\/02\/dom-ready-trigger.jpg#ZgotmplZ\" alt=\"DOM Ready trigger\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<h2 id=\"how-it-works\">How it works<\/h2>\n<p>This tracker adds a listener to the given player for all the events you specified in the <code>events<\/code> Array. Whenever such an event is registered by the page, a <code>dataLayer.push()<\/code> takes place with the following structure:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-javascript\" data-lang=\"javascript\">{\n  event: <span style=\"color:#a50\">'mixcloud'<\/span>,\n  mixcloudEvent: {\n    name: <span style=\"color:#a50\">''<\/span>,\n    key: <span style=\"color:#a50\">''<\/span>,\n    progress: <span style=\"color:#a50\">''<\/span>\n  }\n}\n<\/code><\/pre>\n<\/div>\n<p>As you can see, the <code>progress<\/code> event measures how far along the show the user is. It has triggers for <code>25%<\/code>, <code>50%<\/code> and <code>75%<\/code>. I didn\u2019t add one for <code>100%<\/code>, as the <code>ended<\/code> event is the same thing.<\/p>\n<h2 id=\"triggers-and-variables\">Triggers and variables<\/h2>\n<p>Next thing you\u2019ll need to do is create a Custom Event trigger for the <code>mixcloud<\/code> event. It\u2019s dead easy, and the trigger should look like this:<\/p>\n<div style=\"aspect-ratio: 1062 \/ 770;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2017\/02\/custom-event-trigger.jpg\" title=\"Custom event trigger\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"770\" width=\"1062\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2017\/02\/custom-event-trigger.jpg#ZgotmplZ\" alt=\"Custom event trigger\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Finally, you\u2019ll need three Data Layer variables. One for <code>mixcloudEvent.name<\/code>, one for <code>mixcloudEvent.key<\/code>, and one for <code>mixcloudEvent.progress<\/code>.<\/p>\n<div style=\"aspect-ratio: 2696 \/ 930;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2017\/02\/data-layer-variables.jpg\" title=\"Data Layer Variables\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"930\" width=\"2696\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2017\/02\/data-layer-variables.jpg#ZgotmplZ\" alt=\"Data Layer Variables\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Now you should have everything you need to start tracking interactions with the widget.<\/p>\n<p>A typical Google Analytics Event tag might look like this:<\/p>\n<div style=\"aspect-ratio: 2030 \/ 1404;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2017\/02\/ua-tag.jpg\" title=\"Universal Analytics event tag\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"1404\" width=\"2030\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2017\/02\/ua-tag.jpg#ZgotmplZ\" alt=\"Universal Analytics event tag\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>For example, when a <code>progress<\/code> event for hitting the half-way mark is recorded, the event would look like this:<\/p>\n<p><strong>Event category<\/strong>: Mixcloud<br \/><strong>Event action<\/strong>: progress: \/syte\/subfm170217\/<br \/><strong>Event label<\/strong>: 50%<\/p>\n<p>You can make it even more versatile with Custom Dimensions and Custom Metrics.<\/p>\n<h2 id=\"summary\">Summary<\/h2>\n<p>This was (hopefully) a simple tip to get you along with Mixcloud player tracking. With a robust JavaScript API it really is easy to do.<\/p>\n<p>The Mixcloud JavaScript API works with promises, so the functional approach exhibited in the Custom HTML Tag might look messy, and as such, there is room for improvement via refactoring.<\/p>\n<p>If you have more than one widget on the page that you want to track, you\u2019ll need to duplicate the relevant code for each player on the page. For example:<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-javascript\" data-lang=\"javascript\">...\n<span style=\"color:#00a\">var<\/span> player = <span style=\"color:#0aa\">document<\/span>.querySelector(<span style=\"color:#a50\">'#myPlayer'<\/span>);\n<span style=\"color:#00a\">var<\/span> player2 = <span style=\"color:#0aa\">document<\/span>.querySelector(<span style=\"color:#a50\">'#myPlayer2'<\/span>);\n...\n<span style=\"color:#00a\">if<\/span> (player) {\n  player.ready.then(<span style=\"color:#00a\">function<\/span>() {\n    ...\n  });\n}\n\n<span style=\"color:#00a\">if<\/span> (player2) {\n  player2.ready.then(<span style=\"color:#00a\">function<\/span>() {\n    ...\n  });\n}\n...\n<\/code><\/pre>\n<\/div>\n<p>Have fun listening and tracking those tracks!<\/p>\n<\/p><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>A couple of years ago I wrote an article on tracking interactions with the SoundCloud widget via Google Tag Manager. When a platform provides a JavaScript embed API, it\u2019s surprisingly easy to track interactions with the player. You\u2019ve seen this with YouTube, with SoundCloud, with JWPlayer, and now you\u2019ll see how to do this with [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":123010,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12033],"tags":[1531,14495,54187,1239,1791,1706],"dealstore":[],"offerexpiration":[],"class_list":["post-123009","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","tag-google","tag-manager","tag-mixcloud","tag-player","tag-tag","tag-tracking"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mixcloud Player Tracking In Google Tag Manager - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=123009\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mixcloud Player Tracking In Google Tag Manager - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"A couple of years ago I wrote an article on tracking interactions with the SoundCloud widget via Google Tag Manager. When a platform provides a JavaScript embed API, it\u2019s surprisingly easy to track interactions with the player. You\u2019ve seen this with YouTube, with SoundCloud, with JWPlayer, and now you\u2019ll see how to do this with [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=123009\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-09T22:33:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"326\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=123009#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=123009\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Mixcloud Player Tracking In Google Tag Manager\",\"datePublished\":\"2025-03-09T22:33:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=123009\"},\"wordCount\":632,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=123009#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg\",\"keywords\":[\"Google\",\"Manager\",\"Mixcloud\",\"Player\",\"TAG\",\"Tracking\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=123009#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=123009\",\"url\":\"https:\/\/fivemor.com\/?p=123009\",\"name\":\"Mixcloud Player Tracking In Google Tag Manager - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=123009#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=123009#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg\",\"datePublished\":\"2025-03-09T22:33:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=123009#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=123009\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=123009#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg\",\"width\":2560,\"height\":326},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=123009#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mixcloud Player Tracking In Google Tag Manager\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mixcloud Player Tracking In Google Tag Manager - Som2ny Network","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:\/\/fivemor.com\/?p=123009","og_locale":"en_US","og_type":"article","og_title":"Mixcloud Player Tracking In Google Tag Manager - Som2ny Network","og_description":"A couple of years ago I wrote an article on tracking interactions with the SoundCloud widget via Google Tag Manager. When a platform provides a JavaScript embed API, it\u2019s surprisingly easy to track interactions with the player. You\u2019ve seen this with YouTube, with SoundCloud, with JWPlayer, and now you\u2019ll see how to do this with [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=123009","og_site_name":"Som2ny Network","article_published_time":"2025-03-09T22:33:41+00:00","og_image":[{"width":2560,"height":326,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=123009#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=123009"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Mixcloud Player Tracking In Google Tag Manager","datePublished":"2025-03-09T22:33:41+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=123009"},"wordCount":632,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=123009#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg","keywords":["Google","Manager","Mixcloud","Player","TAG","Tracking"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=123009#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=123009","url":"https:\/\/fivemor.com\/?p=123009","name":"Mixcloud Player Tracking In Google Tag Manager - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=123009#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=123009#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg","datePublished":"2025-03-09T22:33:41+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=123009#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=123009"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=123009#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/03\/mixcloud-scaled.jpg","width":2560,"height":326},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=123009#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Mixcloud Player Tracking In Google Tag Manager"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/123009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=123009"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/123009\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/123010"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=123009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=123009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=123009"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=123009"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=123009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}