<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Case Study Archives - Reflective Data</title>
	<atom:link href="https://www.reflectivedata.com/category/case-study/feed/" rel="self" type="application/rss+xml" />
	<link>https://reflectivedata.com/category/case-study/</link>
	<description></description>
	<lastBuildDate>Fri, 09 Aug 2024 12:09:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://reflectivedata.com/wp-content/uploads/2016/09/cropped-new-favicon-2-32x32.png</url>
	<title>Case Study Archives - Reflective Data</title>
	<link>https://reflectivedata.com/category/case-study/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Case Study: Overcoming The 1 Million Event Limit in GA4 Without Upgrading to GA360</title>
		<link>https://www.reflectivedata.com/case-study-overcome-1m-event-limit-ga4-without-ga360</link>
					<comments>https://www.reflectivedata.com/case-study-overcome-1m-event-limit-ga4-without-ga360#respond</comments>
		
		<dc:creator><![CDATA[Jason Dolan]]></dc:creator>
		<pubDate>Tue, 08 Aug 2023 12:22:08 +0000</pubDate>
				<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Data Pipeline]]></category>
		<category><![CDATA[GA4]]></category>
		<guid isPermaLink="false">http://reflectivedata.com/?p=23650</guid>

					<description><![CDATA[<p>GA360 is a great tool, and for the enterprises that can afford and justify the cost, probably the best analytics tool they can invest in. At the same time, many companies don't have the budget to pay upwards of $150k for an analytics tool.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-overcome-1m-event-limit-ga4-without-ga360">Case Study: Overcoming The 1 Million Event Limit in GA4 Without Upgrading to GA360</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></description>
										<content:encoded><![CDATA[<blockquote><p><span style="font-size: 23px;"><em>GA360 is expensive and we felt like, for our use case, it would be too much. I was delighted to learn that Reflective Data can help us collect over 1M events per day in our BigQuery dataset for a fraction of the cost.</em></span></p>
<p style="text-align: right;">Jurgita, Digital Data Analyst, Vilnius</p>
</blockquote>
<p>GA360 is a great tool, and for the enterprises that can afford and justify the cost, probably the best analytics tool they can invest in. At the same time, many companies don&#8217;t have the budget to pay upwards of $150k for an analytics tool.</p>
<h2>The challenge</h2>
<p>One of the best features of GA4 over the previous version is that even the free version has the BigQuery export pipeline available.</p>
<p>The free version of GA4, though, has a limit on how many events can be exported each day. More specifically, this limit is set at 1M events per day. Barbora, like many companies with large traffic numbers, was reaching this limit in GA4 but at the same time wasn&#8217;t able to justify the cost of GA360.</p>
<h2>The solution</h2>
<p>At Reflective Data, we built a solution called Parallel Tracking for GA4.</p>
<p>Here&#8217;s how it works.</p>
<p>Parallel Tracking duplicates all HTTP requests going from your site or app to GA4 and sends them to Reflective Data&#8217;s processing endpoint.</p>
<p>Data is then processed just like GA4 does it and inserted into your BigQuery dataset. There is no limit on the daily event count with Parallel Tracking.</p>
<figure id="attachment_23652" aria-describedby="caption-attachment-23652" style="width: 745px" class="wp-caption aligncenter"><a  href="http://reflectivedata.com/wp-content/uploads/2023/08/Screenshot-2023-08-08-at-15.07.44.png" data-rel="lightbox-gallery-0" data-rl_title="" data-rl_caption="" title=""><img fetchpriority="high" decoding="async" class="size-full wp-image-23652" src="http://reflectivedata.com/wp-content/uploads/2023/08/Screenshot-2023-08-08-at-15.07.44.png" alt="GA4 to BigQuery 1m event limit" width="745" height="594" srcset="https://reflectivedata.com/wp-content/uploads/2023/08/Screenshot-2023-08-08-at-15.07.44.png 745w, https://reflectivedata.com/wp-content/uploads/2023/08/Screenshot-2023-08-08-at-15.07.44-700x558.png 700w" sizes="(max-width: 745px) 100vw, 745px" /></a><figcaption id="caption-attachment-23652" class="wp-caption-text">Schema for avoiding 1m event limit in GA4</figcaption></figure>
<p>&nbsp;</p>
<p>Getting started with Parallel Tracking is easy as 1, 2, 3.</p>
<h3>Step 1: Tracking code modification</h3>
<p>After signing up for <a href="http://reflectivedata.com/services/google-analytics-4-parallel-tracking/">Parallel Tracking</a>, you&#8217;ll have to enable it by modifying your GA4 implementation. We have plug-and-play solutions for Google Tag Manager, gtag.js, Measurement Protocol and most other implementation methods that GA4 has.</p>
<h3>Step 2: Pipeline activation</h3>
<p>In order to activate the pipeline, all you need to do is provide Reflective Data with a Google Cloud Platform Service Account key file. After providing the key file, GA4 data will start flowing into your BigQuery dataset.</p>
<h3>Step 3: Querying the data</h3>
<p>Once the pipeline is active, you can start querying your GA4 data just like with the default GA4 to BigQuery data export.</p>
<h2>Conclusion</h2>
<p>If your daily event volume in GA4 is close to or exceeds 1 million then you have two options. Upgrade to GA360 or implement <a href="http://reflectivedata.com/services/google-analytics-4-parallel-tracking/">Parallel Tracking</a>. If the event volume exceeding 1 million is the only reason you&#8217;re looking to upgrade, Parallel Tracking is likely a better option as it is several times more affordable compared to GA360.</p>
<p>Ending with another quote from the customer here.</p>
<blockquote><p><em>I guess you could say we were your average enterprise with LOTS of legacy data infrastructure that had been built over many years. This system was extremely complex and very expensive to maintain. When Reflective Data came in, they acted as true professionals, worked very closely with our IT and came up with the plan that pleased everyone.</em></p>
<p><em>Today, being on the new cloud-based data infrastructure for almost a year now, I can say with all certainty that this project was a success. Not only are we saving tens of thousands of dollars every month on the infrastructure alone, the amount of hours it takes to maintain the system has gone from hundreds down to a ten or so. This has huge impact on our business. Implementing anything new would&#8217;ve taken at least 6 months with the old system, now it&#8217;s a matter of week or two to get everything up and running.</em></p>
<p>Last but not the least, Reflective Data saved us another $150k year as we no longer needed to use GA360 and instead implemented their Parallel Tracking solution for GA4.</p>
<p style="text-align: right;">Daria, VP of Marketing, Warsaw</p>
</blockquote>
<p>It&#8217;s feedback like this that makes us love the work we do even more! <a href="http://reflectivedata.com/services/google-analytics-4-parallel-tracking/">Get in touch</a> and learn how we can help you, too.</p>
<p>For more case studies, <a href="http://reflectivedata.com/case-studies/">see here</a>.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-overcome-1m-event-limit-ga4-without-ga360">Case Study: Overcoming The 1 Million Event Limit in GA4 Without Upgrading to GA360</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.reflectivedata.com/case-study-overcome-1m-event-limit-ga4-without-ga360/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Case Study: Building and maintaining a Data Pipeline and Data Warehouse for the Enterprise</title>
		<link>https://www.reflectivedata.com/case-study-building-and-maintaining-a-data-pipeline-and-data-warehouse-for-the-enterprise/</link>
					<comments>https://www.reflectivedata.com/case-study-building-and-maintaining-a-data-pipeline-and-data-warehouse-for-the-enterprise/#respond</comments>
		
		<dc:creator><![CDATA[Jason Dolan]]></dc:creator>
		<pubDate>Mon, 20 Sep 2021 10:35:22 +0000</pubDate>
				<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Data Pipeline]]></category>
		<guid isPermaLink="false">http://reflectivedata.com/?p=11562</guid>

					<description><![CDATA[<p>At Reflective Data, we've worked with companies big and small. This means we have seen all levels of maturity when it comes to the infrastructure and knowledge around data pipelines and data warehouses.</p>
<p>Some of the most challenging projects have been enterprises with quite some infrastructure, legacy pipelines, and of course, opinions. Smaller businesses are just starting to adopt the concept of having all of their data stored in a data warehouse but many enterprises have been doing this for a decade!</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-building-and-maintaining-a-data-pipeline-and-data-warehouse-for-the-enterprise/">Case Study: Building and maintaining a Data Pipeline and Data Warehouse for the Enterprise</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></description>
										<content:encoded><![CDATA[<blockquote><p><span style="font-size: 23px;"><em>The amount of load that Reflective Data was able to lift from the shoulders of my team was unbeliavable. Without their help, we&#8217;d still be building out the pipelines and never gotten to the level of advanced analysis and ML that we&#8217;re able to do now. They let us focus on what brings the most value to our business.</em></span></p>
<p style="text-align: right;">Melanie, Director of Data Analytics, Frankfurt</p>
</blockquote>
<p>At Reflective Data, we&#8217;ve worked with companies big and small. This means we have seen all levels of maturity when it comes to the infrastructure and knowledge around data pipelines and data warehouses.</p>
<p>Some of the most challenging projects have been enterprises with quite some infrastructure, legacy pipelines, and of course, opinions. Smaller businesses are just starting to adopt the concept of having all of their data stored in a data warehouse but many enterprises have been doing this for a decade!</p>
<h2>The challenge</h2>
<p>When many of the enterprises that we&#8217;ve worked with started building their data pipelines, they didn&#8217;t have tools like Airflow, BigQuery etc. that we use and love today. This means the bulk of it was built in-house. Even the concept of cloud computing was in its early days and most operations were kept on-premise.</p>
<p>The challenge with this kind of setup starts by understanding the existing setup. In some cases, the documentation is close to none and the people that built it are no longer with the company. This alone can take a month or so – mapping everything out, understanding the structure, creating the plan for moving forward.</p>
<p>Another challenge is getting everyone on the team on board. More often than not there are people who value the work that has been put into the old system over the years so much that it blinds them from seeing the obvious benefits of moving to a much more modern infrastructure.</p>
<h2>The solution</h2>
<p>When working with the enterprise and legacy infrastructure, nothing happens overnight. Below are the phases of a typical project of getting an enterprise client onto a modern cloud-based data infrastructure.</p>
<h3>Phase 1: understanding and mapping the existing situation</h3>
<p>With most enterprises, it&#8217;s not just one team or system that depends on the data infrastructure. More often than not, this is the backbone of the entire business. This means we need to make sure we understand every aspect of the current system, where it gets the data, how it&#8217;s being processed and what processes depend on this data.</p>
<h3>Phase 2: planning the infrastructure</h3>
<p>We do our best to work closely with all teams involved to make sure their needs are taken into account. This means a series of on-hands meetings where we learn about their use cases and problems they&#8217;re having with the existing setup. The output of this phase is a clear plan for moving forward, including the tool stack, reporting mechanisms and several feedback rounds to make sure everyones&#8217; needs are taken into account.</p>
<h3>Phase 3: implementation</h3>
<p>Depending on the in-house knowledge, resources and other aspects, a company can decide to implement the plan themselves and continue using Reflective Data as a consultant or hire us to handle the technical execution as well. By far, the most effective arrangement in our experience has been where we do the bulk of the work while including a few technical people from the client&#8217;s side in every step of the process. In some cases, those people is hired specifically for this purpose.</p>
<h3>Phase 4: monitoring, reporting and integrations</h3>
<p>The whole point of having high-quality data is to make it actionable. Of course, we handle core integrations within the implementation phase but in a sense, data infrastructure is a growing organism that needs constant attention. Reflective Data is here to build long-term relationships with its clients, ready to help whenever there&#8217;s a new data source to be added, a report to be built or if a new team member needs training.</p>
<h2>Conclusion</h2>
<p>Moving away from a legacy data infrastructure is one of the best actions an enterprise can take towards being more data-driven, more effective in managing the infrastructure and, in all reality, keeping up with the competition.</p>
<p>Ending with another quote from the customer here.</p>
<blockquote><p><em>I guess you could say we were your average enterprise with LOTS of legacy data infrastructure that had been built over many years. This system was extremely complex and very expensive to maintain. When Reflective Data came in, they acted as true professionals, worked very closely with our IT and came up with the plan that pleased everyone.</em></p>
<p><em>Today, being on the new cloud-based data infrastructure for almost a year now, I can say with all certainty that this project was a success. Not only are we saving tens of thousands of dollars every month on the infrastructure alone, the amount of hours it takes to maintain the system has gone from hundreds down to a ten or so. This has huge impact on our business. Implementing anything new would&#8217;ve taken at least 6 months with the old system, now it&#8217;s a matter of week or two to get everything up and running.</em></p>
<p style="text-align: right;">Julien, VP of Marketing, Austin</p>
</blockquote>
<p>It&#8217;s feedback like this that makes us love the work we do even more! <a href="http://reflectivedata.com/services/analytics-services/">Get in touch</a> and learn how we can help you, too.</p>
<p>For more case studies, <a href="http://reflectivedata.com/case-studies/">see here</a>.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-building-and-maintaining-a-data-pipeline-and-data-warehouse-for-the-enterprise/">Case Study: Building and maintaining a Data Pipeline and Data Warehouse for the Enterprise</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.reflectivedata.com/case-study-building-and-maintaining-a-data-pipeline-and-data-warehouse-for-the-enterprise/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Case Study: Storing Google Analytics Data Within The European Union or Locally</title>
		<link>https://www.reflectivedata.com/case-study-storing-google-analytics-data-within-european-union-or-locally/</link>
					<comments>https://www.reflectivedata.com/case-study-storing-google-analytics-data-within-european-union-or-locally/#respond</comments>
		
		<dc:creator><![CDATA[Jason Dolan]]></dc:creator>
		<pubDate>Fri, 12 Mar 2021 12:06:18 +0000</pubDate>
				<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Data Pipeline]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<guid isPermaLink="false">http://reflectivedata.com/?p=8887</guid>

					<description><![CDATA[<p>Data protection and privacy rules are getting tougher all over the world. This is especially true for the European Union and even more so for some specific industries. Including finance, medical and others that handle sensitive information about their users.</p>
<p>While Google Analytics has been making some improvements in the privacy area and is GDPR compliant, this is not enough for many businesses and industries.</p>
<p>At Reflective Data, we're often working with companies that are under close monitoring of their regulators. To help them out, we've built custom solutions that allow storing Google Analytics within the European Union or sometimes even completely locally.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-storing-google-analytics-data-within-european-union-or-locally/">Case Study: Storing Google Analytics Data Within The European Union or Locally</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></description>
										<content:encoded><![CDATA[<blockquote><p><span style="font-size: 23px;"><em>With the help from Reflective Data and using their custom data pipeline for Google Analytics, we were able to avoid sending data to Google Analytics, store everything within the EU and still benefit from the rich and actionable dataset you get with Google Analytics.</em></span></p>
<p style="text-align: right;">Aaron, Chief Data Officer</p>
</blockquote>
<p>&nbsp;</p>
<blockquote><p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e2.png" alt="📢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Everything mentioned in this article applies to both Google Analytics Universal Analytics and GA4, including the built solutions.</p></blockquote>
<p>Data protection and privacy rules are getting tougher all over the world. This is especially true for the European Union and even more so for some specific industries. Including finance, medical and others that handle sensitive information about their users.</p>
<p>While Google Analytics has been making some <a href="https://support.google.com/analytics/answer/9019185?hl=en">improvements in the privacy area</a> and is GDPR compliant, this is not enough for many businesses and industries.</p>
<p>At Reflective Data, we&#8217;re often working with companies that are under close monitoring of their regulators. To help them out, we&#8217;ve built custom solutions that allow storing Google Analytics data within the European Union or sometimes even completely locally, on the servers of our client.</p>
<h2>The challenge</h2>
<p>Do we want it or not, the regulations for collecting, processing and storing data are getting stiffer each year. European Union, with rules like <a href="https://gdpr-info.eu/">GDPR</a>, is a trendsetter in data protection.</p>
<p>While it&#8217;s good from a customers&#8217; perspective, following all those rules and regulations can be quite a challenge for businesses that have to follow them. Especially, as new rules are introduced and the penalties for not following them <a href="https://www.itgovernance.co.uk/dpa-and-gdpr-penalties">can reach millions</a>.</p>
<p>More often than not, the regulations are being launched faster than companies can adopt. Even if the company themselves are doing everything right, it&#8217;s likely that some third-party software they&#8217;re using is lacking behind.</p>
<p>At Reflective Data, we have been contacted by numerous companies that, for a reason or another, aren&#8217;t able to use Google Analytics but would still require a similar dataset and comparable functionality. Let&#8217;s be honest, Google Analytics and its Universal Analytics data model is still one of the best ones available for marketing attribution and website user behavior analysis.</p>
<p><em>Yes, <a href="https://support.google.com/analytics/answer/10089681">Google Analytics 4</a> will be the future of tracking but it&#8217;s nowhere near being ready for production for most businesses due to lacking several critical features.</em></p>
<h2>The solution</h2>
<p>One of our most popular tools is the <a href="http://reflectivedata.com/services/google-analytics-parallel-tracking/">Parallel Tracking for Google Analytics</a>. It&#8217;s a system that allows sending raw hit-level Google Analytics data into a data warehouse. Most commonly, our clients choose this solution for the following reasons.</p>
<ul>
<li>They hit the 10M/hits/mo limit</li>
<li>Problems with data sampling</li>
<li>Looking for alternatives for Google Analytics 360</li>
<li>Need access to raw hit-level data</li>
</ul>
<p>These are all nice features that our clients love but there&#8217;s one more – Parallel Tracking can work without sending data to Google Analytics at all. This is thanks to how our technology was built. Instead of pulling data from Google Analytics using the <a href="https://developers.google.com/analytics/devguides/reporting/core/v4">Reporting API</a> (as many solutions do), we are duplicating all hits that are sent to Google&#8217;s data processing endpoint and sending them to our engine as well. This means, with a simple tracking code modification, we can disable hits being sent to Google Analytics.</p>
<p>Our data processing engine works very similarly to what&#8217;s happening in Google Analytics. Hits are processed and enriched using the same methodology and sessions are processed just like in Google Analytics.</p>
<p>Ultimately, this means you&#8217;ll get the best from both worlds. The rich and actionable dataset of Google Analytics and full ownership of your data. So, whatever regulations apply to how you can store this kind of data, now you have a solution to comply with them.</p>
<blockquote><p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e2.png" alt="📢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Everything mentioned in this article applies to both Google Analytics Universal Analytics and GA4, including the built solutions.</p></blockquote>
<h2>Conclusion</h2>
<p>There are many reasons why you&#8217;d want to use Google Analytics as your analytics platform. Including the rich data model that works for both marketing attribution and user behavior analysis, (almost) unlimited amount of resources, great community, ease of finding people that can work with this model and more.</p>
<p>If, for some reason, you can&#8217;t use Google Analytics. Could be because they&#8217;re storing data outside of the EU or that you need to store everything locally. Then we have a solution for you!</p>
<p>For details and contact information, check out the <a href="http://reflectivedata.com/services/google-analytics-parallel-tracking/">product page for Parallel Tracking</a>.</p>
<p>Ending with another quote from a customer here.</p>
<blockquote><p><em>Before joining the financial institution that I&#8217;m currently working for, I had been a marketing director for various e-commerce companies. This meant that I was really used to tools like Google Analytics. Now, working in finance, I learned that using Google Analytics was not an option due to several regulations and we had to store all data locally on our own servers.</em></p>
<p><em>We had some kind of an in-house solution but that was nowhere near the capabilites and functionality I was used to. I was really lucky to learn about Reflective Data and their Parallel Tracking solution! They were really helpful, worked closely with our team to learn about our needs and finally built a solution that exceeded our expectations. 10/10 would recommend to anyone that for some reason isn&#8217;t allowed to use Google Analytics.</em></p>
<p style="text-align: right;">Michelle, Director of Online Marketing, Frankfurt</p>
</blockquote>
<p>It&#8217;s feedback like this that makes us love the work we do even more! <a href="http://reflectivedata.com/services/analytics-services/">Get in touch</a> and learn how we can help you, too.</p>
<p>For more case studies, <a href="http://reflectivedata.com/case-studies/">see here</a>.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-storing-google-analytics-data-within-european-union-or-locally/">Case Study: Storing Google Analytics Data Within The European Union or Locally</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.reflectivedata.com/case-study-storing-google-analytics-data-within-european-union-or-locally/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Case Study: Sending Data From Shopify and Google Analytics to BigQuery for More Advanced Analysis</title>
		<link>https://www.reflectivedata.com/case-study-sending-data-from-shopify-and-google-analytics-to-bigquery-for-more-advanced-analysis/</link>
					<comments>https://www.reflectivedata.com/case-study-sending-data-from-shopify-and-google-analytics-to-bigquery-for-more-advanced-analysis/#comments</comments>
		
		<dc:creator><![CDATA[Jason Dolan]]></dc:creator>
		<pubDate>Mon, 25 Jan 2021 15:11:20 +0000</pubDate>
				<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Data Pipeline]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<guid isPermaLink="false">http://reflectivedata.com/?p=8090</guid>

					<description><![CDATA[<p>Using Google Analytics Parallel Tracking and a custom data pipeline for Shopify, we managed to get all necessary data in BigQuery for more advanced analysis and reporting.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-sending-data-from-shopify-and-google-analytics-to-bigquery-for-more-advanced-analysis/">Case Study: Sending Data From Shopify and Google Analytics to BigQuery for More Advanced Analysis</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-size: 21pt;">Using Google Analytics Parallel Tracking and a custom data pipeline for Shopify, we managed to get all necessary data in BigQuery for more advanced analysis and reporting.</span></p>
<blockquote><p><strong>About the client</strong></p>
<p>Our client is a successful e-commerce business, headquartered in the UK.</p>
<p>Their focus is on food supplements, nutritional products, and diet plans.</p>
<p>Depending on a season, their monthly online revenue is 1-1.5 million GBP (1.3 &#8211; 2 million USD). This comes from around 14k orders every month.</p></blockquote>
<p><em>Due to NDAs, we are not allowed to disclose the name of the client. Everything else in this case study remains unchanged.</em></p>
<h2>The challenge</h2>
<p>When the company in the focus of this case study first contacted us, their main concerns were about properly tracking customer lifetime value (LTV) and churn. Being in the business of food supplements where, naturally, a big chunk of revenue is coming through subscriptions (automatically recurring orders), keeping track of these metrics is extremely important.</p>
<h3>Tech stack</h3>
<p>The main tech tool stack for this client was a fairly standard one for an e-commerce business of this size. <a href="https://www.shopify.com/plus">Shopify Plus</a> for website and order processing, <a href="https://rechargepayments.com/">ReCharge</a> for handling subscriptions, <a href="https://analytics.google.com/analytics/web/">Google Analytics</a> for general reporting, and <a href="https://www.shipstation.com/">ShipStation</a> for managing shipments.</p>
<p>***</p>
<p>While Shopify can provide you with reports for both LTV and churn (via ReCharge analytics), it is rather limited when it comes to attributing those numbers to your marketing and other efforts like <a href="https://www.optimizely.com/optimization-glossary/conversion-rate-optimization/">CRO</a> or A/B testing.</p>
<p>The client pointed out three main areas where they need a more detailed look into LTV and churn-related metrics:</p>
<ul>
<li>Ad Spend (mostly Google Ads and Facebook)</li>
<li>E-mail campaigns</li>
<li>CRO and A/B testing</li>
</ul>
<h2>The solution</h2>
<p>After having several meetings with various teams from the client&#8217;s side, we had a quite good understanding of what kind of reports they&#8217;re trying to build and what kind of data it requires.</p>
<p>In order to accommodate all of their needs, we had to involve data from the following sources:</p>
<ul>
<li>Shopify</li>
<li>ReCharge</li>
<li>Google Analytics</li>
<li>Google Ads</li>
<li>Facebook Ads</li>
<li>ShipStation</li>
<li>Google Optimize</li>
</ul>
<p>As our solution involved data from more than three sources, it was quite obvious that setting up a data warehouse is required. The client decided to go with our default recommendation for data warehouse software — <a href="https://cloud.google.com/bigquery/">BigQuery</a>.</p>
<h3>Getting data in BigQuery</h3>
<p>As LTV and churn had always been such essential metrics for the client, they had already tried solving this in-house. Their existing tool stack consisted of <a href="https://www.stitchdata.com/">Stitch</a>, <a href="https://supermetrics.com/">Supermetrics</a>, <a href="https://www.mysql.com/">MySQL</a> database and <a href="https://www.google.com/sheets/about/">Google Sheets</a>. While this could&#8217;ve worked in theory, the reality was a really slow system that constantly failed and produced inaccurate numbers.</p>
<p>Our solution involved using <a href="http://reflectivedata.com/services/google-analytics-parallel-tracking/">Parallel Tracking</a> technology for Google Analytics and a <a href="http://reflectivedata.com/analytics-data-pipeline/">custom data pipeline</a> for the rest of the sources. This enabled us to modify the ETL for maximum efficiency while meeting all the data requirements.</p>
<p><a  href="http://reflectivedata.com/wp-content/uploads/2020/03/google-analytics-parallel-tracking_1.png" data-rel="lightbox-gallery-0" data-rl_title="" data-rl_caption="" title=""><img decoding="async" class="aligncenter size-full wp-image-3746" src="http://reflectivedata.com/wp-content/uploads/2020/03/google-analytics-parallel-tracking_1.png" alt="Marketing Data Warehouse" width="900" height="259" srcset="https://reflectivedata.com/wp-content/uploads/2020/03/google-analytics-parallel-tracking_1.png 900w, https://reflectivedata.com/wp-content/uploads/2020/03/google-analytics-parallel-tracking_1-700x201.png 700w, https://reflectivedata.com/wp-content/uploads/2020/03/google-analytics-parallel-tracking_1-768x221.png 768w" sizes="(max-width: 900px) 100vw, 900px" /></a></p>
<h3>Building the reports</h3>
<p>Since our client was already familiar with the rest of Google&#8217;s Marketing Suite and it works really well with BigQuery, using <a href="https://datastudio.google.com/u/0/navigation/reporting">Data Studio</a> for building the reports was an easy choice. Besides being a free (!) tool, by leveraging the <a href="https://cloud.google.com/bigquery/docs/visualize-jupyter">BigQuery BI Engine</a>, Data Studio can provide you with the best performance as well!</p>
<p>After understanding the reports that would be used most frequently, we built a set of 2 main dashboards:</p>
<ul>
<li><strong>LTV</strong> per source/medium/country/product/campaign/age</li>
<li><strong>Churn</strong> per source/medium/country/product/campaign/age</li>
</ul>
<figure id="attachment_8099" aria-describedby="caption-attachment-8099" style="width: 1286px" class="wp-caption aligncenter"><a  href="http://reflectivedata.com/wp-content/uploads/2021/01/screenshot-datastudio.google.com-2021.01.18-17_55_44.png" data-rel="lightbox-gallery-0" data-rl_title="" data-rl_caption="" title=""><img decoding="async" class="size-full wp-image-8099" src="http://reflectivedata.com/wp-content/uploads/2021/01/screenshot-datastudio.google.com-2021.01.18-17_55_44.png" alt="Example of an LTV report" width="1286" height="436" srcset="https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-datastudio.google.com-2021.01.18-17_55_44.png 1286w, https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-datastudio.google.com-2021.01.18-17_55_44-700x237.png 700w, https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-datastudio.google.com-2021.01.18-17_55_44-1024x347.png 1024w, https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-datastudio.google.com-2021.01.18-17_55_44-768x260.png 768w" sizes="(max-width: 1286px) 100vw, 1286px" /></a><figcaption id="caption-attachment-8099" class="wp-caption-text">Example of an LTV report</figcaption></figure>
<p>These dashboards provide the client with a good overview of their key metrics and how they correlate with some of the more common dimensions/attributes. This is a good stepping stone for a deeper analysis and digging for insights.</p>
<p>Luckily, the client&#8217;s marketing team already had a few people that were comfortable working with SQL, Jupyter Notebooks etc. This meant that by pointing them in the right direction and providing a few guidelines, they had everything needed for digging deeper into data stored in BigQuery.</p>
<figure id="attachment_8098" aria-describedby="caption-attachment-8098" style="width: 1284px" class="wp-caption aligncenter"><a  href="http://reflectivedata.com/wp-content/uploads/2021/01/Screenshot-2021-01-18-at-17.53.01.png" data-rel="lightbox-gallery-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-8098" src="http://reflectivedata.com/wp-content/uploads/2021/01/Screenshot-2021-01-18-at-17.53.01.png" alt="Example of a churn report" width="1284" height="563" srcset="https://reflectivedata.com/wp-content/uploads/2021/01/Screenshot-2021-01-18-at-17.53.01.png 1284w, https://reflectivedata.com/wp-content/uploads/2021/01/Screenshot-2021-01-18-at-17.53.01-700x307.png 700w, https://reflectivedata.com/wp-content/uploads/2021/01/Screenshot-2021-01-18-at-17.53.01-1024x449.png 1024w, https://reflectivedata.com/wp-content/uploads/2021/01/Screenshot-2021-01-18-at-17.53.01-768x337.png 768w" sizes="(max-width: 1284px) 100vw, 1284px" /></a><figcaption id="caption-attachment-8098" class="wp-caption-text">Example of a churn report</figcaption></figure>
<p>Besides dashboards and enabling ad-hoc analysis, a few teams also wished for a periodic automated report in their inbox. This was also something we were happy to set up using some custom software on <a href="https://cloud.google.com/">Google Cloud</a>.</p>
<h2>Conclusion</h2>
<p>While this project started as a rather standard one for us, it turned out to include several custom parts that made it fun for us and enabled maximum effectiveness for the client.</p>
<p>What better way to take it all together than a few words from the team we worked with on the client&#8217;s side.</p>
<blockquote><p>We turned to Reflective Data with a rather concrete goal in mind — to fix our LTV and churn tracking and reporting. Being in the business of  food supplements, a large portion of our revenues come from recurring orders. This makes keeping track of those metrics extremely important for us. Not only was Reflective Data able to set up a proper tracking system, they helped us figure out the dashboards, email reports and helped our analysts on SQL analysis! Couldn&#8217;t be happier about this!</p></blockquote>
<p>Nothing&#8217;s better than such warm words from a happy client!</p>
<p>If you, too, need help with your analytics &amp; data setup, <a href="http://reflectivedata.com/services/analytics-services/">get in touch with us</a> for a free consultation session. I&#8217;m sure we can find a solution that suits both of us.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-sending-data-from-shopify-and-google-analytics-to-bigquery-for-more-advanced-analysis/">Case Study: Sending Data From Shopify and Google Analytics to BigQuery for More Advanced Analysis</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.reflectivedata.com/case-study-sending-data-from-shopify-and-google-analytics-to-bigquery-for-more-advanced-analysis/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Case Study: Solving The Discrepancy Between A/B Testing Tool, Google Analytics and Backend Data For a Large E-Commerce Business</title>
		<link>https://www.reflectivedata.com/case-study-solving-ab-testing-google-analytics-backend-finance-discrepancy-ecommerce/</link>
					<comments>https://www.reflectivedata.com/case-study-solving-ab-testing-google-analytics-backend-finance-discrepancy-ecommerce/#comments</comments>
		
		<dc:creator><![CDATA[Jason Dolan]]></dc:creator>
		<pubDate>Fri, 15 Jan 2021 11:33:35 +0000</pubDate>
				<category><![CDATA[A/B testing]]></category>
		<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<guid isPermaLink="false">http://reflectivedata.com/?p=7961</guid>

					<description><![CDATA[<p>Working with skewed data can be worse than having no data at all. This is why we're always promoting all sorts of analytics audits and making sure all data sources agree with each other. At the very least, you should know why the numbers in different tools don't match (i.e. analytics doesn't include offline sales but backend does).</p>
<p>Our client in this case study contacted us with a quite specific problem. They were running a decent CRO program with 4-6 A/B experiments running every month. The problem they had with the program, though, was that the numbers they saw in their testing tool Optimizely, Google Analytics and backend didn't match. In fact, there was a ~35% discrepancy overall.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-solving-ab-testing-google-analytics-backend-finance-discrepancy-ecommerce/">Case Study: Solving The Discrepancy Between A/B Testing Tool, Google Analytics and Backend Data For a Large E-Commerce Business</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-size: 21pt;">With the help of Reflective Data&#8217;s custom data pipeline, BigQuery and improved analytics integrations, we managed to bring the discrepancy between different tools reporting on similar data from ~35% down to ~2.5%.</span></p>
<blockquote><p><strong>About the client</strong></p>
<p>Our client, in this case study, is a large global e-commerce website, headquartered in the US.</p>
<p>Their main focus is on men&#8217;s clothing and they&#8217;re specialising in dress shirts, as well as ties, suits, casualwear, shoes and accessories.</p>
<p>Depending on a season, their monthly online revenue is between 10 and 15 million USD. This comes from around 45k monthly transactions.</p></blockquote>
<p><em>Due to NDAs, we are not allowed to disclose the name of the client. Everything else in this case study remains unchanged.</em></p>
<h2>The challenge</h2>
<p>Working with skewed data can be worse than having no data at all. This is why we&#8217;re always promoting all sorts of analytics audits and making sure all data sources agree with each other. At the very least, you should know why the numbers in different tools don&#8217;t match (i.e. analytics doesn&#8217;t include offline sales but backend does).</p>
<p>Our client in this case study contacted us with a quite specific problem. They were running a decent CRO program with 4-6 A/B experiments running every month. The problem they had with the program, though, was that the numbers they saw in their testing tool <a href="https://www.optimizely.com/">Optimizely</a>, <a href="https://analytics.google.com/analytics/web/#/">Google Analytics</a> and backend didn&#8217;t match. In fact, there was a ~35% discrepancy overall.</p>
<p>While it is almost impossible to reach 100% accuracy with Javascript based tools due to ad-blockers, cookie deletion etc. and some tools have different logic for calculation metrics like conversions, sessions, users — we knew that this discrepancy is way off the limits and immediate action is needed.</p>
<p>This kind of discrepancy was even more concerning as the client was actively running their CRO program. It wasn&#8217;t rare for them to see test results flip based on where they got their numbers (Google Analytics vs Optimizely). This put their entire CRO effort under question internally and the management wasn&#8217;t far from shutting it down. The results just weren&#8217;t trustworthy enough.</p>
<h2>The solution</h2>
<p>Even though the client described some rather clear symptoms, it is necessary to always start with a proper diagnosis of the problem. This way we can be sure that there indeed is a discrepancy between all these tools &#8211; in some cases, the problem can be in how you understand/read the numbers. Another goal for the diagnosis was to understand the size/reach of the problem.</p>
<h3>Diagnosis</h3>
<p>The very first thing we did to diagnose and measure the discrepancy was to get access to all data sources. That included the testing tool (Optimizely), Google Analytics and the client&#8217;s backend numbers. Next, we made sure the metrics are comparable (i.e. all the transactions we see in the backend are indeed supposed to show up in Google Analytics as well). We then put those numbers side-by-side in a spreadsheet and grouped them by date.</p>
<p>After analyzing the daily numbers, we came to the conclusion that there is indeed an average of 35% discrepancy between Optimizely and Google Analytics (less transactions in the testing tool). The discrepancy between Google Analytics and backend, on the other hand, was rather small — just below 3%. This can be considered OK for a Javascript-based analytics tool.</p>
<p>The discrepancy between Google Analytics and Optimizely meant we had to dig deeper on that side. Unfortunately, Optimizely doesn&#8217;t give access to the raw underlying transaction ID level data by default. Luckily, though, we were able to get this data from their support team. With Google Analytics, exporting transaction-level data was doable with a custom report and CSV export. For the Google Analytics dataset, we included dimensions that would give us some extra context — payment gateway, products, device category, country etc.</p>
<p>After pulling transaction-ID-level data from Optimizely and Google Analytics in spreadsheets, we wrote a quick function that would mark the transactions in Google Analytics that didn&#8217;t show up in Optimizely. Then it was time to start looking for some patterns. Is there something in common for all missing transactions?</p>
<p>This is how one version of this spreadsheet looked like. This was to highlight transactions in the backend that didn&#8217;t show up in Google Analytics.</p>
<figure id="attachment_8056" aria-describedby="caption-attachment-8056" style="width: 2560px" class="wp-caption aligncenter"><a  href="http://reflectivedata.com/wp-content/uploads/2021/01/screenshot-docs.google.com-2021.01.15-12_52_23-scaled.jpg" data-rel="lightbox-gallery-0" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-8056" src="http://reflectivedata.com/wp-content/uploads/2021/01/screenshot-docs.google.com-2021.01.15-12_52_23-scaled.jpg" alt="Google Analytics vs Backend" width="2560" height="1437" srcset="https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-docs.google.com-2021.01.15-12_52_23-scaled.jpg 2560w, https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-docs.google.com-2021.01.15-12_52_23-700x393.jpg 700w, https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-docs.google.com-2021.01.15-12_52_23-1024x575.jpg 1024w, https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-docs.google.com-2021.01.15-12_52_23-768x431.jpg 768w, https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-docs.google.com-2021.01.15-12_52_23-1536x862.jpg 1536w, https://reflectivedata.com/wp-content/uploads/2021/01/screenshot-docs.google.com-2021.01.15-12_52_23-2048x1150.jpg 2048w" sizes="(max-width: 2560px) 100vw, 2560px" /></a><figcaption id="caption-attachment-8056" class="wp-caption-text">Google Analytics vs Backend</figcaption></figure>
<h3>Implementing the fixes</h3>
<p>Since the website and payment processing system for this website were rather complex, it turned out there are more than one such patterns. They were all related to the use of various payment gateways, device categories and local sub-sites for specific countries.</p>
<p>In order to come up with a proper solution, we had to dig even deeper into how transaction tracking was set up for both Google Analytics and Optimizely. Luckily, we were able to detect the shortcomings quite fast and fixing them wasn&#8217;t rocket science either. After a few rounds of testing and a couple of A/A tests run in Optimizely, we were able to get the discrepancy number from 35% down to 2.5%.</p>
<p>The main reason for this mismatch was that while <a href="https://marketingplatform.google.com/about/tag-manager/">Google Tag Manager</a> was in use to unify transaction tracking for Google Analytics, tracking snippets for Optimizely were all over the place. The solution involved moving all Optimizely tracking into Google Tag Manager and use the same triggers that were being used for Google Analytics.</p>
<h2>Going forward</h2>
<p>Since the site has a rather complicated structure with multiple payment gateways and different pages for different countries/markets, we wanted to make sure that after implementing the fixes, the discrepancy would not start sneaking in again.</p>
<p>The solution here was a proper monitoring system that would get data from Google Analytics, Optimizely and the backend. Since the client was already on Google Cloud, we recommended using <a href="https://cloud.google.com/bigquery">BigQuery</a> as their data warehouse technology. Besides being really fast and cost-effective, BigQuery has some of the best integrations which makes implementing and using it as a marketing data warehouse much easier.</p>
<h3>Getting data into BigQuery</h3>
<p>For Google Analytics data, we used a technology called <a href="http://reflectivedata.com/services/google-analytics-parallel-tracking/">Parallel Tracking</a>. This allowed us to send raw hit-level unsampled Google Analytics into BigQuery. In real-time and for much cheaper than using Google Analytics 360.</p>
<p>To get data from Optimizely into BigQuery, we built a custom connector using <a href="https://docs.developers.optimizely.com/web/docs/rest-api-introduction">Optimizely API</a>. This solution allowed us to pull only the information that was necessary and make sure it&#8217;s always up to date.</p>
<p>Since the client had a custom backend infrastructure, we built a custom connector between that and BigQuery as well.</p>
<p>All connectors are now running on Google Cloud.</p>
<h3>Reporting and alerts</h3>
<p>In order for the client to be able to check the numbers from all three sources in one place, we built a dashboard using <a href="https://datastudio.google.com/u/0/navigation/reporting">Google Data Studio</a> which has a native connector with BigQuery.</p>
<p>To detect any discrepancies as soon as possible, we also created an automated reporting system with some custom code on Google Cloud Platform. This will send an email to relevant parties every time a certain threshold is passed. So far, it has already detected a few issues the client was able to fix before larger damage was done.</p>
<h2>Conclusion</h2>
<p>Overall, we were quite happy with the results of this project but I believe it&#8217;s better to end with a quote from the client.</p>
<blockquote><p><em>We hadn&#8217;t worked with Reflective Data before but they were recommended by our friends in the industry. We needed a quick but reliable solution to our problem. Our management was questioning the results of our CRO program and we weren&#8217;t far from getting shut down.</em></p>
<p><em>Team at Reflective Data was able to immediately understand our problem and jumped right into solving it. I think all together it took just around 2 weeks for them to diagnose and together with out IT team fix the problems behind this rather large discrepancy.</em></p>
<p><em>After great success with our first project together, we&#8217;ve continued working with them on various data-related projects around our data warehouse, reporting and dashboards.</em></p>
<p style="text-align: right;">Director of e-commerce</p>
</blockquote>
<p>We are so glad about these words from our client and it&#8217;s moments like this that give meaning to our work.  By the way, their CRO program has only grown since we were able to fix the mismatch. So, in a way, we were part of saving the jobs of an entire team.</p>
<p>Should you have similar problems with discrepancy or other data related requirements, <a href="http://reflectivedata.com/analytics-data-pipeline/">please contact us</a> and I&#8217;m quite sure we can work together and find a solution.</p>
<p>The post <a href="https://www.reflectivedata.com/case-study-solving-ab-testing-google-analytics-backend-finance-discrepancy-ecommerce/">Case Study: Solving The Discrepancy Between A/B Testing Tool, Google Analytics and Backend Data For a Large E-Commerce Business</a> appeared first on <a href="https://www.reflectivedata.com">Reflective Data</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.reflectivedata.com/case-study-solving-ab-testing-google-analytics-backend-finance-discrepancy-ecommerce/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
