{"id":14630,"date":"2023-04-24T23:07:35","date_gmt":"2023-04-24T13:07:35","guid":{"rendered":"https:\/\/trafficradius.com.au\/?p=8454"},"modified":"2024-03-20T08:30:41","modified_gmt":"2024-03-20T08:30:41","slug":"tips-to-avoid-duplicate-conversions-ga4","status":"publish","type":"post","link":"https:\/\/trdemo.com.au\/demo-traffic\/blog\/digital-marketing\/tips-to-avoid-duplicate-conversions-ga4\/","title":{"rendered":"Best Practices for Avoiding Duplicate Conversions and Recreating Conversion Funnels in GA4"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>As we approach June 2023, the old versions of <b>Google Analytics<\/b> will be switched off for pretty much everyone. The introduction of <b>GA4 tutorials and Google tag manager<\/b> has brought about significant changes, which can take a bit of creativity to navigate. One such change is how conversions are handled.<\/p>\n<p>At <a href=\"https:\/\/trafficradius.com.au\/\">Traffic Radius<\/a>, we understand the importance of tracking conversions accurately. Here are some of the ways we can help you navigate the changes:<\/p>\n<ul>\n<li>Avoid double counting in GA4 with our expert guidance.<\/li>\n<li>Automatically ignore suspicious conversions, such as people landing directly on the conversion page, to ensure your data is as accurate as possible.<\/li>\n<li>Recreate the kind of funnels you expected in Universal Analytics, but better with our team of professionals.<\/li>\n<\/ul>\n<p>To achieve these goals, we will take you through the various bits in GA4 and use<b>Google Tag Manager<\/b> to ensure all your <a href=\"https:\/\/trafficradius.com.au\/what-is-the-funnel-in-digital-marketing\/\"><b>conversion funnel<\/b><\/a> and pixels show roughly the same information. Our approach is more straightforward, yet more robust, ensuring you receive the most accurate data.<\/p>\n<p>Don&#8217;t let the changes in GA4 and <b>GA4 training<\/b>affect your ability to track conversions. Contact Traffic Radius today and let our experts help you stay on top of your game.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8456 size-full\" src=\"https:\/\/trafficradius.com.au\/wp-content\/uploads\/2023\/04\/GA4-2.jpg\" alt=\"How to Manage Conversions in Google Analytics 4(GA4)\" width=\"2133\" height=\"1117\" \/><\/p>\n<h2>How to Manage Conversions in Google Analytics 4<\/h2>\n<p>In this section, we will discuss changes that can be made purely through the GA4 interface, without the need for any code changes. As long as your page views conversion events are being sent to GA4, these tactics can be implemented easily.<\/p>\n<p>It is important to note that there are some limitations to using GA4 alone. Implementing changes solely through GA4 can result in your GA data not lining up with conversions recorded via other platforms.<\/p>\n<p>However, our team at Traffic Radius can help you navigate these limitations and ensure that you are receiving the most accurate data possible.<\/p>\n<h2>Avoid Double-Counting Conversions in GA4 with Custom Audience<\/h2>\n<p>To ensure that conversions are only recorded once per session in GA4, Julius Fedorovicius of Analytics Mania has created a helpful guide that involves using custom audiences.<\/p>\n<p>The process involves creating a custom audience that begins with &#8220;session_start,&#8221; firing an event when someone enters that audience, and using that event as the conversion.<\/p>\n<p>This clever solution effectively eliminates the problem of double-counting conversions. While the audience sequences in GA4 may resemble the sequences we previously used for segments in Universal Analytics, they offer new possibilities for grouping data. Custom events can be fired when someone enters an audience, allowing for even more precise tracking.<\/p>\n<p>By following Julius&#8217;s guide and utilising custom audiences in GA4, you can avoid double-counting conversions and ensure accurate data tracking.<\/p>\n<p>Contact <a href=\"https:\/\/trafficradius.com.au\/\"><span data-contrast=\"none\">Traffic Radius<\/span><\/a> to learn more about optimizing GA4 setup and maximising your website&#8217;s performance.<\/p>\n<h2>Consideration when using Google Analytics Audiences<\/h2>\n<p>While using <b>Google<\/b> <b>Analytics<\/b> audiences to prevent double-counting conversions is a great solution, it&#8217;s important to keep in mind that GA may not be the only platform where conversions are recorded. Most websites have multiple conversion tracking pixels, which could potentially lead to double-counting.<\/p>\n<p>For example, while Facebook and Google have their methods of avoiding double-counting conversions, smaller conversion tracking platforms may need extra attention to ensure accurate tracking.<\/p>\n<p>To avoid this, it&#8217;s helpful to ensure that all conversion tracking on your website is working similarly. Using <b>Google Tag Manager<\/b> is an excellent way to achieve this, as it allows for centralized control of all tracking pixels.<\/p>\n<p><span data-contrast=\"auto\">Another potential issue is when users land directly on a confirmation page, leading to unexpected conversions. Again, Tag Manager can be utilised to prevent this from happening and ensure accurate tracking.<\/span><\/p>\n<h2><span class=\"TextRun SCXW204420919 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW204420919 BCX0\">Creating Conversion Funnels in GA4 and its Limitations<\/span><\/span><\/h2>\n<p><b><span data-contrast=\"auto\">Conversion<\/span><\/b> <b><span data-contrast=\"auto\">funnels<\/span><\/b><span data-contrast=\"auto\"> in GA4 can be created by adapting the AnalyticsMania approach of creating custom audiences based on a sequence of user actions. However, it&#8217;s worth noting that conversion funnels are not always the ideal way to categorize conversions, and it&#8217;s best to use more direct methods such as form IDs or thank-you pages if possible.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To create a <\/span><b><span data-contrast=\"auto\">conversion<\/span><\/b> <b><span data-contrast=\"auto\">funnel marketing<\/span><\/b><span data-contrast=\"auto\">, additional steps can be added to the sequence, such as visiting an event page before converting. This allows for the creation of specific conversions based on user behaviour.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">However, there are limitations to this approach, such as the possibility of double-counting conversions if a user fulfils the criteria for multiple conversions. This is also a limitation of the old Universal Analytics funnels, where users could still wander off around the site between funnel steps and still convert.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Overall, while creating <\/span><b><span data-contrast=\"auto\">conversion<\/span><\/b> <b><span data-contrast=\"auto\">funnels<\/span><\/b><span data-contrast=\"auto\"> in GA4 can be useful, it&#8217;s important to consider its limitations and explore other ways of categorizing conversions.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8457 size-full\" src=\"https:\/\/trafficradius.com.au\/wp-content\/uploads\/2023\/04\/GA4-3.jpg\" alt=\"Choosing Technical Aspects for Your International SEO Strategy\" width=\"2133\" height=\"1117\" \/><\/p>\n<h2><span class=\"TextRun SCXW150910533 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW150910533 BCX0\">Choosing Technical Aspects for Your International SEO Strategy<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">When creating conversion tracking sequences in <\/span><a href=\"https:\/\/trafficradius.com.au\/google-analytics-guide\/\"><b><span data-contrast=\"none\">Google<\/span><\/b> <b><span data-contrast=\"none\">Analytics<\/span><\/b><\/a><span data-contrast=\"auto\">, you might be tempted to use the &#8220;directly followed by&#8221; option to ensure that conversions are only recorded when a user completes a specific sequence of actions. However, this can lead to inaccuracies in your data.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The problem with using &#8220;directly followed by&#8221; is that it only looks at page views, and there are many other actions a user can take that won&#8217;t be recorded as a page view. For example, if someone scrolls down on the sponsorship page and then lands on the thank you page, it won&#8217;t be recorded as a direct sequence of page views.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This means that using &#8220;directly followed by&#8221; as a criterion for conversion tracking can result in missed conversions or double-counting. To get a more accurate picture of your conversions, it&#8217;s important to look at other factors such as event tracking or user behaviour patterns.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"NormalTextRun SCXW248494040 BCX0\">The U<\/span><span class=\"NormalTextRun SCXW248494040 BCX0\">se of \u201cwithin x Minutes\u201d<\/span><\/h2>\n<p><span data-contrast=\"auto\">Improving Conversion Tracking with <\/span><b><span data-contrast=\"auto\">Google<\/span><\/b> <b><span data-contrast=\"auto\">Tag Assistant and Manager<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">GA4 sequences can be limited in accurately tracking conversions<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Directly followed by and within x minutes options can lead to inaccuracies<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Using multiple conversion tracking pixels can cause double-counting<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><b><span data-contrast=\"auto\">Google<\/span><\/b> <b><span data-contrast=\"auto\">Tag<\/span><\/b> <b><span data-contrast=\"auto\">Manager<\/span><\/b><span data-contrast=\"auto\"> can help ensure consistent conversion tracking across platforms<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">Tag Manager can also prevent double-counting and guard against unexpected conversions<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"6\" data-aria-level=\"1\"><span data-contrast=\"auto\">Creating custom conversion tags in Tag Manager allows for more precise tracking and reporting<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"7\" data-aria-level=\"1\"><span data-contrast=\"auto\">Custom tags can be set up for specific form submissions or thank you pages, avoiding arbitrary time limits or page views<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"5\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"8\" data-aria-level=\"1\"><span data-contrast=\"auto\">Tag Manager also offers advanced features like cross-domain tracking and conversion tracking across multiple devices.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h2><span class=\"NormalTextRun SpellingErrorV2Themed SCXW243301630 BCX0\">Optimi<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW243301630 BCX0\">s<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW243301630 BCX0\">ing<\/span><span class=\"NormalTextRun SCXW243301630 BCX0\"> Conversion Tracking with Google Tag Manager<\/span><\/h2>\n<p><span data-contrast=\"auto\">If you want to keep track of a user&#8217;s activity across multiple pages, relying solely on <\/span><b><span data-contrast=\"auto\">Google<\/span><\/b> <b><span data-contrast=\"auto\">Analytics<\/span><\/b><span data-contrast=\"auto\"> may not be enough. That&#8217;s where <\/span><b><span data-contrast=\"auto\">Google<\/span><\/b> <b><span data-contrast=\"auto\">Tag<\/span><\/b> <b><span data-contrast=\"auto\">Manager<\/span><\/b><span data-contrast=\"auto\"> comes in. While it may require some extra effort, using Tag Manager for tracking offers a range of benefits, such as ensuring all tracking tags fire consistently and having more control over categorizing conversion paths.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">However, using Tag Manager for tracking also involves the use of cookies, which may cause concern for some. Rest assured that these cookies are not designed to share personal information with third-party services. Creating and deleting these cookies is a straightforward process that requires a bit of copy-pasting in JavaScript.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Even if you&#8217;re not currently using Tag Manager, it&#8217;s worth considering for the advantages it can offer in tracking and optimizing conversions.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Learn More:<\/span><\/b> <a href=\"https:\/\/trafficradius.com.au\/conversion-rate-optimization-strategy\/\"><span data-contrast=\"none\">Conversion Rate optimization strategy<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW36622363 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW36622363 BCX0\">Avoiding Double Counting\u00a0<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">To summarize our objective, we want to ensure that when a user visits our website and makes a conversion, a conversion is fired. However, if the user revisits a thank you page or goes through a different conversion during the same session, we do not want to fire a second conversion.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To accomplish this, we will:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Set a cookie when a user makes a conversion.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Ensure that the cookie automatically disappears after 30 minutes of inactivity, which is the default timeout for GA4 sessions. If required, the timeout can be adjusted to a longer duration.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Check for the presence of the cookie every time a conversion is fired. If the cookie is present, we will not fire the conversion.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">By implementing these steps, we can ensure that a conversion is only fired once for each user during a session, and any subsequent conversions are ignored until the user takes a break from the website.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW14372705 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW14372705 BCX0\">Setting a Cookie in JavaScript\u00a0<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">To set a cookie in JavaScript, we can use Tag Manager and create a new Tag with the Custom HTML type. We can then add the JavaScript code to set the cookie.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The script finds the current time and what time it&#8217;ll be in 30 minutes and uses that and the domain to set a cookie called &#8220;converted&#8221; which can be read by any page on the website.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To save the tag, we can select the &#8220;All Pages&#8221; trigger for testing purposes.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW109719975 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW109719975 BCX0\">How to Read a Cookie Value in Tag Manager\u00a0<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">To read the value of a cookie in Tag Manager, you need to create a variable. First, go to the Variables section in Tag Manager and create a new variable called &#8220;convertedCookie.&#8221; Set the Cookie Name to &#8220;converted.&#8221;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Once you&#8217;ve created the variable, you can use it to see what value the &#8220;converted&#8221; cookie has. To do this, click the &#8220;Preview&#8221; button and open your site. Then, click on the &#8220;Variables&#8221; tab to see the value of the &#8220;convertedCookie&#8221; variable.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">With this variable set-up, you can now use its value in your Tag Manager logic.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW72220593 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW72220593 BCX0\">Adding Conversion Cookie to Conversion Login in GTM<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">Assuming that you&#8217;re using <\/span><b><span data-contrast=\"auto\">Google<\/span><\/b> <b><span data-contrast=\"auto\">Tag<\/span><\/b> <b><span data-contrast=\"auto\">Manager<\/span><\/b><span data-contrast=\"auto\"> (GTM) to track your website&#8217;s conversions, let&#8217;s take a look at how you can use conversion cookies to improve your tracking. Every conversion setup is different, but if you&#8217;re considering GTM, chances are you&#8217;re firing conversions based on some condition, such as a custom event or pageview.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To make the most of GTM, we&#8217;ll tweak your trigger by adding another condition.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Previously, your trigger might have fired on every thank-you page visit, but now we&#8217;re going to add a second condition: convertedCookie does not contain true. This means that the conversion will only fire if the convertedCookie variable doesn&#8217;t already contain the value &#8216;true&#8217;.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The beauty of this approach is that it can work with any page or event on your website, not just thank-you pages. So, if you have a custom event that signals a conversion, you can use the same method to fire the conversion tag only once.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Now, let&#8217;s look at how we can change the converted cookie so that it only appears after someone has converted. Now, the cookie is being set on every page view, which means we&#8217;re not getting accurate conversion tracking. To fix this, we need to set the cookie only when someone converts and reset it on every subsequent page view.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To do this, we&#8217;ll create a new tag that fires only when a conversion occurs. This tag will set the converted cookie to &#8216;true&#8217;, which means that subsequent page views will trigger the conversion tag only if the converted cookie doesn&#8217;t already contain the value &#8216;true&#8217;. And to reset the cookie on every subsequent page view, we&#8217;ll create another tag that fires on every page view and resets the cookie if the converted cookie contains the value &#8216;true&#8217;.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">By using conversion cookies in this way, you can ensure that your conversions are accurately tracked and that you&#8217;re not double-counting conversions on subsequent page views. So go ahead and give it a try and see how it can improve your website&#8217;s conversion tracking.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Learn More:<\/span><\/b> <a href=\"https:\/\/trafficradius.com.au\/ultimate-guide-adwords-conversion-tracking\/\"><span data-contrast=\"none\">The Ultimate Guide to AdWords Conversion Tracking<\/span><\/a><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW90562008 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW90562008 BCX0\">How to Set a Conversion Cookie only After a Successful Conversion in GTM<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">To avoid recording multiple conversions for the same user within a certain timeframe, we can use a conversion cookie in <\/span><b><span data-contrast=\"auto\">Google<\/span><\/b> <b><span data-contrast=\"auto\">Tag<\/span><\/b> <b><span data-contrast=\"auto\">Manager<\/span><\/b><span data-contrast=\"auto\"> (GTM). Here&#8217;s how to set it up:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Step 1: Remove the trigger from the setCookieConverted tag to prevent it from firing.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Step 2: Open the advanced settings of your conversion tag and select &#8220;Fire a tag after&#8221; under Tag Sequencing.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Step 3: Choose the setCookieConverted tag and check &#8220;Don&#8217;t fire if conversion tag fails.&#8221;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This will ensure that the setCookieConverted tag only fires after a successful conversion have been tracked.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The new logic is:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Check if a user has a conversion cookie after a successful conversion.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">If no cookie is found, track the conversion and set the cookie.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"3\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">If the cookie is present, do not track the conversion.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">To test this setup, clear your cookies or wait for them to expire, and then test a conversion. You should see both tags fire on the first conversion but not on subsequent conversions within the timeframe.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">With this setup, you can accurately track unique conversions and avoid overcounting within a specified timeframe.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW204963690 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW204963690 BCX0\">Refreshing the Conversion Cookie to Avoid Missing Conversions<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">In our previous steps, we&#8217;ve implemented a mechanism to prevent recording duplicate conversions within a 30-minute window. However, what if a user stays on our website for more than 30 minutes and converts again? To handle this scenario, we need to add another trigger that checks if the user has recently converted and refreshes the cookie on each new page load.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><b><span data-contrast=\"auto\">Here&#8217;s how to do it:<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Go back to the [Tag] setCookieConverted.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Since it should have no firing triggers at this point, we&#8217;ll add a new one by clicking the blue plus sign.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Create a new trigger that fires only on page views where convertedCookie contains true.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">Essentially, when someone converts, we set a &#8220;converted&#8221; cookie that lasts for the next 30 minutes. Every time a user loads a new page, if they have a &#8220;converted&#8221; cookie, we reset that cookie for another 30 minutes. If a user doesn&#8217;t load a new page for 30 minutes, the cookie will expire, and our refresh trigger won&#8217;t be activated.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To test this, you can use the GTM preview and click around your site. Once you&#8217;ve converted, the [Tag] setCookieConverted should fire on every new page load. This approach ensures that if someone converts again within the 30-minute window or continues to browse the site after conversion, we won&#8217;t miss recording those conversions.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"NormalTextRun SCXW151032956 BCX0\">W<\/span><span class=\"NormalTextRun SCXW151032956 BCX0\">rapping Up<\/span><\/h2>\n<p><span data-contrast=\"auto\">Even with our refined conversion tracking setup, we may encounter some strange conversions that don&#8217;t seem to align with actual user behaviour. This can be due to users leaving the thank-you page open or finding their way to the conversion page through search engines or other means.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">While the root cause of these issues should be addressed, we can also take steps to clean up our analytics by creating a conversion funnel. This involves setting up additional triggers and tags to track the user&#8217;s journey leading up to the conversion.<\/span><\/p>\n<h2><span class=\"TextRun SCXW141223054 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW141223054 BCX0\">Creating a Clear and Effective Conversion Funnel<\/span><\/span><\/h2>\n<p><span class=\"TextRun SCXW130540414 BCX0\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW130540414 BCX0\">This section is a continuation of the <\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">previous<\/span><span class=\"NormalTextRun SCXW130540414 BCX0\"> section on managing cookies, so if you <\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">haven&#8217;t<\/span><span class=\"NormalTextRun SCXW130540414 BCX0\"> read that part yet, <\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">it&#8217;s<\/span><span class=\"NormalTextRun SCXW130540414 BCX0\"> recommended to do so before <\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">proceeding<\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">. However, if <\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">you&#8217;re<\/span><span class=\"NormalTextRun SCXW130540414 BCX0\"> here because <\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">you&#8217;re<\/span><span class=\"NormalTextRun SCXW130540414 BCX0\"> dealing with strange conversions where users directly land on the conversion page, <\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">don&#8217;t<\/span><span class=\"NormalTextRun SCXW130540414 BCX0\"> worry. You can follow the instructions in this section and simply adjust the triggers accordingly. <\/span><span class=\"NormalTextRun SCXW130540414 BCX0\">I&#8217;ll<\/span><span class=\"NormalTextRun SCXW130540414 BCX0\"> guide you through the process.<\/span><\/span><span class=\"EOP SCXW130540414 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW243617104 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW243617104 BCX0\">Setting a \u201cpath\u201d cookie\u00a0<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">Let&#8217;s continue building on the cookie implementation we did earlier. This time, we&#8217;ll create another cookie that records the current page&#8217;s location.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To start, let&#8217;s create a new Tag called [Tag] setCookiePath. Select &#8220;Custom HTML&#8221; and add the following JavaScript code:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">&lt;script&gt;\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\/\/ Get time 30 minutes from now (this is because the default GA session time out is half an hour and we want our cookie timeout to match)\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var minutesToAdd = 30\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var currentTime = new Date(); \/\/ Get current time\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var newDateObj = new Date(currentTime.getTime() + minutesToAdd*60000); \/\/\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Add our minutes on\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\/\/ Set the domain you&#8217;re working on, this is because we want our cookies to be accessible in subdomains (like test.example.com) if needed\u00a0<\/span><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var yourDomain = &#8220;therobinlord.com&#8221;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var pagePathName = window.location.pathname \/\/ Get location of current page\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0\/\/ Set a cookie called \u2018conversionPath\u2019 with the value being the current page&#8217;s location, which expires in 30 minutes\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 document.cookie = &#8220;conversionPath=&#8221;+location+&#8221;; path=\/; domain=&#8221;+yourDomain+&#8221;; expires=&#8221;+newDateObj+&#8221;;&#8221;\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">&lt;\/script&gt;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This JavaScript code will create a new cookie that stores the current page&#8217;s location. When the user loads a new page, the value in the cookie will be updated with the current page&#8217;s location.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We&#8217;ll use this cookie later to ensure that the last page our user interacted with is the one we record in the conversion funnel.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Stay tuned for the next steps!<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW147820653 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW147820653 BCX0\">Setting up Triggers for Your Conversion Funnel<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">To create a conversion funnel, we need to assume that there are specific pages a user must visit to convert. We will set up a trigger to activate only when one of those funnel pages is involved.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To begin, click on your [Tag] setCookiePath tag and add a new trigger. We will configure our tag to activate on every user click, ensuring that if a user is hopping between different funnel pages, each click will overwrite the cookie. However, only the last funnel page that the user interacts with will be recorded in the cookie value. This ensures that whichever funnel page our user interacted with last is the one we record.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">With this trigger set-up, we can be confident that our conversion data is accurate and reflects the user&#8217;s journey through our funnel.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\"> <span class=\"NormalTextRun SCXW123643180 BCX0\">Retrieving Funnel Data with <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SpellingErrorHighlight SCXW123643180 BCX0\">funnelCookie<\/span><span class=\"NormalTextRun SCXW123643180 BCX0\"> Variable<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">To retrieve data on the funnel pages that users interacted with, we need to create a new variable called funnelCookie, which will retrieve the value stored in the cookie we created earlier, called conversionPath.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To create the variable, follow the same steps as for the convertedCookie variable, but this time name it funnelCookie and set the \u201cCookie Name\u201d to conversionPath.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To test the variable, use preview mode and visit a non-funnel page on your site. Check the funnelCookie variable in the Variables tab, and it should show as undefined.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Then, go to one of your funnel pages and refresh the preview. You should be able to see the funnelCookie variable update with the value stored in the conversionPath cookie.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">As you navigate to other pages on the site, the funnelCookie variable should remain the same, unless you visit another funnel page.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This variable will allow us to track the specific pages users interacted with before converting, so we can analyse the effectiveness of our funnel and make data-driven improvements.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-8458 size-full\" src=\"https:\/\/trafficradius.com.au\/wp-content\/uploads\/2023\/04\/GA4-4.jpg\" alt=\"Implementing Conversions Based on funnelCookie\" width=\"2133\" height=\"1117\" \/><\/p>\n<h2><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\"><span class=\"NormalTextRun SCXW35616310 BCX0\">Implementing Conversions Based on <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW35616310 BCX0\">funnelCookie<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">To change our conversions based on the funnelCookie, we need to add a new condition to our conversion trigger. This will ensure that the conversion fires only when the user has gone through the specific funnel page we want to track.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To do this, we need to add a new condition to our trigger:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">&#8220;funnelCookie contains event-page&#8221;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This means that the conversion will only fire if the last funnel page visited by the user was the event-page.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We can then duplicate this trigger and the associated conversion tags, and update the funnelCookie value for the trigger. For instance, we can set the new trigger to:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">&#8220;funnelCookie contains form-page&#8221;<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">This way, we have two sets of conversions, each tracking a specific funnel page. We can edit the values sent accordingly to suit our needs.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">It&#8217;s worth noting that this approach might create some redundancy in your Tag Manager account, but it&#8217;s a viable option if you&#8217;re unable to extract the funnelCookie value and use it as a variable in your conversion tags.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW48665234 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW48665234 BCX0\">A Couple Caveats<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">Instead of duplicating <\/span><b><span data-contrast=\"auto\">conversion<\/span><\/b> <b><span data-contrast=\"auto\">tags<\/span><\/b><span data-contrast=\"auto\">, a better approach would be to use the value of the funnelCookie variable to dynamically change some of the values sent as part of the conversion. However, this approach carries a risk of not recording any conversions at all if a user hasn&#8217;t passed through one of your funnel pages.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To make the information more readily available for filling out conversion tags and to set a fallback, you can use a lookup table. This table categorizes the values of the funnelCookie variable. You can then use the lookup table value in your trigger instead of adding the funnelCookie value directly.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">While I can&#8217;t guide you through updating all your conversion tags, this option offers a more efficient way of handling the values and reduces the risk of losing conversions.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><span class=\"TextRun SCXW262319301 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW262319301 BCX0\">What are some technical aspects to consider when developing an internationally targeted website?<\/span><\/span><\/h2>\n<p><span data-contrast=\"auto\">If you don&#8217;t want to create a funnel based on specific pages but you still want to ensure that users have visited a page before converting, here&#8217;s what you can do:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ol>\n<li data-leveltext=\"%1.\" data-font=\"Calibri\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">In your [Tag] setCookiePath tag, set it to trigger on any Page View that is not your confirmation page.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"%1.\" data-font=\"Calibri\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559684&quot;:-1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">You don&#8217;t need to create different conversion flows. Instead, just add a requirement for the funnelCookie. This means that the conversion will only fire if the funnelCookie contains the value of some page, rather than being undefined. This ensures that the user has visited at least one page before converting.<\/span><\/li>\n<\/ol>\n<h2><span class=\"TextRun SCXW186258285 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW186258285 BCX0\">Winding Up<\/span><\/span><\/h2>\n<p><span class=\"TextRun SCXW950538 BCX0\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW950538 BCX0\">I hope this guide has provided you with useful insights into how you can better manage and track conversions on your website, whether <\/span><span class=\"NormalTextRun SCXW950538 BCX0\">it&#8217;s<\/span><span class=\"NormalTextRun SCXW950538 BCX0\"> through <\/span><\/span><span class=\"TextRun SCXW950538 BCX0\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW950538 BCX0\">GA4<\/span><span class=\"NormalTextRun SCXW950538 BCX0\"> events <\/span><\/span><span class=\"TextRun SCXW950538 BCX0\" lang=\"EN-GB\" xml:lang=\"EN-GB\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW950538 BCX0\">or Tag Manager. By implementing the strategies discussed in this guide, you can gain more control over the conversions recorded on your site and ensure that the data collected is <\/span><span class=\"NormalTextRun SCXW950538 BCX0\">accurate<\/span><span class=\"NormalTextRun SCXW950538 BCX0\"> and meaningful. Good luck with your tracking efforts!<\/span><\/span><span class=\"EOP SCXW950538 BCX0\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/trafficradius.com.au\/my-audit\/?ref=BLOGfooter\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone\" src=\"https:\/\/trafficradius.com.au\/wp-content\/uploads\/2023\/04\/footer-promotion.jpg\" alt=\"footer-promotion\" width=\"699\" height=\"143\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction As we approach June 2023, the old versions of Google Analytics will be switched off for pretty much everyone. The introduction of GA4 tutorials and Google tag manager has brought about significant changes, which can take a bit of creativity to navigate. One such change is how conversions are handled. At Traffic Radius, we&hellip; <a class=\"more-link\" href=\"https:\/\/trdemo.com.au\/demo-traffic\/blog\/digital-marketing\/tips-to-avoid-duplicate-conversions-ga4\/\">Continue reading <span class=\"screen-reader-text\">Best Practices for Avoiding Duplicate Conversions and Recreating Conversion Funnels in GA4<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":17311,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[829,830,828],"class_list":["post-14630","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digital-marketing","tag-avoid-duplicate-conversions","tag-ga4-best-practice","tag-ga4-conversion-funnels","entry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/posts\/14630"}],"collection":[{"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/comments?post=14630"}],"version-history":[{"count":3,"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/posts\/14630\/revisions"}],"predecessor-version":[{"id":19235,"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/posts\/14630\/revisions\/19235"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/media\/17311"}],"wp:attachment":[{"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/media?parent=14630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/categories?post=14630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trdemo.com.au\/demo-traffic\/wp-json\/wp\/v2\/tags?post=14630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}