<?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>Saba Jagmaidze &#8211; scandiweb</title>
	<atom:link href="https://scandiweb.com/blog/author/saba-jagmaidze/feed/" rel="self" type="application/rss+xml" />
	<link>https://scandiweb.com/blog</link>
	<description>Success Stories &#124; scandiweb blog</description>
	<lastBuildDate>Mon, 02 Nov 2026 11:28:38 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.8</generator>

<image>
	<url>https://scandiweb.com/blog/wp-content/uploads/2022/08/6277b7d3d3ca4eb3c978a38c_favicon-1.png</url>
	<title>Saba Jagmaidze &#8211; scandiweb</title>
	<link>https://scandiweb.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Webinar Recap: How Sportland Runs AI Personalization Across 3 Baltic States</title>
		<link>https://scandiweb.com/blog/sportland-bloomreach-cdp-webinar-recap/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Fri, 16 Oct 2026 08:30:12 +0000</pubDate>
				<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[bloomreach]]></category>
		<category><![CDATA[cdp]]></category>
		<category><![CDATA[Customer Data]]></category>
		<category><![CDATA[customer data platform]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[Digital Analytics]]></category>
		<category><![CDATA[ecommerce data analytics]]></category>
		<category><![CDATA[ecommerce personalization]]></category>
		<category><![CDATA[personalization]]></category>
		<category><![CDATA[webinar]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=26649</guid>

					<description><![CDATA[<p>Highlights from our panel discussion: what a CDP delivered across five markets, the numbers, and what they would do differently.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/sportland-bloomreach-cdp-webinar-recap/">Webinar Recap: How Sportland Runs AI Personalization Across 3 Baltic States</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-related-ZNKsYU wp-block-lazyblock-related"><div class="related-services">
  <h3>Related Services</h3>
  <ul>
    
    <li>
      <a  href="https://scandiweb.com/services/customer-data-platform-implementation" target=_blank >
        CDP Implementation
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/analytics" target=_blank >
        eCommerce Analytics
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/digital-transformation" target=_blank >
        Digital Transformation
      </a>
    </li>
    
  </ul>
</div>
</div>


<p class="wp-block-paragraph">Sportland&#8217;s eCommerce team had spent years building more than 100 recommendation blocks by hand, each one a careful guess at what a customer would want next. Then they switched on Bloomreach&#8217;s AI engine, and its recommendations <strong>converted 6x higher</strong>.</p>



<p class="wp-block-paragraph">We covered this story in our recent panel discussion with Sportland and Bloomreach. Sportland&#8217;s marketing and eCommerce leads walked through their customer data platform, what it cost them in time and attention, migration to Bloomreach, and what they would do differently today. Read the rest of the article for the highlights, or here&#8217;s the recording if you prefer to watch:</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="How Sportland runs AI personalization across three Baltic states, and what it took | Webinar" width="688" height="387" src="https://www.youtube.com/embed/BfozK_UXl0Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">Where Sportland started</h2>



<p class="wp-block-paragraph">Sportland opened its online store in 2020, during the first store closures, which the team itself calls late. The following years went into the eCommerce foundation, then customer experience, then performance, and new markets. Personalization only came up in the middle of that journey, when the email tool and the data behind it could no longer keep up with what the team wanted to do.</p>



<p class="wp-block-paragraph">The data about customers was there, in spreadsheets, in the ERP, in the Adobe Commerce backend, and in the email platform. What was missing was any connection between them. And with five markets, Estonia, Latvia, and Lithuania plus smaller operations in Finland and Poland, every flow, web layer, and recommendation engine was built three or four times over. </p>



<p class="wp-block-paragraph">One more thing a multi-market retailer should know. The biggest market has several times the customer data of the smallest, so personalization left to itself widens the gap between strong and weak markets. It has to be designed against, or the best work ends up where it is least needed.</p>



<h3 class="wp-block-heading">CDP project goals</h3>



<p class="wp-block-paragraph">CDP was set to bring more revenue from email and a better return on ads. It would also improve automation, multi-market support, and behavior-based journeys. Email moved from scheduled newsletters toward messages triggered by what a customer does, running on their own. They were also going to build audiences from Sportland&#8217;s own customer data and push them to Google and Meta. Personalization was never the goal as such. A new customer, a repeat customer, someone into one brand or one sport, someone about to lapse, each should get different communication and a different share of the budget.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="576" src="https://scandiweb.com/blog/wp-content/uploads/2026/10/image-6-1024x576.png" alt="" class="wp-image-26655" srcset="https://scandiweb.com/blog/wp-content/uploads/2026/10/image-6-1024x576.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-6-300x169.png 300w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-6-150x84.png 150w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-6-768x432.png 768w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-6-1536x864.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-6.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h2 class="wp-block-heading">What a CDP does</h2>



<p class="wp-block-paragraph">A <a href="https://scandiweb.com/blog/what-is-cdp-customer-data-platforms-guide/" target="_blank" rel="noreferrer noopener">customer data platform</a> brings everything known about a customer into one profile, from every channel and source. Marketing automation acts on that profile, deciding where a journey starts, what gets personalized, and when to stop. </p>



<p class="wp-block-paragraph">In Bloomreach, the AI layer, Loomi, sits inside the platform and takes over decisions that used to be made by hand. It finds the best segment for a campaign from different combinations, writes copy in a set tone of voice, ranks products per visitor, and in what Bloomreach calls contextual personalization, it sends each customer the test variant that people like them responded to, even when that variant lost the overall A/B test.</p>



<p class="wp-block-paragraph">The next step is agents. In the webinar, the demo showed an abandoned-search campaign, with scenario, emails, and dashboards, built from a single request. One Bloomreach client puts the time saved on campaign creation at around 92%.</p>



<h3 class="wp-block-heading">Sportland&#8217;s CDP setup</h3>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><thead><tr><th>Area</th><th>Before</th><th>After</th></tr></thead><tbody><tr><td>Paid media</td><td>Audiences inside the ad platforms</td><td>Audiences built from Sportland&#8217;s own data, refreshed daily and pushed to Google and Meta by rules</td></tr><tr><td>Website</td><td>More than 100 rule-based recommendation blocks, roughly the same products for everyone</td><td>Loomi personalizes every block per visitor, with fallback rules for visitors it cannot identify</td></tr><tr><td>Email</td><td>Manual product recommendations</td><td>Automatic recommendations from the same engine, plus fully automated campaigns and flows</td></tr><tr><td>Customer</td><td>Known one channel at a time</td><td>One profile that the site, email, and ads all read from and write to</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Follow one customer in Tallinn through it:</p>



<ul class="wp-block-list">
<li>The customer sees a Sportland ad for road running shoes on Instagram →</li>



<li>On the homepage, they get what is popular, because they&#8217;re still anonymous →</li>



<li>The customer creates a Sportland ID →</li>



<li>Their anonymous history merges into their profile →</li>



<li>From that point, product pages show alternatives in this customer&#8217;s size that are in stock, and search results are ranked for them specifically →</li>



<li>If this customer leaves at payment, they get a reminder, and 9.6% of those reminders turn into an order →</li>



<li>After delivery, comes a survey and picks chosen for this customer, with a cap on how often they hear from the brand →</li>



<li>Two months of silence, and they gets the new season&#8217;s version of the shoes they bought, in their size and brand →</li>



<li>A year on, Sportland still knows which group this customer belongs to and writes to them accordingly.</li>
</ul>



<h3 class="wp-block-heading">One campaign plan across markets</h3>



<p class="wp-block-paragraph">The campaign side did not get more complicated. Sportland works from one group-wide campaign plan, so the three Baltic markets usually run the same campaign at the same time across email, paid media, web, and stores. The copy is translated and the imagery is local, with each market&#8217;s own athletes and influencers.</p>



<p class="wp-block-paragraph">The personalization is underneath – a running campaign carries one message, but a heavy runner and an everyday runner get different emails, recommendations differ per market, and the automated flows keep running regardless of the campaign calendar.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="576" src="https://scandiweb.com/blog/wp-content/uploads/2026/10/image-1-1024x576.png" alt="" class="wp-image-26669" srcset="https://scandiweb.com/blog/wp-content/uploads/2026/10/image-1-1024x576.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-1-300x169.png 300w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-1-150x84.png 150w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-1-768x432.png 768w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-1-1536x864.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2026/10/image-1.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<h3 class="wp-block-heading">Results</h3>



<ul class="wp-block-list">
<li>+62% more revenue on the same ad spend</li>



<li>+24% orders from automated flows</li>



<li>+24% conversion rate on personalized recommendations </li>



<li>+9.6% of checkout reminders end in an order</li>



<li>Automated flows are a small share of what Sportland sends and bring over 30% of its email revenue.</li>
</ul>



<h3 class="wp-block-heading">What Sportland would do differently</h3>



<ul class="wp-block-list">
<li>Define the first few business problems before exploring what the platform can do. A platform this broad is easy to get distracted by, so pick a use case with a real customer problem, the data to act on it, and a result you will measure. Start small, test, understand why it works, then widen.</li>



<li>Plan for ownership on day one, because the platform launched fast, but changing how the organization works with it took far longer than expected. A partner matters early, but the long-term goal is for nobody outside the company to know the setup better than the company does. Sportland is now moving from built for us to built with us.</li>



<li>Get the architecture right before activation. Flows convert within two weeks, so everyone wants to launch them first, but how markets are separated, how identity resolves, and what gets tracked cannot be undone cheaply later. </li>
</ul>



<p class="wp-block-paragraph">A project like this runs in three phases, and each needs a different team:</p>



<ol class="wp-block-list">
<li><strong>Build</strong> covers data mapping, integrations, migration, and testing, and carries the biggest decisions. </li>



<li><strong>Setup and run</strong> covers local coordination, reporting, optimization, and content, and for Sportland that is where scandiweb did much of the running in the first period. </li>



<li><strong>Control</strong> is where the internal team owns the platform end to end and calls the partner for specific things. Sportland now handles around 80% of the work internally, and the advice is to decide who will own that last phase before the build starts.</li>
</ol>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> <p class="box wp-block-paragraph"><em>Want an outside view on your own personalization setup? <a href="https://scandiweb.com/services/customer-data-platform-implementation" target="_blank" rel="noreferrer noopener">Get in touch with a CDP strategist</a> and book a free discovery and data audit.</em></p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/sportland-bloomreach-cdp-webinar-recap/">Webinar Recap: How Sportland Runs AI Personalization Across 3 Baltic States</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CDP Case Study: Multi-Market Personalization for the Biggest Baltics Sportswear Retailer</title>
		<link>https://scandiweb.com/blog/cdp-case-study-multi-market-personalization-bloomreach/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Tue, 18 Aug 2026 11:52:00 +0000</pubDate>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[bloomreach]]></category>
		<category><![CDATA[case study]]></category>
		<category><![CDATA[cdp]]></category>
		<category><![CDATA[Customer Data]]></category>
		<category><![CDATA[customer data platform]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[Data Tracking]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=23081</guid>

					<description><![CDATA[<p>Read the decisions behind implementing a CDP with Bloomreach for a sportswear giant. Unified customer data, personalization, and more orders.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/cdp-case-study-multi-market-personalization-bloomreach/">CDP Case Study: Multi-Market Personalization for the Biggest Baltics Sportswear Retailer</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-related-Z1YHs1v wp-block-lazyblock-related"><div class="related-services">
  <h3>Related Services</h3>
  <ul>
    
    <li>
      <a  href="https://scandiweb.com/services/customer-data-platform-implementation" target=_blank >
        CDP Implementation
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.ai/ " target=_blank >
        AI-Driven Insights
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/cro-ux" target=_blank >
        A/B Testing
      </a>
    </li>
    
  </ul>
</div>
</div>


<p class="wp-block-paragraph">Automated flows now generate 39% of Sportland&#8217;s email revenue from just 3% of sends. 12 months after the CDP launch, email orders are up 20.6% and paid media has returned 9.5% more revenue on 21.3% less spend, lifting ROAS 39.1%.</p>



<p class="wp-block-paragraph">Behind those numbers is a rebuild of how they collect and use customer data, with scandiweb’s team owning the personalization strategy from initial integration through the AI-driven experiences running today.</p>



<h2 class="wp-block-heading">About</h2>



<p class="wp-block-paragraph">Sportland is the leading sportswear retailer in the Baltics, known for its award-winning in-store experience and broad omnichannel presence. Their business operates across multiple countries, with distinct store views and marketing teams in each market.</p>



<p class="wp-block-paragraph">While they had already made strides in building a strong data foundation, marketing activation was still tied to costly tools, which were limited in terms of the email marketing automations Sportland wanted to implement.</p>



<p class="wp-block-paragraph">They required a solution capable of supporting multiple markets, distinct store views with different languages and product assortments, and siloed customer data. Even before the project began, this complexity presented a significant challenge, as any prospective platform needed robust configuration options to manage user consent data, customer accounts, and product catalogs effectively for campaign execution.</p>



<p class="wp-block-paragraph">Rather than move to another standalone email service provider, scandiweb helped Sportland rethink the foundation.</p>



<h3 class="wp-block-heading">Project goals</h3>



<p class="wp-block-paragraph">To fix fragmented customer data and disconnected marketing touchpoints, we implemented a <a href="https://scandiweb.com/blog/what-is-cdp-customer-data-platforms-guide/" target="_blank" rel="noreferrer noopener">customer data platform (CDP)</a>. The decision to move away from a standalone email marketing platform opened the door to a broader transformation in how Sportland manages and uses customer data in multiple markets with distinct store views and separate customer data handling.</p>



<p class="wp-block-paragraph">A properly implemented CDP enables:</p>



<ul class="wp-block-list">
<li>Centralized collection of data from eCommerce, ERP, POS, email, SMS, support, and more</li>



<li>A 360-degree customer view built on resolved identities and real-time data updates</li>



<li>Advanced audience segmentation using predictive metrics and behavioral insights</li>



<li>Multi-channel campaign delivery with unified messaging across email, ads, and website content.</li>
</ul>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" width="1024" height="536" src="https://scandiweb.com/blog/wp-content/uploads/2025/11/sportland-cdp-project-goals-1024x536.png" alt="cdp diagram" class="wp-image-23082" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/11/sportland-cdp-project-goals-1024x536.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/11/sportland-cdp-project-goals-300x157.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/11/sportland-cdp-project-goals-150x79.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/11/sportland-cdp-project-goals-768x402.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/11/sportland-cdp-project-goals.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</div>


<p class="wp-block-paragraph">Project goals for Sportland’s CDP integration included:</p>



<ul class="wp-block-list">
<li>Migrate the whole email marketing setup from Klaviyo to Bloomreach</li>



<li>Consolidate fragmented customer data across markets into a unified CDP framework</li>



<li>Implement tracking for user behavior across the whole customer journey using the Bloomreach SDK</li>



<li>Integrate backend purchase and refund data via Google BigQuery</li>



<li>Build robust email automation flows, improving upon and expanding what was possible in Klaviyo</li>



<li>Enable A/B testing, predictive segmentation, and automated product recommendations</li>



<li>Sync audiences with Meta and Google Ads for personalized paid marketing</li>



<li>Establish privacy-compliant consent management</li>



<li>Ensure performance is measurable through reporting dashboards in Bloomreach and Looker Studio.</li>
</ul>



<p class="wp-block-paragraph">For more insight into CDPs, watch a recording of our webinar, or read more for all the essentials on how CDPs can help eCommerce retailers grow their revenue:<br><a href="https://scandiweb.com/blog/increase-your-ecommerce-revenue-with-cdps/" target="_blank" rel="noreferrer noopener">How to Increase Your eCommerce Revenue 2-3x with CDPs</a></p>



<h2 class="wp-block-heading">Approach</h2>



<p class="wp-block-paragraph">Sportland knew they had outgrown Klaviyo, but the alternative needed to support more than just email. We assisted in the selection process by comparing capabilities and costs across several CDP solutions. After a series of discovery sessions and technical deep-dives, Bloomreach was chosen for its ability to unify data across channels and support scalable marketing automation.</p>



<h3 class="wp-block-heading">Email marketing platform selection</h3>



<p class="wp-block-paragraph">An often-overlooked factor in marketing platform comparisons is the management and execution perspective – how intuitive it is for teams to build templates, manage dynamic content, and launch campaigns on a day-to-day basis.&nbsp;</p>



<p class="wp-block-paragraph">We chose to migrate to Bloomreach because of its smooth content creation experience, which made assembling emails faster and more efficient. More importantly, it integrated email, CDP, product recommendations, and on-site personalization into a single system, enabling a unified, 360-degree view of the customer and a stronger omnichannel strategy.</p>



<p class="wp-block-paragraph">Initially focused on site search and recommendations, Bloomreach has expanded its capabilities into marketing automation and CDP solutions. Bloomreach’s Composable Personalization Cloud combines data ingestion, AI-driven segmentation, identity resolution features, and delivery through native integrations in one place, enabling the collection and unification of customer data while delivering personalized experiences and messaging to brand customers.&nbsp;</p>



<p class="wp-block-paragraph"><a href="https://scandiweb.com/blog/klaviyo-vs-mailchimp/">Klaviyo remains a strong option</a> for smaller Shopify merchants, but Sportland&#8217;s growth and channel complexity called for a more advanced, unified solution.</p>



<h3 class="wp-block-heading">CDP setup for a multi-market business</h3>



<p class="wp-block-paragraph">Sportland operates across multiple countries, each with its own store view and customer database. A central question was whether to consolidate all markets into one project or split them by country. While a unified project promised simplicity, overlapping data and conflicting user IDs made that approach impractical. Based on our recommendation, we implemented a market-specific structure to preserve data integrity and avoid downstream issues.</p>



<p class="wp-block-paragraph">In the architecture we built, data flows into Bloomreach from Sportland&#8217;s core business systems on one side, and marketing activation flows out to every customer touchpoint on the other.</p>



<p class="wp-block-paragraph"><strong>What feeds Bloomreach</strong></p>



<ul class="wp-block-list">
<li>Magento (eCommerce)</li>



<li>ERP system</li>



<li>GA4 and BigQuery (behavior and backend data)</li>



<li>Google and Meta ads data</li>



<li>Additional sources like POS data are already scoped for the next phase, extending the customer view into physical stores and explicit customer signals.</li>
</ul>



<p class="wp-block-paragraph"><strong>What Bloomreach powers</strong></p>



<ul class="wp-block-list">
<li>Email automated flows and campaigns</li>



<li>Email content personalization</li>



<li>Google and Meta audience syncing</li>



<li>Weblayers</li>



<li>On-site content blocks and personalization</li>



<li>Personalized search</li>



<li>Looker Studio performance reporting.</li>
</ul>



<p class="wp-block-paragraph">Every data source enriches a single customer profile, and every activation channel draws from that same profile.</p>



<h3 class="wp-block-heading">Configuring the foundation</h3>



<p class="wp-block-paragraph">We then began tailoring the Bloomreach setup to Sportland&#8217;s data ecosystem:</p>



<ul class="wp-block-list">
<li>Defined tracking requirements across the entire user journey</li>



<li>Implemented the Bloomreach Web SDK to capture on-site behavior</li>



<li>Structured product catalog attributes and configured the data pipelines</li>



<li>Integrated backend customer, order, and refund data from Google BigQuery with regular syncs into Bloomreach.</li>
</ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped aligncenter wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="731" height="1024" data-id="23085" src="https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-1-731x1024.png" alt="" class="wp-image-23085" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-1-731x1024.png 731w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-1-214x300.png 214w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-1-107x150.png 107w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-1-768x1075.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-1.png 825w" sizes="(max-width: 731px) 100vw, 731px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="700" height="1024" data-id="23086" src="https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review1-700x1024.png" alt="" class="wp-image-23086" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review1-700x1024.png 700w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review1-205x300.png 205w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review1-103x150.png 103w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review1-768x1124.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review1.png 827w" sizes="(max-width: 700px) 100vw, 700px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="754" height="1024" data-id="23087" src="https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review2-754x1024.png" alt="" class="wp-image-23087" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review2-754x1024.png 754w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review2-221x300.png 221w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review2-110x150.png 110w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review2-768x1043.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cdp-spo-ab-testing-review2.png 854w" sizes="(max-width: 754px) 100vw, 754px" /></figure>
<figcaption class="blocks-gallery-caption wp-element-caption"><em>A/B testing opportunities for customer engagement</em></figcaption></figure>



<p class="wp-block-paragraph">Because Bloomreach pricing is tied to the volume of events processed and stored, it was essential to estimate yearly traffic and optimize tracking from the start. We disabled non-essential auto-tracked events and fine-tuned the implementation to retain key data points without overspending.</p>



<p class="wp-block-paragraph">To ensure user privacy, we implemented proper consent logic for event tracking. This was integrated with existing frontend controls so that marketing data collection respects user preferences in all markets.</p>



<h3 class="wp-block-heading">Campaign setup and automation</h3>



<p class="wp-block-paragraph">We redefined and significantly expanded email automation flows compared to their Klaviyo setup. These flows were tailored per market, taking into account local behavior and store-specific logic:</p>



<ul class="wp-block-list">
<li>Browse abandonment flows</li>



<li>Post-purchase product recommendations</li>



<li>Multi-step cart abandonment</li>



<li>Welcome series variations</li>



<li>Targeted outlet campaigns.</li>
</ul>



<p class="wp-block-paragraph"><strong>Automated flows now generate 39% of Sportland&#8217;s email revenue while accounting for just 3% of sends</strong>. With a properly tuned lifecycle program, the right message gets to the right person at the right moment, at scale, without a marketer overseeing every send-out.</p>



<p class="wp-block-paragraph">We also moved Sportland from generic &#8220;active subscribers&#8221; targeting to intelligent segmentation using RFM and predictive models. Segmented flows now generate +18% revenue per recipient compared to generic sends.</p>



<h3 class="wp-block-heading">PPC strategy</h3>



<p class="wp-block-paragraph">We connected Bloomreach to Google and Meta Ads, enabling audience syncing, including predictive segments based on AI-driven purchase likelihood and RFM models.</p>



<p class="wp-block-paragraph">Product recommendations were also migrated from Clerk.io to Bloomreach, requiring extensive QA and catalog mapping to ensure consistent logic across web and backend data layers. Our internal feed management tool played a key role in syncing enriched product data with Bloomreach.</p>



<p class="wp-block-paragraph">To support decision-making outside marketing teams and provide more accessible performance insights, we built reporting views in Bloomreach and Looker Studio. It enables internal stakeholders to monitor and optimize campaigns without needing to navigate the CDP backend.</p>



<h3 class="wp-block-heading">From rule-based to AI-driven personalization</h3>



<p class="wp-block-paragraph">On-site recommendations started rule-based, where someone had to decide in advance what to show whom. Our site personalization &amp; optimization team migrated Sportland to Loomi AI-powered recommendations that learn from behavior and adapt in real time.</p>



<p class="wp-block-paragraph">Early data from the newly launched blocks shows <strong>a 2.4x conversion increase</strong> versus the older rule-based version. An even bigger win is that this personalization engine is repeatable across markets, and every new market Sportland launches inherits it.</p>



<h2 class="wp-block-heading">Results</h2>



<p class="wp-block-paragraph">Within months of launching the new CDP, Sportland saw improvements in email marketing and paid media. The ability to unify backend data with behavioral signals enabled more relevant, better-timed communications, while automation and audience targeting became significantly more advanced compared to the previous setup.</p>



<p class="wp-block-paragraph"><strong>Email marketing</strong></p>



<ul class="wp-block-list">
<li>+20.6% orders</li>



<li>+11.3% placed order rate</li>



<li>+10.4% revenue in the first few months after launch</li>



<li>+48% revenue YoY due to automated flows and predictive segmentation.</li>
</ul>



<p class="wp-block-paragraph"><strong>Paid media performance</strong></p>



<ul class="wp-block-list">
<li>+39.1% ROAS</li>



<li>+9.5% revenue</li>



<li>+25.1% average order value</li>
</ul>



<p class="wp-block-paragraph">– all while <a href="https://scandiweb.com/blog/optimizing-marketing-with-offline-and-online-data/" target="_blank" rel="noreferrer noopener">marketing spend</a> was reduced by 21.3%.</p>



<p class="wp-block-paragraph"><strong>Google Ads</strong></p>



<ul class="wp-block-list">
<li>+29.6% conversions</li>



<li>+72.2% ROAS</li>



<li>+18.5% revenue</li>



<li>-31.2% cost</li>
</ul>



<p class="wp-block-paragraph"><strong>Project outcomes</strong></p>



<ul class="wp-block-list">
<li>Market-specific CDP setup in place to reflect Sportland’s multi-store structure</li>



<li>Sync between frontend and backend customer data</li>



<li>Fully redesigned email automation flows</li>



<li>Consolidated campaign performance reporting in Bloomreach and Looker Studio</li>



<li>Seamless transition from Clerk.io to Bloomreach for product recommendations</li>



<li>Rule-based recommendations replaced with AI-driven Loomi personalization, repeatable in all markets</li>



<li>Sportland&#8217;s team now can manage content blocks and launch campaigns independently</li>



<li>Dedicated CX strategist tying email, paid, and on-site together into a real lifecycle strategy, turning the CDP from a data platform into a business growth engine.</li>
</ul>



<p class="wp-block-paragraph">The setup is built to keep growing – new markets inherit the personalization engine, new channels plug into the same customer view, and Sportland&#8217;s team owns it, running and expanding the system independently.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p><style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> </p><p class="box"><em>A CDP is a way to align your data, teams, and channels around your customer needs. </em><a href="https://scandiweb.com/contact" target="_blank" rel="noreferrer noopener"><em>Request a free consultation with our Analytics team</em></a><em>, and let&#8217;s build a system that works seamlessly, leading to more effective marketing, much stronger customer loyalty, and overall better business results.</em></p><p></p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/cdp-case-study-multi-market-personalization-bloomreach/">CDP Case Study: Multi-Market Personalization for the Biggest Baltics Sportswear Retailer</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Salesforce Data Cloud Is Now Data 360: A 2026 CDP Guide</title>
		<link>https://scandiweb.com/blog/ecommerce-cdp-what-is-salesforce-data-cloud/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 12:52:00 +0000</pubDate>
				<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[Data research]]></category>
		<category><![CDATA[Data Tracking]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[salesforce]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=18890</guid>

					<description><![CDATA[<p>Salesforce Data Cloud is now Data 360. What changed, how the CDP works for eCommerce, and how to prepare for implementation in 2026.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/ecommerce-cdp-what-is-salesforce-data-cloud/">Salesforce Data Cloud Is Now Data 360: A 2026 CDP Guide</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-lazyblock-related lazyblock-related-178Knj">
<div class="related-services">
<h3>Related Services</h3>
<ul>
<li><a href="https://scandiweb.com/scandilytics" target="_blank" rel="noopener">Data Analytics<br />
</a></li>
<li><a href="https://scandiweb.com/loyalty-program" target="_blank" rel="noopener">Customer Loyalty<br />
</a></li>
<li><a href="https://scandiweb.com/services/salesforce-commerce-cloud" target="_blank" rel="noopener">Salesforce Commerce Cloud<br />
</a></li>
</ul>
</div>
</div>
<p>If you have been searching for “Salesforce Data Cloud” and finding more recent results that mention “Data 360” instead, here is the short version. Salesforce rebranded Data Cloud to Data 360 at Dreamforce 2025. The product underneath the name is the same customer data platform you may already be evaluating – the brand position around it has changed substantially.</p>
<p>This guide covers what the rebrand means for eCommerce teams choosing a CDP in 2026, how Data 360 works, what it does that earlier CDPs could not, and how to prepare for a deployment. The way scandiweb frames it for clients is simple: the platform itself is mature, and the Agentforce 360 ecosystem around it is where most of the 2026 decisions actually live.</p>
<h2>Overview</h2>
<ul>
<li>Salesforce Data Cloud was rebranded to Data 360 at Dreamforce 2025 (October 14, 2025) as part of the wider Agentforce 360 platform shift.</li>
<li>Data 360 is the only data engine native to the Salesforce platform – it ingests, unifies, segments, and activates customer data across Commerce Cloud, Marketing Cloud, Service Cloud, and Sales Cloud in real time.</li>
<li>The CDP capabilities did not change with the rebrand. The strategic positioning did – Data 360 is now framed as the live context that fuels AI agents (Agentforce), not as a standalone customer data warehouse.</li>
</ul>
<h2>What is a customer data platform?</h2>
<p>A customer data platform (CDP) is a system that ingests customer data from multiple sources, unifies that data into a single profile per person, and makes the unified profile available to downstream applications for segmentation, personalization, and analytics. Unlike a CRM (which stores known relationships and interactions) or a data warehouse (which stores historical data for analysis), a CDP is built to serve real-time customer-facing decisions across web, mobile, email, and service channels.</p>
<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style>
<div class="box-new">
<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>
<p>If your team can answer “what is this customer’s lifetime value, last touchpoint, and current intent” in under three seconds across every channel, you have a CDP. If it takes a SQL query or a screen share, you do not.</p>
</div>
<p>For a broader treatment of the CDP category, see scandiweb’s <a href="https://scandiweb.com/blog/what-is-cdp-customer-data-platforms-guide/" target="_blank" rel="noopener">guide to customer data platforms for eCommerce</a>.</p>
<h2>What is Salesforce Data 360 (formerly Data Cloud)?</h2>
<p>Salesforce Data 360 is the customer data platform built natively into the Salesforce ecosystem. It ingests customer data from any source – web events, mobile apps, transactional systems, marketing platforms, in-store POS, third-party data – and unifies it into a single real-time customer profile that every Salesforce cloud (Commerce, Marketing, Service, Sales) can act on. As of October 2025, it falls under the Agentforce 360 umbrella alongside Salesforce’s AI agent platform.</p>
<div style="width: 100%; display: flex; align-items: center; justify-content: center;">
<div class="hs-cta-embed hs-cta-simple-placeholder hs-cta-embed-69046695879" style="max-width: 100%; max-height: 100%; width: 680px; height: 382.265625px;"><a href="https://cta-eu1.hubspot.com/web-interactives/public/v1/track/redirect?encryptedPayload=AVxigLIzrJoNLByu257OZCGxcXCItB5ct52VgkjfBa0X4uYKWeaZwrFS3ia2KhD7gZPc1ZMCBnos5LhWVmIL43DtvDCXehZ2PFdMyApTz9HkgPxQK2uISdOr%2BMyFzS2AC6CLwd%2BvnIPEjaWfeHsh70uAsEd2fVc8WMdKAeSfZq0qYw%3D%3D&amp;webInteractiveContentId=69046695879&amp;portalId=25724996" target="_blank" rel="noopener"><img decoding="async" style="height: 100%; width: 100%; object-fit: fill;" src="https://hubspot-no-cache-eu1-prod.s3.amazonaws.com/cta/default/25724996/interactive-69046695879.png" alt="eBooks banner"></a></div>
</div>
<h3>Why the rebrand from Data Cloud to Data 360</h3>
<p>Salesforce has renamed this product five times. The lineage runs Customer 360 Audiences, Salesforce CDP, Marketing Cloud Customer Data Platform, Salesforce Genie, Salesforce Data Cloud, and now Data 360. The Dreamforce 2025 rebrand reflects a strategic shift. Salesforce no longer positions the product as a static data warehouse. The 2026 framing is “live context that fuels AI, automation, and decision-making across the enterprise” (per Apex Hours analysis of the rebrand announcement).</p>
<p>For evaluation teams, the rebrand changes nothing functional in the short term. The license, the data model, the integrations, and the segmentation tools work the same way they did under the Data Cloud name. What changes is the roadmap – every new feature in 2026 lands under the Agentforce 360 umbrella, which means AI-agent integration is now a built-in expectation, not an add-on.</p>
<div class="box-new">
<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>
<p>Buyers evaluating “Salesforce Data Cloud” in 2026 are evaluating Data 360. The product is the same. Anyone selling against you on Data Cloud terminology is either using older marketing materials or trying to confuse the procurement conversation.</p>
</div>
<h2>Why use Salesforce Data 360 for eCommerce?</h2>
<p>Data 360 is the right CDP choice for eCommerce teams in three specific scenarios.</p>
<h3>You already run on Salesforce Commerce Cloud, Marketing Cloud, or Service Cloud</h3>
<p>The native integration is the headline benefit. Data 360 talks to other Salesforce clouds without third-party connectors, without ETL middleware, and without API latency. A unified customer profile created in Data 360 is immediately visible in Service Cloud (so agents see real-time context), in Marketing Cloud (so journey builders trigger on live behavior), and in Commerce Cloud (so storefronts personalize on the next page load). For teams already inside the Salesforce ecosystem, this removes the integration tax that an external CDP would charge.</p>
<h3>You are running headless or composable commerce and need a real-time customer profile</h3>
<p>Headless and composable architectures decouple the storefront from the backend, which means the customer profile cannot live on a monolithic platform. Data 360 acts as the live context layer that any frontend (Magento PWA, Shopify Hydrogen, custom React storefront) can query for personalization and segmentation. scandiweb’s own <a href="https://scandiweb.com/blog/luxury-retail-salesforce-data-cloud-success-story/" target="_blank" rel="noopener">Läderach Salesforce Data Cloud deployment</a> uses this pattern to unify online and in-store customer signals for the luxury chocolate brand.</p>
<h3>You want to deploy AI agents (Agentforce) on top of the CDP</h3>
<p>This is the Dreamforce 2025 thesis in operational form. Agentforce agents (sales assistants, service agents, marketing strategists) need live customer context to be useful. Data 360 is the data engine that gives them that context. If your 2026 roadmap includes any of Agentforce’s eCommerce-relevant agents, you are committing to Data 360 whether you call it a CDP decision or an AI decision. The same logic applies if you are building out the analytics layer underneath – scandiweb’s <a href="https://scandiweb.com/scandilytics" target="_blank" rel="noopener">eCommerce data analytics practice</a> threads Data 360 into the reporting stack so the CDP is not a black box to the analytics team.</p>
<h3>What Data 360 actually does</h3>
<figure class="wp-block-table">
<table>
<tbody>
<tr>
<td><strong>Capability</strong></td>
<td><strong>Practical use in eCommerce</strong></td>
</tr>
<tr>
<td>Ingest raw data</td>
<td>Pull events from storefront, email, mobile app, POS, ad platforms, and third-party data providers into one place</td>
</tr>
<tr>
<td>Clean and transform data</td>
<td>Standardize formats, resolve duplicates, fill missing attributes from related sources</td>
</tr>
<tr>
<td>Map and model data</td>
<td>Apply the Customer 360 Data Model so attributes from different sources connect to one profile</td>
</tr>
<tr>
<td>Identify and unify profiles</td>
<td>Match anonymous web traffic to known customers via deterministic and probabilistic identity resolution</td>
</tr>
<tr>
<td>Segment and activate audiences</td>
<td>Build segments from the unified profile and push them into Marketing Cloud, Commerce Cloud, ad platforms, or any downstream channel in real time</td>
</tr>
</tbody>
</table>
</figure>
<h2>What is the Customer 360 Data Model?</h2>
<p>The Customer 360 Data Model is the structural foundation underneath Data 360. It is the standardized schema that lets data from any source (CRM, ERP, web, mobile, POS) connect to a single customer profile. Without a shared model, every new data source would require custom mapping, and the integration would collapse under its own complexity within a year.</p>
<h3>How the model handles fragmented data</h3>
<p>Most enterprises have customer data scattered across five to fifteen systems – the CRM has contact records, the ERP has order history, the web platform has anonymous session data, the email tool has engagement signals, and the loyalty system has redemption activity. The Customer 360 Data Model provides standardized entities (Individual, Account, Order, Engagement, Loyalty Program Member) so that any source can map into them without bespoke ETL logic.</p>
<h3>Components of the model</h3>
<ul>
<li><strong>Subject area:</strong> a logical grouping of related data objects (Sales, Service, Marketing, Loyalty, Commerce).</li>
<li><strong>Data stream:</strong> a single source feeding data into Data 360 (a web SDK, an S3 bucket, a Salesforce connector).</li>
<li><strong>Data Model Object (DMO):</strong> a structured grouping of data derived from streams and ready for use in segmentation, calculated insights, or activation.</li>
</ul>
<div class="box-new">
<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>
<p>The Customer 360 Data Model is the reason Data 360 deployments do not turn into multi-quarter data engineering projects. If you try to skip the standardized model and roll your own schema, you are buying Data 360 to use it like a data warehouse – which is the most expensive way to use it.</p>
</div>
<h2>How to prepare for a Data 360 implementation</h2>
<p>scandiweb runs every Data 360 (and previously Data Cloud) project through the same six preparation steps. The order matters, and skipping the first three is the most common cause of a deployment that ships on time but does not deliver value.</p>
<h3>1. Define the business outcome before the technical scope</h3>
<p>Data 360 is a means, not an end. The first conversation with stakeholders should answer one question: what decision becomes easier when the unified profile exists? “Personalize the homepage hero by RFM segment” is a usable answer. “Implement a CDP” is not. The technical scope flows from the business outcome.</p>
<h3>2. Identify all stakeholders, not just the technical sponsors</h3>
<p>Data 360 touches Marketing, Service, Sales, Commerce, Legal (data privacy), IT (integration), and Operations (loyalty, fulfillment). Missing one stakeholder typically surfaces three months into the project as a blocker. Identify them at kickoff, document their use cases, and confirm their availability for design review.</p>
<h3>3. Inventory your data sources</h3>
<p>List every system that holds customer data, the format it holds it in, and the cadence it can deliver it (real-time stream, hourly batch, nightly export). The integration approach for each source depends on this inventory. Real-time use cases (web personalization, service-agent context) require streaming sources – batch sources cannot drive them.</p>
<h3>4. Decide identity resolution rules early</h3>
<p>Identity resolution is the heart of every CDP deployment. Decide which attributes you trust as a match (email is high-trust, phone is medium-trust, first-last-name combinations are low-trust without a second factor) and which order you apply them. The rules you set here drive the unified profile quality for every downstream use case. See scandiweb’s deeper treatment of <a href="https://scandiweb.com/blog/unifying-data-for-omnichannel-retail-personalization/" target="_blank" rel="noopener">unifying data for omnichannel personalization</a>.</p>
<h3>5. Plan the activation channels</h3>
<p>A CDP that ingests data without activating it is shelfware. Map every segment to a destination at design time. Marketing Cloud journeys, Commerce Cloud personalization rules, ad-platform audiences, service-agent context cards – each destination needs its own activation contract. For the loyalty-side activation in particular, scandiweb’s <a href="https://scandiweb.com/loyalty-program" target="_blank" rel="noopener">Loyalty Program Accelerator</a> is the downstream surface that turns a Data 360 segment into a tiered reward.</p>
<h3>6. Set evaluation criteria before go-live</h3>
<p>The first 90 days after Data 360 go-live should run against pre-agreed KPIs. Typical examples: time to launch a new audience, share of personalized customer-facing surfaces, lift in repeat-purchase rate on personalized vs control segments, agent handle time with vs without the unified profile.</p>
<div class="box-new">
<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>
<p>The data engineering work is the easier half of a Data 360 implementation. The harder half is stakeholder alignment, identity rules, and activation contracts. Budget 40% of the project for the data side and 60% for the operating-model side.</p>
</div>
<h2>Salesforce Data 360 vs other CDPs in 2026</h2>
<p>The CDP category has consolidated since the Salesforce-Evergage acquisition in 2020. In 2026 the meaningful competitors to Data 360 are Adobe Real-Time CDP, Tealium AudienceStream, Segment (Twilio), and Bloomreach Engagement. The decision is rarely about pure CDP capability – the differentiation lives in which adjacent ecosystem the buyer already runs.</p>
<ul>
<li><strong>Choose Data 360</strong> when you already run Salesforce Commerce, Marketing, or Service Cloud – the native integration eliminates the integration tax.</li>
<li><strong>Choose Adobe Real-Time CDP</strong> when your stack centers on Adobe Experience Manager, Adobe Analytics, or Adobe Commerce.</li>
<li><strong>Choose Tealium or Segment</strong> when you need a vendor-neutral CDP that talks to many ecosystems equally.</li>
<li><strong>Choose Bloomreach Engagement</strong> when personalization and search are your primary use cases and CDP is the supporting layer rather than the centerpiece.</li>
</ul>
<p>For a deeper comparison of personalization tools that sit on top of any of these CDPs, see scandiweb’s <a href="https://scandiweb.com/blog/top-9-website-personalization-tools/" target="_blank" rel="noopener">9 best website personalization tools</a>.</p>
<div class="box-new">
<p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>
<p>The CDP shortlist in 2026 is short. If you already run Salesforce, Data 360 is the default. If you already run Adobe, Real-Time CDP is the default. The harder cases are vendor-neutral stacks where Tealium, Segment, or Bloomreach win on specific personalization or routing strengths.</p>
</div>
<h2>Frequently asked questions</h2>
<h3>Is Salesforce Data Cloud the same as Data 360?</h3>
<p>Yes. Salesforce rebranded Data Cloud to Data 360 at Dreamforce 2025 on October 14, 2025. The underlying product, license, integrations, and data model are the same. The rebrand reflects a strategic shift toward the Agentforce 360 platform, not a functional change in the CDP.</p>
<h3>Is Salesforce Data 360 a CDP?</h3>
<p>Yes. Data 360 (formerly Data Cloud) is a customer data platform built natively into the Salesforce ecosystem. It ingests, unifies, segments, and activates customer data across Salesforce clouds (Commerce, Marketing, Service, Sales) and external channels in real time.</p>
<h3>How is Data 360 different from a CRM?</h3>
<p>A CRM (like Salesforce Sales Cloud or Service Cloud) stores known customer relationships and interactions. A CDP like Data 360 unifies data from many sources – including the CRM – into a single real-time customer profile that downstream applications can act on. The CRM is one input to the CDP, not a replacement for it.</p>
<h3>What does Salesforce Data 360 cost?</h3>
<p>Salesforce does not publish standardized public pricing for Data 360. Pricing scales with the number of unified profiles, the volume of data ingested, and the activation destinations enabled. Enterprise deployments typically start in the low six figures annually, with implementation services running 1.5 to 3 times the first-year license. For an accurate quote, engage Salesforce or a partner with current pricing visibility.</p>
<h3>How long does a Data 360 implementation take?</h3>
<p>A focused Data 360 deployment with two to four data sources and one activation destination ships in 10 to 16 weeks. Enterprise deployments with five or more data sources, complex identity resolution rules, and multiple downstream Salesforce clouds run 4 to 9 months. The variable is rarely the CDP itself – it is the upstream data preparation and the downstream activation contracts.</p>
<h3>Can I use Data 360 with non-Salesforce systems?</h3>
<p>Yes. Data 360 ingests from any source (web SDKs, S3, Snowflake, BigQuery, Kafka streams, REST APIs) and activates to any destination (ad platforms, third-party email tools, custom storefronts). The native integration is the strongest advantage when you already run Salesforce, but Data 360 is not locked to the Salesforce stack.</p>
<h3>What is the difference between Data 360 and Agentforce?</h3>
<p>Data 360 is the customer data platform – the live data engine. Agentforce is the AI-agent platform built on top of that data engine. Agentforce agents use Data 360 as their source of truth for customer context. The two products are sold and licensed separately, but the 2026 product roadmap assumes you use them together.</p>
<h3>About this guide</h3>
<p>Maintained by the scandiweb data and analytics team. Reviewed by Alina Draichuk, Analytics Engineer.</p>
<p><strong>Related reading from the scandiweb blog:</strong></p>
<ul>
<li><a href="https://scandiweb.com/blog/what-is-cdp-customer-data-platforms-guide/" target="_blank" rel="noopener">What is CDP? Guide to customer data platforms for eCommerce</a></li>
<li><a href="https://scandiweb.com/blog/luxury-retail-salesforce-data-cloud-success-story/" target="_blank" rel="noopener">Läderach Salesforce Data Cloud success story</a></li>
<li><a href="https://scandiweb.com/blog/increase-your-ecommerce-revenue-with-cdps/" target="_blank" rel="noopener">How to increase your eCommerce revenue with CDPs</a></li>
<li><a href="https://scandiweb.com/blog/unifying-data-for-omnichannel-retail-personalization/" target="_blank" rel="noopener">Unifying data for omnichannel retail personalization</a></li>
<li><a href="https://scandiweb.com/blog/top-9-website-personalization-tools/" target="_blank" rel="noopener">9 best website personalization tools</a></li>
</ul>
<style>
p.box {<br />
  border: 1px solid black;<br />
  padding: 30px;<br />
  margin: 20px 0;<br />
}<br />
</style>
<p class="box"><em>If you are mapping Data 360 against the other CDPs on your shortlist, that comparison is worth doing with someone who has deployed it. <a href="https://scandiweb.com/contact" target="_blank" rel="noopener">Get in touch</a> and we will walk through where Data 360 fits your Salesforce stack – and where it does not.</em></p>
<p><script type="application/ld+json"><br />
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Is Salesforce Data Cloud the same as Data 360?","acceptedAnswer":{"@type":"Answer","text":"Yes. Salesforce rebranded Data Cloud to Data 360 at Dreamforce 2025 on October 14, 2025. The underlying product, license, integrations, and data model are the same."}},{"@type":"Question","name":"Is Salesforce Data 360 a CDP?","acceptedAnswer":{"@type":"Answer","text":"Yes. Data 360 is a customer data platform built natively into the Salesforce ecosystem. It ingests, unifies, segments, and activates customer data across Salesforce clouds and external channels in real time."}},{"@type":"Question","name":"How is Data 360 different from a CRM?","acceptedAnswer":{"@type":"Answer","text":"A CRM stores known customer relationships and interactions. A CDP like Data 360 unifies data from many sources, including the CRM, into a single real-time customer profile that downstream applications can act on."}},{"@type":"Question","name":"What does Salesforce Data 360 cost?","acceptedAnswer":{"@type":"Answer","text":"Salesforce does not publish standardized public pricing. Enterprise deployments typically start in the low six figures annually, with implementation services running 1.5 to 3 times the first-year license."}},{"@type":"Question","name":"How long does a Data 360 implementation take?","acceptedAnswer":{"@type":"Answer","text":"Focused deployments with two to four data sources ship in 10 to 16 weeks. Enterprise deployments with five or more sources and complex identity resolution run 4 to 9 months."}},{"@type":"Question","name":"Can I use Data 360 with non-Salesforce systems?","acceptedAnswer":{"@type":"Answer","text":"Yes. Data 360 ingests from any source (web SDKs, S3, Snowflake, BigQuery, Kafka, REST APIs) and activates to any destination (ad platforms, third-party email tools, custom storefronts)."}},{"@type":"Question","name":"What is the difference between Data 360 and Agentforce?","acceptedAnswer":{"@type":"Answer","text":"Data 360 is the customer data platform. Agentforce is the AI-agent platform built on top of that data engine. Agentforce agents use Data 360 as their source of truth for customer context."}}]}<br />
</script></p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/ecommerce-cdp-what-is-salesforce-data-cloud/">Salesforce Data Cloud Is Now Data 360: A 2026 CDP Guide</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Adobe Analytics for eCommerce: An Implementation Playbook for Online Retailers</title>
		<link>https://scandiweb.com/blog/how-to-use-adobe-analytics-in-ecommerce/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Mon, 16 Mar 2026 07:13:00 +0000</pubDate>
				<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[Data Tracking]]></category>
		<category><![CDATA[Digital Analytics]]></category>
		<category><![CDATA[ecommerce data analytics]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=14458</guid>

					<description><![CDATA[<p>A practical Adobe Analytics eCommerce playbook: tagging, purchase events, merchandising eVars, Workspace funnels, and AEP Web SDK migration.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/how-to-use-adobe-analytics-in-ecommerce/">Adobe Analytics for eCommerce: An Implementation Playbook for Online Retailers</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-lazyblock-related lazyblock-related-Z1OFqfg">
<div class="related-services">
<h3>Related Services</h3>
<ul>
<li><a href="https://scandiweb.com/ecommerce-analytics-services" target="_blank" rel="noopener">eCommerce Analytics</a></li>
<li><a href="https://scandiweb.com/services/cro-ux" target="_blank" rel="noopener">Conversion Rate Optimization</a></li>
<li><a href="https://scandiweb.com/adobe-commerce-magento" target="_blank" rel="noopener">Adobe Commerce Development</a></li>
</ul>
</div>
</div>
<p>Why does the <code>purchase</code> event in your Adobe Analytics report suite show 87 orders for yesterday while the Magento (Adobe Commerce) order grid shows 102? That gap is the implementation problem nine out of ten merchants actually have with Adobe Analytics for eCommerce – the platform is correctly capturing what the data layer hands it, and the data layer is not handing it everything. Most setup work since the AEP Web SDK rollout is about closing that gap.</p>
<p>This is the implementation playbook the scandiweb Analytics team runs when a retailer asks why their Adobe Analytics numbers do not reconcile with their order management system, why merchandising eVars are blank, or why migrating from AppMeasurement is harder than the docs make it look. For the definitional version – what Adobe Analytics is, what licensing tiers exist, how it differs from Customer Journey Analytics – the sibling article on <a href="https://scandiweb.com/blog/what-is-adobe-analytics-used-for-a-comprehensive-guide/" target="_blank" rel="noopener">what Adobe Analytics is used for</a> is the right starting point. This one assumes you are past that decision and are configuring or fixing the implementation.</p>
<h2>Overview</h2>
<ul>
<li>A working Adobe Analytics eCommerce setup is mostly about the data layer and the seven standard commerce events – not the Analytics UI.</li>
<li>Merchandising eVars and product strings are where most revenue-attribution gaps sit, because they are easy to declare and easy to break.</li>
<li>New 2026 implementations should use the AEP Web SDK and XDM for commerce, with a deliberate parallel-run plan against AppMeasurement before cutover.</li>
</ul>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>If the <code>purchase</code> event count in Adobe Analytics does not match your order grid within 1–2%, the implementation has a data-layer bug, not an Adobe Analytics bug.</p></div>


<h2>What an Adobe Analytics eCommerce implementation needs</h2>
<p>A retailer-grade Adobe Analytics eCommerce setup has six moving parts: a clean data layer, a tagging library (AEP Web SDK or AppMeasurement), a report suite with the right commerce variables, the seven standard commerce events, merchandising eVars for product-level attribution, and a QA harness that catches breakage on deploy. Get those six right, and the reports take care of themselves.</p>
<p>The pattern we see across Adobe Commerce, Shopify Plus, and headless storefronts is that teams over-invest in the report layer and under-invest in the data layer. Reports cannot fabricate data. If <code>scAdd</code> does not fire on add-to-cart, no Workspace project will show you cart abandonment by product. If the data layer passes a string instead of a number into revenue, Adobe Analytics shows the order but contributes zero to revenue totals. The work is in the layer that the marketing team rarely opens.</p>
<p>For a deeper walkthrough of the install path itself – tag manager choices, data element naming, deployment cadence – see our companion guide on <a href="https://scandiweb.com/blog/how-to-implement-adobe-analytics-on-your-website/" target="_blank" rel="noopener">Adobe Analytics implementation steps</a>.</p>
<h3>The six things to declare before the first tag fires</h3>
<ol>
<li>Report suite ID per environment (production, staging, dev), with timezone matched to the merchant of record.</li>
<li>eVar and prop assignments documented in a Solution Design Reference (SDR) – the single artifact that prevents two teams overwriting the same eVar slot.</li>
<li>The seven Adobe Analytics standard commerce events: <code>scOpen</code>, <code>scAdd</code>, <code>scRemove</code>, <code>scView</code>, <code>scCheckout</code>, <code>purchase</code>, <code>prodView</code>.</li>
<li>Merchandising eVars (typically eVar1–eVar5) flagged for the right binding type – <code>Product Syntax</code> for category, <code>Conversion Variable Syntax</code> for campaigns – and the right allocation model.</li>
<li>The <code>products</code> string format: <code>category;productID;quantity;price;events;eVars</code> for every commerce hit.</li>
<li>A QA layer (Adobe Experience Platform Debugger plus a CI script that diffs network calls against expected events on the top five user journeys).</li>
</ol>
<h2>Tagging strategy: AEP Web SDK or AppMeasurement?</h2>
<p>For new 2026 implementations, the AEP Web SDK is the default. AppMeasurement still works, and Adobe still supports it, but every new feature – including the integration paths that connect Adobe Analytics to <a href="https://scandiweb.com/blog/measuring-success-in-unified-commerce-with-adobe-commerce/" target="_blank" rel="noopener">Adobe Commerce KPIs</a> and Adobe Journey Optimizer – lands on the Web SDK first. Adobe Experience Platform documentation now treats Web SDK as the recommended path for <a href="https://experienceleague.adobe.com/en/docs/experience-platform/collection/use-cases/collect-commerce-data" target="_blank" rel="noopener">collecting commerce data</a> (Adobe, May 2026).</p>
<p>The trade-off is real. Web SDK requires XDM schema work upfront – mapping each commerce event into the Adobe Experience XDM ExperienceEvent schema, which adds two to four weeks of analyst time at the start. AppMeasurement gets a basic implementation live faster, but technical debt compounds: every time Adobe rolls out a new Adobe Experience Cloud product, you build a new integration instead of inheriting it from the platform.</p>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>Use AEP Web SDK for new implementations and any major re-tagging project. Keep AppMeasurement only on stable, low-change estates where the migration ROI does not justify the schema work this quarter.</p></div>


<h3>When to keep AppMeasurement (for now)</h3>
<ul>
<li>A stable estate with no Adobe Experience Cloud expansion on the 12-month roadmap.</li>
<li>A small team without analyst bandwidth to design XDM schemas and run a parallel-tagging window.</li>
<li>An immediate platform replatform on the horizon – do the AEP migration on the new platform, not the dying one.</li>
</ul>
<h3>When to migrate now</h3>
<ul>
<li>Activating Adobe Real-Time CDP, Customer Journey Analytics, or Journey Optimizer this year.</li>
<li>Running multi-brand or multi-region report suites where XDM&#8217;s stricter schema enforcement prevents the eVar drift we see in older AppMeasurement implementations.</li>
<li>Replacing legacy tag manager configurations as part of a broader <a href="https://scandiweb.com/blog/adobe-experience-cloud-a-breakdown-of-services-and-integrations/" target="_blank" rel="noopener">Adobe Experience Cloud ecosystem</a> rollout.</li>
</ul>
<h2>Designing the report suite for eCommerce</h2>
<p>A report suite for a single-storefront retailer is straightforward: one production suite, one staging suite, one rollup if the brand also runs a B2B channel. It gets harder with multi-region, multi-brand, and franchise estates – where the same product catalog runs through different storefronts at different prices, and finance still wants one number for global revenue.</p>
<p>The Adobe Experience League commerce report suite template covers the canonical baseline: timezone, currency, default page settings, and the seven standard commerce events (<a href="https://experienceleague.adobe.com/en/docs/analytics/admin/admin-tools/manage-report-suites/report-suite-templates/commerce-admin" target="_blank" rel="noopener">Adobe Experience League, May 2026</a>). Use it as the starting point, then layer brand-specific decisions on top.</p>
<h3>eVar assignments that age well</h3>
<p>The merchandising eVars (the ones that capture product-level attribution) are where most implementations break in year two. Reserve at minimum:</p>
<ul>
<li><strong>eVar1 – Product category</strong> (Product Syntax binding, Last Touch allocation).</li>
<li><strong>eVar2 – Internal search term</strong> (Conversion Variable Syntax, Most Recent allocation).</li>
<li><strong>eVar3 – Campaign / channel</strong> (Conversion Variable Syntax, Linear allocation if you run a multi-touch attribution model).</li>
<li><strong>eVar4 – Customer segment / cohort</strong> (Visit expiration).</li>
<li><strong>eVar5 – Promotion or coupon code</strong> (Conversion Variable Syntax, Most Recent allocation).</li>
</ul>
<p>Document the binding type and allocation model in the SDR. The most common bug we audit is two analysts independently re-purposing eVar3 for two different campaigns six months apart – at which point the data behind every paid-channel ROI report is silently corrupted.</p>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>An SDR is not a document for the analytics team. It is a contract between engineering, analytics, and marketing on which eVar slot owns what – the artifact that prevents silent eVar drift two years from now.</p></div>


<h2>The purchase event and the data layer</h2>
<p>The <code>purchase</code> event is the single most important commerce event and the one that gets implementation wrong the most often. A correct <code>purchase</code> hit contains:</p>
<ul>
<li><code>events=purchase</code> plus <code>events=event1</code> if you track first-time buyer separately.</li>
<li>The <code>products</code> string with category, product ID, quantity, price, the same <code>purchase</code> event repeated per line, and merchandising eVar values.</li>
<li>The order ID, currency, tax, and delivery cost in their own data elements (often binding into eVar6 and eVar7, plus the appropriate currencyCode in XDM).</li>
</ul>
<p>The three failure modes scandiweb sees across audits:</p>
<ol>
<li><strong>Duplicate <code>purchase</code> hits</strong> – the data layer fires on the order confirmation page AND on a return-to-page refresh. Fix: dedupe on <code>purchaseID</code> in the tagging library, not in the report suite.</li>
<li><strong>Missing tax and delivery-cost breakouts</strong> – revenue arrives, but finance cannot reconcile to the ERP because tax is bundled into the <code>currencyCode</code> total. Fix: declare tax and delivery cost as discrete numeric data elements before launch, not after the first finance complaint.</li>
<li><strong>String-typed revenue</strong> – the data layer hands over <code>"129.95"</code> instead of <code>129.95</code>, and Adobe Analytics silently coerces or drops it depending on the SDK version. Fix: cast numbers explicitly in the data layer. Never assume the back end will send the right type.</li>
</ol>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>A <code>purchase</code> hit that does not reconcile to the order grid is almost always a data-layer typing or deduplication bug – not an Adobe Analytics configuration bug.</p></div>


<h2>How do you set up Adobe Analytics for an eCommerce site?</h2>
<p>Setting up Adobe Analytics for an eCommerce site is a five-step sequence: build a clean data layer, install the AEP Web SDK or AppMeasurement, create a report suite from the commerce template, configure the seven standard commerce events plus merchandising eVars, and validate every event with the Adobe Experience Platform Debugger before declaring the implementation live.</p>
<p>The work that is invisible in that summary is the data layer. A clean data layer is a JSON object available on every page that names the event (<code>page</code>, <code>productView</code>, <code>cartAdd</code>, <code>purchase</code>, etc.), describes the page or product or cart contents in stable property names, and is populated by the back end before the tag manager reads it. Without that contract between the back end and the tag manager, the frontend tag fires on stale or partial data, and every downstream report inherits the mistake.</p>
<h3>A practical five-day implementation cadence</h3>
<ul>
<li><strong>Day 1</strong> – SDR review and data-layer specification. Sign-off between engineering, analytics, and marketing on event names and properties.</li>
<li><strong>Day 2</strong> – Backend implementation of the data layer on cart, checkout, and order confirmation pages.</li>
<li><strong>Day 3</strong> – Tag manager configuration in staging (Adobe Experience Platform Data Collection or Adobe Launch). For more on tag library options, see <a href="https://scandiweb.com/blog/optimize-your-digital-strategy-with-adobe-launch/" target="_blank" rel="noopener">Adobe Launch tag management</a>.</li>
<li><strong>Day 4</strong> – Test plan execution: 20+ scripted journeys covering catalog browse, add-to-cart, abandonment, guest checkout, logged-in checkout, and refund.</li>
<li><strong>Day 5</strong> – Production cutover with a parallel-tagging window if the old AppMeasurement install stays live for reconciliation.</li>
</ul>
<h2>Analysis Workspace for eCommerce: the four reports that earn their keep</h2>
<p>A retailer team that opens Analysis Workspace daily uses four projects, not forty. Build these first and ignore the temptation to roll out a dashboard of vanity metrics.</p>
<h3>1. Purchase funnel with fallout</h3>
<p>Steps: <code>prodView</code> → <code>scAdd</code> → <code>scCheckout</code> → <code>purchase</code>. Visualize as a fallout report segmented by device, by traffic source, and by new vs returning. The fallout step that loses the most users is the page that earns the next CRO test – not the page with the most traffic.</p>
<h3>2. Product contribution analysis</h3>
<p>For any spike or dip in conversion, run Workspace&#8217;s Contribution Analysis on the <code>purchase</code> event grouped by product, category, and campaign. It surfaces which dimension value moved the metric the most. Pair this with <a href="https://scandiweb.com/blog/sending-adobe-target-data-to-google-analytics-4/" target="_blank" rel="noopener">Adobe Target and GA4 integration</a> when the spike traces back to a personalization test.</p>
<h3>3. Cart abandonment cohort</h3>
<p>A weekly cohort of users who hit <code>scAdd</code> but not <code>purchase</code> within 7 days, segmented by category and price band. Feed the cohort into Adobe Journey Optimizer or your ESP for triggered emails.</p>
<h3>4. Revenue attribution by channel</h3>
<p>A flow visualization from the first-touch channel to the converting channel, weighted by your allocation model. This is where the Linear vs Last Touch vs Algorithmic decision shows up – which is why the eVar3 allocation choice in the SDR matters so much.</p>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>Four Workspace projects, not forty. A team that opens fallout, contribution, cohort, and attribution every day does more with Adobe Analytics than a team with thirty dashboards no one reads.</p></div>


<h2>Common Adobe Analytics eCommerce pitfalls (and how the scandiweb Analytics team handles them)</h2>
<p>The patterns repeat across the merchants we audit. None of them is mysterious, and all of them are preventable.</p>
<ul>
<li><strong>Two report suites with the same name.</strong> Multi-region rollouts create staging suites that copy production names with a <code>-staging</code> suffix and then drift apart. Fix: a documented suite naming convention enforced in the SDR.</li>
<li><strong>Data-layer values that exist on staging but not production.</strong> The product team tests in staging, where the data layer is enriched. Production goes out without the same enrichment. Fix: data-layer regression tests run on every release.</li>
<li><strong>Merchandising eVars filled by the front end instead of the back end.</strong> Frontend-populated eVars break the moment a third-party script changes load order. Fix: backend-rendered data layer, always.</li>
<li><strong>Tag manager rules duplicating events.</strong> Two analysts add two rules that both fire <code>scAdd</code>. Cart additions double. Fix: a single ownership matrix for tag manager rules and a code review step before publishing.</li>
<li><strong>No DataWarehouse exports.</strong> Finance asks for raw transaction data and the team has no way to pull it. Fix: schedule DataWarehouse exports to S3 weekly from Day 1.</li>
</ul>
<p>scandiweb has delivered Adobe Commerce and Magento (Adobe Commerce) projects with full Adobe Analytics implementations for retailers across apparel, electronics, and grocery since opening in 2003 – more than 2,100 eCommerce projects in total. The pitfalls above are the ones that recur on the technical-audit calls we run before quoting an analytics fix.</p>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>The fastest gain on most Adobe Analytics eCommerce setups is not new tracking – it is fixing the data-layer contract between the back end and the tag manager that no one has audited since launch.</p></div>


<h2>How is Adobe Analytics different from Google Analytics 4 for eCommerce?</h2>
<p>For eCommerce specifically, Adobe Analytics gives you deeper product-level attribution through merchandising eVars and richer Workspace analysis (fallout, contribution, cohort). Google Analytics 4 gives you a free entry point, native BigQuery export, and tight Google Ads integration. The choice is rarely about features – it is about whether your team has the analyst depth to use Adobe&#8217;s flexibility without breaking it.</p>
<p>That is the lighter take. For a fuller comparative breakdown, including pricing, look at the sibling guide on <a href="https://scandiweb.com/blog/how-much-does-adobe-analytics-cost-comparing-packages-pricing/" target="_blank" rel="noopener">Adobe Analytics pricing tiers</a> and the definitional companion on <a href="https://scandiweb.com/blog/what-is-adobe-analytics-used-for-a-comprehensive-guide/" target="_blank" rel="noopener">what Adobe Analytics is used for</a>. For most enterprise retailers running Adobe Commerce already, Adobe Analytics removes a procurement conversation – the licensing slot is open, and the integration with Adobe Real-Time CDP and Adobe Target removes the data-stitching overhead that GA4-plus-third-party-CDP stacks add.</p>
<h2>Migrating from AppMeasurement to the AEP Web SDK</h2>
<p>The migration is a four-stage program, not a tag swap. Stage 1 is XDM schema design – mapping every existing eVar, prop, and event into the XDM ExperienceEvent schema with commerce extensions. Stage 2 is parallel implementation – both libraries running side by side, writing to two separate report suites or two separate datasets. Stage 3 is reconciliation – running daily diffs on the top metrics until the variance is within 1%. Stage 4 is cutover and AppMeasurement removal.</p>
<p>The reconciliation step is where most projects stall. Variances above 5% almost always trace to one of three causes: timing differences in how the two libraries flush hits, schema-mapping errors where a data element was renamed but not re-bound, or sampling differences in cases where one library lazy-loaded and the other did not. Plan for two to four weeks of reconciliation, not one. The Adobe Experience League integration documentation between Adobe Commerce and Adobe Analytics has the canonical mapping for product, cart, and order data (<a href="https://experienceleague.adobe.com/en/docs/integrations-learn/experience-cloud/integrations-between-applications/analytics/analytics-commerce" target="_blank" rel="noopener">Adobe Experience League, April 2026</a>).</p>
<p>For retailers also running content-driven storefronts, the same migration logic applies to the <a href="https://scandiweb.com/blog/elevate-your-digital-marketing-strategy-with-adobe-experience-manager/" target="_blank" rel="noopener">Adobe Experience Manager for the eCommerce</a> layer, where the data layer often spans multiple delivery channels.</p>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>Budget two to four weeks of reconciliation after Stage 3 cutover. The AppMeasurement-to-AEP variance never closes in a single week, regardless of how careful the schema mapping was.</p></div>


<h2>Why is my Adobe Analytics revenue number different from my order management system?</h2>
<p>Almost always a data-layer issue, not an Adobe Analytics issue. The four most common causes are duplicate <code>purchase</code> hits (refresh on confirmation page), missing or mis-typed revenue values (string instead of number), refund handling not subtracting from the original order, and a timezone mismatch between the report suite and the order management system. Audit those four before assuming the report suite is wrong.</p>
<p>The harder cases involve guest-checkout users hitting Adobe Analytics from a different domain than the order placement endpoint, or PCI-compliant checkout flows that block the SDK on the final confirmation page. Both are solvable, but both require a server-side hit to recover the conversion – Adobe&#8217;s Server-Side Forwarding or a direct Adobe Experience Platform Edge Network call from the order management system on order create.</p>
<h2>Use cases that move the needle for eCommerce teams</h2>
<p>A properly implemented Adobe Analytics for eCommerce setup is the data substrate for personalization, retention, and merchandising decisions. The four use cases retailers come back to:</p>
<ul>
<li><strong>Cart abandonment recovery</strong> – cohort exports feeding a triggered email or Adobe Journey Optimizer flow.</li>
<li><strong>Product affinity for merchandising</strong> – Workspace&#8217;s Item dimension on <code>prodView</code> segmented by category to surface cross-sell pairs.</li>
<li><strong>CRO test triage</strong> – fallout reports identifying the highest-loss step before any test brief gets written. Pair with our <a href="https://scandiweb.com/services/cro-ux" target="_blank" rel="noopener">Conversion Rate Optimization</a> work for an end-to-end CRO program.</li>
<li><strong>Adobe-derived industry benchmarks</strong> – Adobe&#8217;s Digital Economy Index publishes monthly US online consumer transaction trends derived from Adobe Analytics data (<a href="https://business.adobe.com/resources/digital-economy-index.html" target="_blank" rel="noopener">Adobe Business, 2026</a>), useful for sizing a brand&#8217;s performance against the wider market without licensing third-party panel data.</li>
</ul>
<h2>When Adobe Product Analytics fits alongside Adobe Analytics</h2>
<p>Adobe Product Analytics is the newer product-led-growth sibling to Adobe Analytics. For eCommerce specifically, Adobe positions it as the surface for &#8220;real shopper behavior into growth – timing, intent, and triggers made actionable&#8221; (<a href="https://business.adobe.com/blog/basics/ecommerce-analytics" target="_blank" rel="noopener">Adobe for Business, September 2025</a>). The practical division: Adobe Analytics is still the system of record for revenue, channel attribution, and funnel reports. Adobe Product Analytics is the exploration layer for behavioral cohort discovery without writing SQL.</p>
<p>Most retailers do not need both yet. Implement Adobe Analytics correctly first, then layer Product Analytics on the same XDM dataset when the analyst team has the bandwidth to use exploration tools that are not pre-built dashboards.</p>
<h2>FAQ</h2>
<h3>What are the seven standard commerce events in Adobe Analytics?</h3>
<p>The seven standard Adobe Analytics commerce events are <code>scOpen</code> (cart opened), <code>scAdd</code> (item added to cart), <code>scRemove</code> (item removed), <code>scView</code> (cart viewed), <code>scCheckout</code> (checkout started), <code>purchase</code> (order placed), and <code>prodView</code> (product detail viewed). They anchor every commerce report and every Workspace funnel. Declare all seven before launch, even if you only need three on Day 1.</p>
<h3>Do I need to use eVars for product attribution in Adobe Analytics for eCommerce?</h3>
<p>Yes. Merchandising eVars are how Adobe Analytics ties a conversion event back to the specific product or category that earned it. Without merchandising eVars configured correctly (binding type plus allocation model), revenue still arrives in reports, but you cannot break it down by product, category, or campaign, which makes most eCommerce decisions impossible.</p>
<h3>Can Adobe Analytics replace my order management system for revenue reporting?</h3>
<p>No. Adobe Analytics is the source of behavioral revenue – revenue attributable to traffic, channels, and campaigns. The order management system is the source of accounting revenue – revenue net of refunds, returns, and chargebacks. The two should reconcile within 1–2%, and they should never replace each other.</p>
<h3>How long does an Adobe Analytics eCommerce implementation take?</h3>
<p>A clean implementation on a single-storefront site with an existing data layer takes two to three weeks of analyst plus engineering time. A multi-brand, multi-region implementation or an AppMeasurement-to-AEP Web SDK migration takes six to twelve weeks, with most of the time spent on schema design and reconciliation, not on tagging itself.</p>
<h3>Should I migrate to the AEP Web SDK now or wait?</h3>
<p>Migrate now if you are activating any other Adobe Experience Cloud product this year (Real-Time CDP, Journey Optimizer, Customer Journey Analytics). Wait if the estate is stable, the analyst team is small, or a platform replatform is on the 12-month roadmap – in which case, do the AEP work on the new platform.</p>
<h3>What is the most common Adobe Analytics eCommerce implementation bug?</h3>
<p>The most common bug is a <code>purchase</code> event that does not reconcile to the order management system, caused by a data-layer issue – usually a duplicate hit on confirmation-page refresh or a string-typed revenue value the SDK does not parse correctly. Audit the four data-layer causes (duplicate, type, refunds, timezone) before changing any Adobe Analytics configuration.</p>
<h3>Is Adobe Analytics worth it for a mid-market eCommerce retailer?</h3>
<p>For retailers already on Adobe Commerce or planning a move into Adobe Experience Cloud (Real-Time CDP, Target, Journey Optimizer), Adobe Analytics removes a procurement and integration conversation. For standalone Shopify or BigCommerce retailers without other Adobe products, Google Analytics 4 plus a third-party CDP is usually a more proportionate spend.</p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p><style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> <p class="box"><em>Decide whether your Adobe Analytics setup is closing the gap between behavioral revenue and your order management system, or quietly widening it. </em><a href="https://scandiweb.com/ecommerce-analytics-services" target="_blank" rel="noreferrer noopener"><em>Book an Adobe Analytics audit</em></a><em> and the scandiweb Analytics team will work through the data layer, the eVar map, and the AEP migration plan with your engineering and marketing leads.</em></p></p>



<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Adobe Analytics for eCommerce: An Implementation Playbook for Online Retailers",
  "description": "A practical Adobe Analytics eCommerce playbook: tagging, purchase events, merchandising eVars, Workspace funnels, and AEP Web SDK migration.",
  "author": { "@type": "Organization", "name": "scandiweb" },
  "publisher": {
    "@type": "Organization",
    "name": "scandiweb",
    "logo": { "@type": "ImageObject", "url": "https://scandiweb.com/wp-content/uploads/2020/06/scandiweb-logo.png" }
  },
  "datePublished": "2023-04-06",
  "dateModified": "2026-06-01",
  "mainEntityOfPage": "https://scandiweb.com/blog/how-to-use-adobe-analytics-in-ecommerce/"
}
</script>



<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://scandiweb.com/" },
    { "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://scandiweb.com/blog/" },
    { "@type": "ListItem", "position": 3, "name": "Adobe Analytics for eCommerce: An Implementation Playbook for Online Retailers", "item": "https://scandiweb.com/blog/how-to-use-adobe-analytics-in-ecommerce/" }
  ]
}
</script>



<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    { "@type": "Question", "name": "What are the seven standard commerce events in Adobe Analytics?", "acceptedAnswer": { "@type": "Answer", "text": "The seven standard Adobe Analytics commerce events are scOpen, scAdd, scRemove, scView, scCheckout, purchase, and prodView. They anchor every commerce report and every Workspace funnel. Declare all seven before launch, even if you only need three on Day 1." } },
    { "@type": "Question", "name": "Do I need to use eVars for product attribution in Adobe Analytics for eCommerce?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. Merchandising eVars are how Adobe Analytics ties a conversion event back to the specific product or category that earned it. Without merchandising eVars configured correctly (binding type plus allocation model), revenue still arrives in reports but you cannot break it down by product, category, or campaign." } },
    { "@type": "Question", "name": "Can Adobe Analytics replace my order management system for revenue reporting?", "acceptedAnswer": { "@type": "Answer", "text": "No. Adobe Analytics is the source of behavioral revenue. The order management system is the source of accounting revenue. The two should reconcile within 1 to 2 percent, and they should never replace each other." } },
    { "@type": "Question", "name": "How long does an Adobe Analytics eCommerce implementation take?", "acceptedAnswer": { "@type": "Answer", "text": "A clean implementation on a single-storefront site with an existing data layer takes two to three weeks of analyst plus engineering time. A multi-brand or AppMeasurement-to-AEP migration takes six to twelve weeks." } },
    { "@type": "Question", "name": "Should I migrate to the AEP Web SDK now or wait?", "acceptedAnswer": { "@type": "Answer", "text": "Migrate now if you are activating any other Adobe Experience Cloud product this year (Real-Time CDP, Journey Optimizer, Customer Journey Analytics). Wait if the estate is stable, the analyst team is small, or a platform replatform is on the 12-month roadmap." } },
    { "@type": "Question", "name": "What is the most common Adobe Analytics eCommerce implementation bug?", "acceptedAnswer": { "@type": "Answer", "text": "The most common bug is a purchase event that does not reconcile to the order management system, caused by a data-layer issue, usually a duplicate hit on confirmation-page refresh or a string-typed revenue value the SDK does not parse correctly." } },
    { "@type": "Question", "name": "Is Adobe Analytics worth it for a mid-market eCommerce retailer?", "acceptedAnswer": { "@type": "Answer", "text": "For retailers already on Adobe Commerce or planning a move into Adobe Experience Cloud, Adobe Analytics removes a procurement and integration conversation. For standalone Shopify or BigCommerce retailers without other Adobe products, Google Analytics 4 plus a third-party CDP is usually a more proportionate spend." } }
  ]
}
</script>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/how-to-use-adobe-analytics-in-ecommerce/">Adobe Analytics for eCommerce: An Implementation Playbook for Online Retailers</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Google Analytics 4 Benefits: 10 Features Worth Knowing in 2026</title>
		<link>https://scandiweb.com/blog/10-key-benefits-google-analytics-4/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Thu, 12 Feb 2026 17:15:00 +0000</pubDate>
				<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Customer Journey]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[Data Tracking]]></category>
		<category><![CDATA[Digital Analytics]]></category>
		<category><![CDATA[ecommerce data analytics]]></category>
		<category><![CDATA[GA4]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Google Analytics 4]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=5391</guid>

					<description><![CDATA[<p>Google analytics 4 benefits, decoded for 2026: 10 features that actually change how a team measures, from BigQuery export to predictive audiences.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/10-key-benefits-google-analytics-4/">Google Analytics 4 Benefits: 10 Features Worth Knowing in 2026</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-lazyblock-related lazyblock-related-1eVDD5">
<div class="related-services">
<h3>Related Services</h3>
<ul>
<li><a href="https://scandiweb.com/ga4-migration-consultancy" target="_blank" rel="noopener">GA4 Migration</a></li>
<li><a href="https://scandiweb.com/services/analytics" target="_blank" rel="noopener">Data &amp; Analytics</a></li>
<li><a href="https://scandiweb.com/services/cro-ux" target="_blank" rel="noopener">Conversion Optimization</a></li>
</ul>
</div>
</div>
<p>Most posts about google analytics 4 benefits read like a feature inventory: 22 capabilities listed flat, ranked by no one. The real question analytics owners have is different. Which features change the way a team measures, and which ones look impressive in a deck and then sit untouched for a year? This piece sorts the 10 that pull their weight, with the limits, eligibility thresholds, and quota math that most lists quietly skip.</p>
<p>Universal Analytics stopped processing data on July 1, 2023 (<a href="https://support.google.com/analytics/answer/11583528?hl=en" target="_blank" rel="noopener noreferrer">Google Help</a>). Standard GA4 properties have been the only Google Analytics for nearly three years, so the operational questions have shifted: less &#8220;should we migrate,&#8221; more &#8220;are we using the engagement model, the BigQuery export, and the predictive audiences in a way that improves a single decision.&#8221; scandiweb runs GA4 as a Google Premier Partner across 2,100+ eCommerce projects delivered, including a Looker Studio + BigQuery setup that <a href="https://scandiweb.com/blog/save-135k-annually-with-ga4-and-bigquery/" target="_blank" rel="noopener noreferrer">saved one merchant €135,000 annually</a> versus a GA360 contract. The benefits below are framed in that operational light.</p>
<h2>Overview</h2>
<ul>
<li>GA4&#8217;s event-based model, engagement metric, and BigQuery export are the three features that genuinely change a measurement workflow. The rest are useful but secondary.</li>
<li>Predictive metrics need 1,000+ qualifying users in the last 28 days to activate, and standard data retention defaults to 2 months unless BigQuery is set up.</li>
<li>Honest limits matter. Explorations can sample over 10M events, default retention is short, and the API quotas bite fast when reporting scales.</li>
</ul>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>The features worth knowing are the ones that change a workflow. Three do, the engagement model, the event-based schema, and BigQuery export. The other seven are useful in specific cases, and we will say where.</p></div>


<h2>1. Engaged sessions and the engagement rate (the metric that replaced bounce rate)</h2>
<p>The engaged session is GA4&#8217;s headline behavioral change. A session counts as &#8220;engaged&#8221; if it lasts at least 10 seconds, fires at least one conversion event, or includes at least two pageviews or screenviews (<a href="https://support.google.com/analytics/answer/12253478?hl=en" target="_blank" rel="noopener noreferrer">Google Help</a>). Engagement rate is the percentage of sessions that meet one of those three. Bounce rate, in GA4, is its inverse.</p>
<p>Why this matters: in Universal Analytics, a &#8220;bounce&#8221; was any single-page session, no matter how long the visitor stayed. An eight-minute read that ended in a tab close was indistinguishable from a misclick. GA4&#8217;s engaged session reads that visit correctly. Teams comparing GA4 against archived UA numbers should expect engagement rate to land roughly where <code>1 minus bounce rate</code> did, but the meaning is closer to what they actually wanted to measure.</p>
<p>For our own blog reporting, the engagement-rate switch cut &#8220;false bounces&#8221; on long-form articles by roughly a third versus the legacy UA metric, which mostly meant the SEO team stopped chasing a number that was never the right one.</p>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>Engaged sessions count visits with at least 10 seconds, one conversion event, or two pageviews. Engagement rate is its percentage. Bounce rate is its inverse, same data, more useful framing.</p></div>


<h2>2. The event-based data model (everything is an event)</h2>
<p>GA4 replaced UA&#8217;s session-and-pageview model with a flat event model. A pageview is <code>page_view</code>. A purchase is <code>purchase</code>. A button click is an event you name, with the parameters you choose. There is no hit limit per session because there are no sessions in the schema, just <code>session_start</code> events the system reconstructs at query time.</p>
<p>The practical payoff: any interaction the website or app can fire (a 25%-watch video, a quote-form submit, an add-to-cart variant) becomes a first-class entity that can be turned into a conversion, a custom dimension, or a BigQuery row, without coding around a hit-count cap. The old UA 10M-hits-per-property ceiling is gone.</p>
<p>The friction is at the implementation end. A well-instrumented GA4 needs an event-naming convention that survives a year of marketing experiments. Inconsistent event names (&#8220;Add to Cart&#8221; vs <code>add_to_cart</code> vs <code>AddToCart</code>) are the single most common reason a GA4 audit finds the data unusable.</p>
<h2>3. Cross-device and cross-platform tracking (web + app in one property)</h2>
<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" class="wp-image-5420 aligncenter" src="https://scandiweb.com/blog/wp-content/uploads/2021/05/ga4-cross-platform-tracking.jpg" sizes="(max-width: 1000px) 100vw, 1000px" srcset="https://scandiweb.com/blog/wp-content/uploads/2021/05/ga4-cross-platform-tracking.jpg 1000w, https://scandiweb.com/blog/wp-content/uploads/2021/05/ga4-cross-platform-tracking-300x157.jpg 300w, https://scandiweb.com/blog/wp-content/uploads/2021/05/ga4-cross-platform-tracking-150x78.jpg 150w, https://scandiweb.com/blog/wp-content/uploads/2021/05/ga4-cross-platform-tracking-768x402.jpg 768w" alt="Cross-platform tracking in GA4 web and app combined" width="1000" height="523" />
<figcaption>GA4 merges web and Firebase app data in one property, so cross-device journeys finally stitch together.</figcaption>
</figure>
</div>
<p>GA4 properties unify web (gtag) and app (Firebase) data inside one property. A user who reads on desktop, browses on mobile web, and buys in the iOS app shows up as one journey, provided GA4 has a User-ID or Google Signals to stitch them. Before GA4, this needed manual data joins or a paid GA360 license.</p>
<p>The honest part: identity stitching is only as good as the signals it has. A strong logged-in customer base resolves most journeys via User-ID. If most visitors are anonymous and Consent Mode v2 is denying analytics_storage, GA4 falls back to modeled data, useful, but a model, not a measurement. Treat cross-device numbers as directional unless you can show what fraction of sessions carried a User-ID.</p>
<h2>4. BigQuery export (the feature that decides whether a GA4 is mature)</h2>
<p>The BigQuery export was the headline payoff of GA4 from day one. Every standard property can stream raw, event-level, unsampled data into a Google Cloud project. Under GA360 this was a five- or six-figure annual line item. In GA4 it sits inside the free tier, subject to BigQuery&#8217;s own pricing: 10 GB of active storage and 1 TB of on-demand query data per month at no charge (<a href="https://cloud.google.com/bigquery/pricing" target="_blank" rel="noopener noreferrer">Google Cloud BigQuery pricing</a>).</p>
<p>The operational truth: for a high-traffic eCommerce property, the 1 TB query allowance fills quickly once a few dashboards run scheduled queries. The merchant case study linked in the intro came in around €4,000 a year all-in for the full GA4 + BigQuery + Looker Studio stack, with cost dominated by storage, not query.</p>
<p>For teams hitting GA4&#8217;s API rate limits in Looker Studio, our <a href="https://scandiweb.com/blog/ga4-api-quota-apocalypse-and-how-to-survive-it/" target="_blank" rel="noopener noreferrer">GA4 API quota breakdown</a> covers moving the heavy lifting into BigQuery.</p>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>BigQuery&#8217;s free tier handles modest reporting needs. For high-traffic merchants, the costs are real but small versus GA360, typically four figures a year, not five or six.</p></div>


<h2>5. Predictive metrics and predictive audiences</h2>
<p>GA4 ships three predictive metrics from Google&#8217;s machine-learning models: purchase probability (chance a user active in the last 28 days buys in the next 7), churn probability (chance a user active in the last 7 days goes inactive in the next 7), and predicted revenue (expected 28-day revenue from an active user). Each can be turned into a predictive audience and pushed into Google Ads (<a href="https://support.google.com/analytics/answer/9355671?hl=en" target="_blank" rel="noopener noreferrer">Google Help</a>).</p>
<p>The eligibility thresholds are what most listicles skip. A predictive metric only activates if, over the prior 28 days, at least 1,000 returning users triggered the relevant predictive event (<code>purchase</code> or <code>in_app_purchase</code> for purchase models, any user-engagement signal for churn), with at least 1,000 users not triggering it. Properties under that traffic threshold see &#8220;insufficient data&#8221; and nothing else. Most failed predictive audiences are not a setup bug, just a volume floor.</p>
<p>For merchants over the threshold, predictive audiences run hot. Our PPC team has used purchase-probability audiences to weight Google Ads bidding on a fashion merchant&#8217;s account and recorded a roughly 30% lift in conversion rate on the predictive segment, with spend reallocated rather than added.</p>
<h2>6. Native integrations with Google Ads, Search Console, BigQuery, and Looker Studio</h2>
<p>GA4&#8217;s native integration set is more usable than UA&#8217;s was. Google Ads audiences sync both ways. Search Console surfaces organic queries inside GA4&#8217;s Acquisition reports. BigQuery is the export hub. Looker Studio reads GA4 through the dedicated connector or, for any non-trivial dashboard, through BigQuery for speed and quota relief.</p>
<p>The integration most under-used in practice is the Search Console one. Two clicks to enable, and query-level organic data appears alongside the rest of acquisition: useful for any content team historically living in a separate tab for organic. The dashboard we built around this for an apparel merchant is documented in the <a href="https://scandiweb.com/blog/looker-studio-dashboard-migration-custom-bi-setup-with-google-analytics-4/" target="_blank" rel="noopener noreferrer">Looker Studio migration case</a>, which also covers the BigQuery-routed pattern that keeps the GA4 API quota off the critical path.</p>
<h2>7. Intelligent tracking with Consent Mode and behavioral modeling</h2>
<p>GDPR, ePrivacy, and parallel rules in California, Brazil, and the UK have made cookie-only tracking a dead-end. GA4&#8217;s answer is Consent Mode v2 plus behavioral modeling. When a visitor denies analytics_storage, GA4 still records anonymous, modeled signals (no client_id, no cross-session join) and uses machine-learning to estimate the behavior of the consented population on top.</p>
<p>What this means in practice: a GA4 property with Consent Mode v2 set up and modeling enabled does not see the hard drop in measured conversions that UA properties hit the day a cookie banner went live. The modeled data is not perfect, but it closes the difference between <a href="https://scandiweb.com/blog/ga4-unassigned-traffic/">a 20-30% measurement gap</a> and an indefensible one. For merchants in the EU, getting Consent Mode v2 right is now table stakes. The CMP and signals need correct implementation before modeling can do its job.</p>
<h2>8. Free advanced analysis – explorations</h2>
<p>The exploration suite (path, funnel, segment overlap, cohort, user lifetime, free-form) is GA4&#8217;s answer to what was previously GA360-only Analysis Hub. Every standard property can build ad-hoc funnels, see the most common paths between any two events, or compare segment overlaps without a paid tier.</p>
<p>The exploration that pays for itself first is the funnel. A 4- or 5-step funnel from product view to purchase, with drop-off rates per step, tells a merchant where the leak is in 30 seconds. Path exploration, in contrast, is interesting to look at and rarely changes a decision unless used surgically.</p>
<p>The quirk worth flagging: explorations sample for very high event counts. A property with more than ~10M events in the chosen date range will show a yellow shield icon and a sampled result. Standard reports, by contrast, are unsampled. If the number matters for a budget call, run it in standard reports or BigQuery.</p>
<h2>9. Retention reports and user lifetime</h2>
<p>GA4 ships first-class retention and cohort reports out of the box. The retention report shows how returning users behave over the 42 days following acquisition. The user-lifetime exploration shows LTV and engagement curves by acquisition source, campaign, or audience.</p>
<p>These are the reports most marketing teams forget exist. A weekly look at retention by acquisition channel often separates the channels that buy revenue from the channels that buy customers, and the gap is often counter-intuitive. Paid social often ranks high on first purchase and low on 30-day retention. Organic search and email tend to do the opposite.</p>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>Look at the retention report by acquisition channel monthly. It will rank your channels differently than your last-click report does, and the gap is often where the budget reallocation lives.</p></div>


<h2>10. Data-retention controls plus a privacy-first default</h2>
<p>GA4 lets the admin set event data retention to 2 months or 14 months in the property settings (<a href="https://support.google.com/analytics/answer/10637618?hl=en" target="_blank" rel="noopener noreferrer">Google Help</a>). The default is 2 months. After the window expires, event-level data is purged from the interface (aggregated counts remain, but no event-level explorations against expired data).</p>
<p>The 2-month default is the single thing that catches most teams off-guard in year one. A team running a quarterly review in month four cannot pull event-level audiences against month one&#8217;s data unless retention was raised to 14 months on day one, and 14 months is the maximum GA4 offers. For anything beyond that, BigQuery export is the only durable answer, which is why BigQuery sits at #4 on this list rather than as a nice-to-have.</p>
<p>For a deeper read on the pattern, see <a href="https://scandiweb.com/blog/how-to-overcome-ga4-api-request-limits-and-save-on-costs-with-bigquery-looker-studio/" target="_blank" rel="noopener noreferrer">how to overcome GA4 API limits</a>.</p>
<h2>Where GA4 still bites: the honest limitations</h2>
<p>GA4 is the only Google Analytics now, but it is not free of friction. The five things teams should plan around:</p>
<ol>
<li><strong>API quotas hit faster than expected.</strong> The GA4 Data API&#8217;s per-property and per-project quotas (concurrent requests, tokens per hour, tokens per day) can be exhausted by a moderately complex Looker Studio dashboard. Standard fix: push heavy queries into BigQuery.</li>
<li><strong>Explorations sample on large date ranges.</strong> Over ~10M events in the window, the result is sampled. Standard reports and BigQuery are not. For budget decisions, do not pull from a sampled exploration.</li>
<li><strong>Data retention is short by default.</strong> Two months standard, 14 months maximum in the UI. Anything beyond that needs BigQuery export from day one.</li>
<li><strong>Identity stitching is signal-dependent.</strong> Without User-ID or Google Signals, cross-device journeys are modeled. The model is reasonable but it is a model.</li>
<li><strong>The interface still has rough edges.</strong> Some reports load slower than UA equivalents, the custom-report builder is more capable but less intuitive, and teams new to GA4 typically need 4-6 weeks before the muscle memory catches up.</li>
</ol>


<style>  .box-new {    background-color: #f8f4ef;    padding: 20px 30px 30px 30px;    border: none;  }  .box-new p {    margin-top: 0;    margin-bottom: 1em;  }  .box-new p:last-child {    margin-bottom: 0;  }</style><div class="box-new">  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>  <p>The two friction points that catch most teams, 2-month default retention and the API quota, have the same fix. Set up BigQuery export early.</p></div>


<h2>What is the biggest benefit of Google Analytics 4 versus Universal Analytics?</h2>
<p>The single biggest benefit is the unsampled, event-level data warehouse GA4 makes accessible through BigQuery on the free tier. Under UA, raw event-level data was a GA360 feature with a five- or six-figure annual price tag. In GA4, every standard property streams it for free, subject to BigQuery&#8217;s own usage pricing. Engagement rate, predictive audiences, and cross-platform tracking all flow from that change.</p>
<h2>How long does GA4 store data, and why does it matter?</h2>
<p>GA4 stores event-level data for 2 months by default and up to 14 months if the admin raises the retention setting in property administration. After the window, data is purged from the GA4 interface, though aggregated counts in standard reports remain. For year-over-year, cohort, or customer-lifetime analysis past 14 months, BigQuery export from day one is the only durable answer.</p>
<h2>Is Google Analytics 4 free, and where do the costs actually come from?</h2>
<p>GA4 itself is free under the standard usage limits. Costs appear in two places: BigQuery (storage and query, beyond the 10 GB and 1 TB monthly free tiers), and the human time to instrument events well. Most eCommerce merchants land between €1,500 and €6,000 a year all-in for the GA4 + BigQuery + Looker Studio stack, a small fraction of what GA360 cost for the same data depth.</p>
<h2>FAQ</h2>
<h3>Is GA4 replacing Universal Analytics?</h3>
<p>GA4 replaced Universal Analytics on July 1, 2023, when standard UA properties stopped processing data. GA360 UA properties followed on July 1, 2024. Existing UA reports are no longer accessible in the Google Analytics interface, so GA4 is the only Google Analytics for any merchant running it today.</p>
<h3>What is the difference between Google Analytics 4 and Universal Analytics?</h3>
<p>GA4 uses an event-based data model and unifies web and app data in one property, where UA used a session-and-pageview model and tracked them separately. GA4 also ships free BigQuery export, predictive metrics, and a privacy-first identity model, none of which UA offered on standard properties.</p>
<h3>How many users does a property need to activate predictive audiences in GA4?</h3>
<p>Predictive metrics activate once a property has at least 1,000 returning users who triggered the relevant predictive event (and 1,000 who did not) in the prior 28 days. Properties under that volume see &#8220;insufficient data.&#8221; This is the most common reason small-merchant predictive audiences fail to populate.</p>
<h3>Can GA4 be used without cookies?</h3>
<p>GA4 with Consent Mode v2 records modeled, anonymous signals when a visitor denies analytics_storage. The data is modeled rather than measured, but the modeling closes most of the measurement gap that cookie-banner deployments otherwise create. The CMP setup needs to be correct before modeling can do its job.</p>
<h3>What is an engaged session in GA4?</h3>
<p>An engaged session lasts at least 10 seconds, fires at least one conversion event, or includes at least two pageviews or screenviews. Engagement rate is the share of sessions meeting one of those three, and is GA4&#8217;s replacement for UA&#8217;s bounce rate.</p>
<h3>Does GA4 sample data?</h3>
<p>Standard reports are not sampled. Explorations are sampled once a date range covers more than ~10 million events. BigQuery export is never sampled. For a budget or campaign decision, run the number from standard reports or BigQuery, not from a sampled exploration.</p>
<h3>How do I avoid hitting GA4 API quota limits in Looker Studio?</h3>
<p>Route heavy reporting through BigQuery rather than the GA4 Data API directly. Looker Studio reads from the BigQuery export, which has no per-property GA4 quota and runs faster.</p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p><style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> <p class="box"><em>Sorting which GA4 features actually move a measurement workflow is a different exercise from listing them. If you want a clear-eyed read on which features are pulling weight in your property today, and which ones look impressive in a dashboard and then sit untouched, </em><a href="https://scandiweb.com/ga4-migration-consultancy" target="_blank" rel="noreferrer noopener"><em>book a GA4 audit</em></a><em> with the scandiweb analytics team.</em></p></p>



<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Google Analytics 4 Benefits: 10 Features Worth Knowing in 2026",
  "description": "Google analytics 4 benefits, decoded for 2026: 10 features that actually change how a team measures, from BigQuery export to predictive audiences.",
  "datePublished": "2022-07-21",
  "dateModified": "2026-06-01",
  "author": {
    "@type": "Organization",
    "name": "scandiweb"
  },
  "publisher": {
    "@type": "Organization",
    "name": "scandiweb",
    "logo": {
      "@type": "ImageObject",
      "url": "https://scandiweb.com/blog/wp-content/uploads/2021/05/scandiweb-logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://scandiweb.com/blog/10-key-benefits-google-analytics-4/"
  }
}
</script>



<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://scandiweb.com/" },
    { "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://scandiweb.com/blog/" },
    { "@type": "ListItem", "position": 3, "name": "Google Analytics 4 Benefits: 10 Features Worth Knowing in 2026", "item": "https://scandiweb.com/blog/10-key-benefits-google-analytics-4/" }
  ]
}
</script>



<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is GA4 replacing Universal Analytics?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "GA4 replaced Universal Analytics on July 1, 2023, when standard UA properties stopped processing data. GA360 UA properties followed on July 1, 2024. Existing UA reports are no longer accessible in the Google Analytics interface, so GA4 is the only Google Analytics for any merchant running it today."
      }
    },
    {
      "@type": "Question",
      "name": "What is the difference between Google Analytics 4 and Universal Analytics?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "GA4 uses an event-based data model and unifies web and app data in a single property, where Universal Analytics used a session-and-pageview model and tracked web and app separately. GA4 also ships free BigQuery export, predictive metrics, and a privacy-first identity model, none of which UA offered on standard properties."
      }
    },
    {
      "@type": "Question",
      "name": "How many users does a property need to activate predictive audiences in GA4?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Predictive metrics activate once a property has at least 1,000 returning users who triggered the relevant predictive event (and 1,000 who did not) in the prior 28 days. Properties under that volume see insufficient data. This is the single most common reason small-merchant predictive audiences fail to populate."
      }
    },
    {
      "@type": "Question",
      "name": "Can GA4 be used without cookies?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "GA4 with Consent Mode v2 records modeled, anonymous signals when a visitor denies analytics_storage. The data is modeled rather than measured, but the modeling closes most of the measurement gap that cookie-banner deployments would otherwise create. The CMP and signals setup needs to be done correctly before the modeling can do its job."
      }
    },
    {
      "@type": "Question",
      "name": "What is an engaged session in GA4?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "An engaged session is a session that lasts at least 10 seconds, fires at least one conversion event, or includes at least two pageviews or screenviews. Engagement rate is the share of sessions that meet one of those three conditions, and is the metric GA4 uses where Universal Analytics used bounce rate."
      }
    },
    {
      "@type": "Question",
      "name": "Does GA4 sample data?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Standard reports in GA4 are not sampled. Explorations are sampled once a date range covers more than approximately 10 million events. BigQuery export is never sampled. For any number being used to make a budget or campaign decision, run it from standard reports or BigQuery, not from a sampled exploration."
      }
    },
    {
      "@type": "Question",
      "name": "How do I avoid hitting GA4 API quota limits in Looker Studio?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The standard pattern is to route heavy reporting through BigQuery rather than the GA4 Data API directly. Looker Studio reads from the BigQuery export, which has no per-property GA4 quota and runs faster."
      }
    }
  ]
}
</script>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/10-key-benefits-google-analytics-4/">Google Analytics 4 Benefits: 10 Features Worth Knowing in 2026</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Case Study: Dated Magento 1 Migration to a Modern Magento 2 Experience for B2B Buyers</title>
		<link>https://scandiweb.com/blog/dated-magento1-migration-to-a-modern-magento2-b2b-experience/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Mon, 03 Nov 2025 12:15:00 +0000</pubDate>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[b2b]]></category>
		<category><![CDATA[ecommerce platform]]></category>
		<category><![CDATA[GA4]]></category>
		<category><![CDATA[Google Analytics 4]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[magento 2]]></category>
		<category><![CDATA[Magento Migration]]></category>
		<category><![CDATA[Magento security]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[migration support]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=23055</guid>

					<description><![CDATA[<p>Case study about Cook Medical migrating to Magento 2, resulting in a modern B2B storefront with role-based access and full analytics tracking.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/dated-magento1-migration-to-a-modern-magento2-b2b-experience/">Case Study: Dated Magento 1 Migration to a Modern Magento 2 Experience for B2B Buyers</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-related-Z1A8OkO wp-block-lazyblock-related"><div class="related-services">
  <h3>Related Services</h3>
  <ul>
    
    <li>
      <a  href="https://scandiweb.com/magento-website-development" target=_blank >
        B2B Magento Development
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/adobe-magento-2-migration" target=_blank >
        Adobe/Magento Migration
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/analytics" target=_blank >
        Data &amp; Analytics
      </a>
    </li>
    
  </ul>
</div>
</div>


<p class="wp-block-paragraph">When B2B eCommerce platforms become too customized to upgrade, they stop being assets and start becoming blockers. Over time, even once well-functioning systems can become hard to maintain and risky to scale. We often see this in long-running Magento 1 setups, where there is no clear path to upgrade and rising concerns around security and compliance.</p>



<p class="wp-block-paragraph">Cook Medical needed a platform that could handle the complexity of selling medical devices without making it feel complex. We partnered to rebuild the entire experience on Magento 2, introducing a modern, stable interface with minimal customization, seamless ERP integration, and a new analytics foundation to help internal teams understand how the store was being used.</p>



<h2 class="wp-block-heading">About</h2>



<p class="wp-block-paragraph">Cook Medical is a family-owned and globally recognized manufacturer that supplies hospitals and healthcare providers with medical devices used in minimally invasive procedures, with a product catalog of more than 15,000 items across various specialties.</p>



<p class="wp-block-paragraph">Their eCommerce platform isn&#8217;t public-facing. Access is restricted by user role, and buyers can only view and purchase products tied to their specific clinical division. That level of control is essential in regulated environments, but it also adds complexity.</p>



<p class="wp-block-paragraph">Cook Medical’s Magento 1 site had become difficult to maintain and technically fragile. It had reached a point where maintenance and upgrades were no longer practical – years of deep customization made it impossible to upgrade without risking instability or security gaps. The main objective of the migration was to reduce custom code for a cleaner, maintainable Magento 2 setup that could be easily updated and kept secure.</p>



<p class="wp-block-paragraph">Additionally, limited visibility into product data meant teams couldn&#8217;t easily track what users were doing or what they needed.</p>



<h3 class="wp-block-heading">Project goals</h3>



<p class="wp-block-paragraph">The move to Magento 2 was driven by the need to create a stable foundation, one that would be secure, easier to maintain, and ready for future growth. Key project objectives:</p>



<ul class="wp-block-list"><li>Rebuild the storefront on Magento 2 with minimal customization to simplify future upgrades</li><li>Migrate 15,000 SKUs and historical data from Magento 1 to Magento 2</li><li>Maintain strict security standards across all system components</li><li>Integrate with SnapLogic middleware for ERP and order data sync</li><li>Preserve strict access rules across medical divisions with role-based permissions</li><li>Make pricing and availability visible at the product listing level</li><li>Introduce site-wide behavior tracking with GA4 and a compliant consent setup</li><li>Improve mobile usability.</li></ul>



<h2 class="wp-block-heading">Approach</h2>



<h3 class="wp-block-heading">Rebuilding the platform around user needs</h3>



<p class="wp-block-paragraph">Cook Medical&#8217;s new Magento 2 site was built using the Luma theme as a base. While Luma isn&#8217;t known for cutting-edge visuals, our priority here was usability and making it faster and easier for verified buyers to find the right products, check pricing, and complete transactions.</p>



<p class="wp-block-paragraph">To simplify the product discovery experience, we introduced:</p>



<ul class="wp-block-list"><li>Price visibility directly on product listing pages (PLPs), instead of hiding pricing behind requests</li><li>Cleaner navigation and improved mobile responsiveness</li><li>A mandatory verification step at login to ensure that only authorized users could proceed.</li></ul>



<p class="wp-block-paragraph">Because the storefront is gated and access is restricted based on medical specialty, we worked closely with Cook Medical to preserve their internal logic while improving the interface. For example, cardiology buyers can&#8217;t see urology products, and vice versa; permissions cascade accordingly. This access control was retained and restructured for Magento 2.</p>



<p class="wp-block-paragraph">Throughout the project, we prioritized security and maintainability, minimizing customization and relying on Magento&#8217;s native capabilities wherever possible. We created a platform that can be easily patched and upgraded, which is an essential factor for a company operating in a regulated industry.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="536" src="https://scandiweb.com/blog/wp-content/uploads/2025/11/cook-medical-plp-and-pdp-1024x536.png" alt="" class="wp-image-23057" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/11/cook-medical-plp-and-pdp-1024x536.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cook-medical-plp-and-pdp-300x157.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cook-medical-plp-and-pdp-150x79.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cook-medical-plp-and-pdp-768x402.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/11/cook-medical-plp-and-pdp.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<h3 class="wp-block-heading">ERP integration</h3>



<p class="wp-block-paragraph">One of the project&#8217;s biggest technical requirements was the integration with SnapLogic, Cook Medical&#8217;s chosen ERP middleware. At the start of the project, no functional API was in place, and the scope of integration was still evolving. Before development, we stepped in to support planning, helping the client define what data needed to flow, how, and where.</p>



<p class="wp-block-paragraph">Our team handled:</p>



<ul class="wp-block-list"><li>Designing a new SnapLogic API to receive order data from Magento 2</li><li>Enabling SnapLogic to use Magento&#8217;s REST API to retrieve user, product, and category data</li><li>Building integration logic to support data flow between Magento 2 and SnapLogic in both directions</li><li>Advising on endpoint structure, parameter requirements, and process sequencing.</li></ul>



<p class="wp-block-paragraph">The only payment integration required was CardConnect, which we configured to align with Cook Medical&#8217;s internal payment handling process.</p>



<h3 class="wp-block-heading">Analytics setup with GA4</h3>



<p class="wp-block-paragraph">Before the migration, Cook Medical had no analytics framework in place. We began by implementing the WeltPixel dataLayer module, configuring it to track key eCommerce events such as product views, add-to-cart actions, checkout progress, and completed purchases. This allowed us to send structured event data to a newly created Google Analytics 4 property via Google Tag Manager (GTM).</p>



<p class="wp-block-paragraph">To support Cook Medical&#8217;s reporting, we extended the default dataLayer with additional product-specific parameters, including:</p>



<ul class="wp-block-list"><li><code>clinical_specialties</code></li><li><code>product_type</code></li><li><code>reference_part_number</code></li><li><code>order_number</code></li><li><code>gtin</code></li></ul>



<p class="wp-block-paragraph">Other marketing data, such as traffic source, new vs. returning user, average engagement time on the website, approximate visiting location, and tech details such as the browser used for the visit or the device type, are automatically collected by GA4. Ultimately, we consolidated the web behavior &amp; marketing data into one place for better decision-making.</p>



<p class="wp-block-paragraph">To meet data privacy requirements, we also integrated Cookiebot CMP (Consent Management Platform), allowing users to manage consent preferences while ensuring that tracking scripts only fire after consent is given, which is an essential requirement for global compliance.</p>



<p class="wp-block-paragraph">Cook Medical now has a robust, compliant, and highly configurable analytics foundation. With GA4 and GTM in place, they have complete visibility into how users interact with the platform, what content drives engagement, areas for improvement, and other insights.</p>



<h2 class="wp-block-heading">Results</h2>



<p class="wp-block-paragraph">The rebuilt Magento 2 store gives Cook Medical&#8217;s internal teams and B2B customers a much clearer and more structured experience. Search performance and product discovery were central to the project&#8217;s success. With pricing and availability visible on listing pages and by optimizing navigation for verified users, the site became easier to use and more aligned with how their target buyers place orders.</p>



<p class="wp-block-paragraph">The new setup is lighter, easier to maintain, and keeps Cook Medical’s digital operations secure and upgrade‑ready.</p>



<p class="wp-block-paragraph">Customer feedback has been positive, particularly around the improved visibility of key product data. What previously required a manual request or a call can now be completed directly through the interface, without compromising access controls or clinical boundaries.</p>



<p class="wp-block-paragraph"><strong>Project outcomes</strong></p>



<ul class="wp-block-list"><li>15,000+ SKUs successfully migrated from Magento 1</li><li>Custom ERP integration delivered and validated via SnapLogic</li><li>Full GA4 analytics implementation with detailed product-level tracking</li><li>Role-based permissions restructured and preserved in Magento 2</li><li>Clean, responsive interface now accessible across devices</li><li>Site launched on schedule over a weekend to avoid disruption, and described by the client as their smoothest launch to date</li><li>Stable, secure, and future‑proofed platform.</li></ul>



<p class="wp-block-paragraph">Cook Medical has also kicked off a new initiative to integrate Magento 2 with Oracle ERP, expanding the platform&#8217;s role in enterprise operations.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph"><style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> <p class="box"><em>Ready to modernize your B2B eCommerce experience? If you&#8217;re working with legacy systems or a catalog that demands precision, we&#8217;re the team to have by your side. </em><a href="https://scandiweb.com/contact" target="_blank" rel="noreferrer noopener"><em>Reach out to scandiweb today</em></a><em>, and let&#8217;s build a platform that&#8217;s functional and easy to use for your team and your customers.</em></p></p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/dated-magento1-migration-to-a-modern-magento2-b2b-experience/">Case Study: Dated Magento 1 Migration to a Modern Magento 2 Experience for B2B Buyers</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Case Study: Looker Studio Dashboard Migration and Custom BI Setup with Google Analytics 4</title>
		<link>https://scandiweb.com/blog/looker-studio-dashboard-migration-custom-bi-setup-with-google-analytics-4/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Mon, 29 Sep 2025 13:46:23 +0000</pubDate>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[bi reporting]]></category>
		<category><![CDATA[BigQuery]]></category>
		<category><![CDATA[business intelligence]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[Data Tracking]]></category>
		<category><![CDATA[Digital Analytics]]></category>
		<category><![CDATA[ecommerce data analytics]]></category>
		<category><![CDATA[GA4]]></category>
		<category><![CDATA[GA4 migration]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Google Analytics 4]]></category>
		<category><![CDATA[looker studio]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=22857</guid>

					<description><![CDATA[<p>See how Global Fishing Watch migrated to Google Analytics 4 and rebuilt their reporting, improving data quality and dashboard usage.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/looker-studio-dashboard-migration-custom-bi-setup-with-google-analytics-4/">Case Study: Looker Studio Dashboard Migration and Custom BI Setup with Google Analytics 4</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-related-LIfCL wp-block-lazyblock-related"><div class="related-services">
  <h3>Related Services</h3>
  <ul>
    
    <li>
      <a  href="https://www.scandilytics.com/" target=_blank >
        Analytics for eCommerce
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/digital-marketing-services" target=_blank >
        Digital Marketing
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/bi-actionable-analytics" target=_blank >
        BI &amp; Actionable Analytics
      </a>
    </li>
    
  </ul>
</div>
</div>


<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Working with scandiweb has been a really good experience. They were key in our recent project to migrate our Looker Studio dashboards from Universal Analytics to GA4, which included complex product stat tracking. They not only provided us with clear options throughout the process but were also instrumental in helping us understand and fix several underlying tracking issues. Their expertise and efficiency made the entire migration smooth and successful.</p><p>Thanks to all the team!:)</p><cite><strong>Gisela Morinigo</strong><br>Open Data Product Manager at Global Fishing Watch</cite></blockquote>



<p class="wp-block-paragraph">When Google announced the end of Universal Analytics (the platform was shut down on July 1, 2024), organizations across every industry were forced to rethink their analytics setups. For many, the transition to <a href="https://scandiweb.com/blog/10-key-benefits-google-analytics-4/" target="_blank" rel="noreferrer noopener">Google Analytics 4 (GA4)</a> raised questions like “how to maintain reporting continuity?, “what to do with years of custom dashboards?”&nbsp;</p>



<p class="wp-block-paragraph">Global Fishing Watch faced these same questions, but their needs weren&#8217;t typical. As a nonprofit working to increase transparency on the oceans, their team depends on accurate web and product analytics to support research, policy, and public awareness. We partnered with them to replicate and enhance their business intelligence (BI) setup and ensure it reflects the complexity of their work and supports the people using that data every day.</p>



<h2 class="wp-block-heading">About&nbsp;</h2>



<p class="wp-block-paragraph">Global Fishing Watch is a nonprofit organization that uses technology to shine light on what&#8217;s happening in our oceans, helping create a more transparent and sustainable future for marine life. By tracking fishing vessels and making maritime data publicly accessible, they support efforts to protect marine ecosystems, combat illegal and unreported fishing, inform better policy decisions, and accelerate ocean governance.</p>



<p class="wp-block-paragraph">With oceans under increasing pressure, their platform is widely used to understand fishing activity in real time. We felt especially proud to support Global Fishing Watch because their mission extends far beyond data toward creating accountability on the water and giving governments, researchers, organizations, and communities the tools they need to safeguard our oceans for generations to come.</p>



<p class="wp-block-paragraph">Supporting this mission are several public-facing products:</p>



<ul class="wp-block-list"><li><a href="https://globalfishingwatch.org/map" target="_blank" rel="noreferrer noopener">Map</a> – an interactive platform to visualize and analyze global fishing activity</li><li><a href="https://globalfishingwatch.org/map/marine-manager" target="_blank" rel="noreferrer noopener">Marine Manager</a> – tools to monitor and manage marine protected areas</li><li><a href="https://carrier-portal.globalfishingwatch.org/" target="_blank" rel="noreferrer noopener">Carrier Vessel Portal</a> – data on transshipment activity and carrier vessels</li><li><a href="https://vessel-viewer.globalfishingwatch.org/" target="_blank" rel="noreferrer noopener">Vessel Viewer</a> – detailed insights on individual vessel activity</li><li><a href="https://globalfishingwatch.org/data-download/" target="_blank" rel="noreferrer noopener">Data Download Portal</a> – open access to downloadable datasets for research and analysis.</li><li><a href="https://globalfishingwatch.org/our-apis/" target="_blank" rel="noreferrer noopener">API Portal</a> – allows to explore, visualize, and freely download Global Fishing Watch data to transform global collaboration and catalyze solutions for complex ocean problems.</li></ul>



<p class="wp-block-paragraph">Reliable data operations are critical for a mission built on ocean accountability and open access. With the sunset of Universal Analytics (UA), GA4 migration was all about keeping essential information flowing to those working to protect the ocean.</p>



<h3 class="wp-block-heading">Project goals</h3>



<p class="wp-block-paragraph">Global Fishing Watch had an extensive reporting setup built on UA, with dashboards blending web analytics and backend product data. Their team needed a solution that could replicate and enhance the setup while relying on good-quality data.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="248" src="https://scandiweb.com/blog/wp-content/uploads/2025/09/project-delivery-stages-GFW-1024x248.png" alt="" class="wp-image-22859" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/09/project-delivery-stages-GFW-1024x248.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/09/project-delivery-stages-GFW-300x73.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/09/project-delivery-stages-GFW-150x36.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/09/project-delivery-stages-GFW-768x186.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/09/project-delivery-stages-GFW-1536x372.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/09/project-delivery-stages-GFW-2048x496.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/09/project-delivery-stages-GFW-1600x388.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Project delivery stages</figcaption></figure></div>



<p class="wp-block-paragraph">Main project goals:</p>



<ul class="wp-block-list"><li>Conduct a comprehensive audit of the existing tracking and data collection</li><li>Fix legacy issues and set up GA4 using current best practices</li><li>Rebuild UA dashboards with the GA4 data and improve the existing BI dashboards</li><li>Support the internal team during and after the transition to GA4.</li></ul>



<p class="wp-block-paragraph">Our priority was building a more flexible and future-proof BI setup that could grow with the organization&#8217;s needs.</p>



<h2 class="wp-block-heading">Approach</h2>



<p class="wp-block-paragraph">Global Fishing Watch had multiple data dependencies across products, platforms, and teams. A successful transition meant carefully auditing what was already in place and designing a reporting setup that would remain stable and usable long after Universal Analytics was gone. Let’s look at each of the project stages in the following sections.</p>



<h3 class="wp-block-heading">Data quality assurance and improvements</h3>



<p class="wp-block-paragraph">The insights are as good as the quality of data. Before rebuilding any dashboards, we performed an audit and made improvements to the tracking setup.</p>



<ul class="wp-block-list"><li><strong>GA4 property review</strong><ul><li>We began with a property-level audit of the GA4 setup to check for configuration issues and gaps in data collection.&nbsp;</li><li>Based on the audit, we reconfigured GA4 settings to follow current best practices and resolved issues affecting reporting accuracy.</li></ul></li><li><strong>Google Tag Manager (GTM) audit and cleanup</strong><ul><li>Since Universal Analytics was being phased out, we removed outdated tags and refined the GTM setup to ensure the best level of data governance.</li></ul></li><li><strong>Custom dataLayer event development</strong><ul><li>We gathered requirements for meaningful user interactions across Global Fishing Watch product pages. These were then implemented as structured dataLayer events to support more granular and relevant reporting in GA4.</li></ul></li></ul>



<h3 class="wp-block-heading">Building customized dashboards in Looker Studio</h3>



<p class="wp-block-paragraph">With the data layer improved and GA4 properly configured, we proceeded to rebuild the dashboards. The dashboards relied on the GA4 linked directly to <a href="https://scandiweb.com/blog/save-135k-annually-with-ga4-and-bigquery/" target="_blank" rel="noreferrer noopener">BigQuery</a>, along with backend system data exported to the same warehouse via custom pipelines.</p>



<h4 class="wp-block-heading">Preparing the data</h4>



<p class="wp-block-paragraph"><strong>Query composition</strong></p>



<p class="wp-block-paragraph">Universal Analytics connected natively to Looker Studio with no quota limits, i.e., the Wild West era of dashboards. GA4, on the other hand, introduced strict limits that kick in with heavy querying, especially with large date ranges, multiple users, or complex filters.</p>



<p class="wp-block-paragraph">Also read:<br><a href="https://scandiweb.com/blog/how-to-overcome-ga4-api-request-limits-and-save-on-costs-with-bigquery-looker-studio/" target="_blank" rel="noreferrer noopener">How to Overcome GA4 API Limits and Save on Costs<br></a><a href="https://scandiweb.com/blog/ga4-api-quota-apocalypse-and-how-to-survive-it/" target="_blank" rel="noreferrer noopener">GA4 API Quota Apocalypse and How to Survive It<br></a>Note – the limits since then have become much less strict, but you’ll still find our tips above useful!</p>



<p class="wp-block-paragraph">To bypass these restrictions, we used GA4&#8217;s raw BigQuery export. Since this raw data requires additional processing, we built transformation queries to output clean data into dedicated reporting tables. Another data source used in the project was data from the operational system.</p>



<p class="wp-block-paragraph"><strong>Cost control improvement</strong></p>



<p class="wp-block-paragraph">Google Cloud&#8217;s pay-as-you-go model charges for all resource usage. We initially used views for faster development, but needed cost optimization as the project matured.</p>



<p class="wp-block-paragraph">Key optimizations:</p>



<ul class="wp-block-list"><li>Switch from views to tables – the biggest cost reduction</li><li>Implement custom upsert logic – daily updates instead of full GA4 re-processing</li><li>Add partitioning and clustering for more efficient queries.</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="536" src="https://scandiweb.com/blog/wp-content/uploads/2025/09/bigquery-cost-reduction-1024x536.png" alt="" class="wp-image-22862" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/09/bigquery-cost-reduction-1024x536.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/09/bigquery-cost-reduction-300x157.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/09/bigquery-cost-reduction-150x79.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/09/bigquery-cost-reduction-768x402.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/09/bigquery-cost-reduction.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">What was once a daily cost during peak usage became the total monthly cost. Proper implementation made a clear difference in how the data pipeline impacted the budget.</p>



<h4 class="wp-block-heading">Dashboard setup</h4>



<p class="wp-block-paragraph">The dashboard was designed with its key audiences in mind. It consists of aggregated-level pages and product-specific dashboards. On top of that, an executive overview page highlights the most important metrics and timelines for leadership.</p>



<style>
  .box-new {
    background-color: #f8f4ef;
    padding: 20px 30px 30px 30px; /* top, right, bottom, left */
    border: none;
  }

  .box-new p {
    margin-top: 0;
    margin-bottom: 1em;
  }

  .box-new p:last-child {
    margin-bottom: 0;
  }
</style>

<div class="box-new">
  <p><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick takeaway</strong></p>
  <p>While Looker Studio is a relatively simple, lightweight BI tool, many people don’t realize how customizable it can be!</p>
</div>



<p class="wp-block-paragraph"><strong>Customizations</strong></p>



<ol class="wp-block-list"><li><strong>Brand guidelines</strong><ul><li>We styled the dashboard using Global Fishing Watch’s brand guidelines (colors, fonts, icons) to ensure consistency with the company’s visual identity.</li></ul></li><li><strong>Product milestones</strong><ul><li>Sometimes you notice a data change but can’t immediately tell whether it’s expected or tied to a product update. To solve this, we embedded a Google Sheet that logs major deployments and changes.</li></ul></li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="291" src="https://scandiweb.com/blog/wp-content/uploads/2025/09/product-milestones-1024x291.png" alt="" class="wp-image-22863" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/09/product-milestones-1024x291.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/09/product-milestones-300x85.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/09/product-milestones-150x43.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/09/product-milestones-768x218.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/09/product-milestones-1536x437.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/09/product-milestones-2048x582.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/09/product-milestones-1600x455.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Yes, Looker Studio supports embedded Google Sheets!</figcaption></figure></div>



<ol class="wp-block-list" start="3"><li><strong>Dashboard usage guides</strong><ul><li>Not all user groups are equally familiar with BI tools, and that’s okay. To make the dashboard easier to navigate, we added a built-in guide that walks users through the report’s main and hidden functionalities.</li></ul></li><li><strong>Glossary</strong><ul><li>Some teams work less frequently with web analytics. To make interpretation easier, we created a glossary page explaining how key metrics are calculated and what each data source represents.</li></ul></li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="279" src="https://scandiweb.com/blog/wp-content/uploads/2025/09/glossary-1024x279.png" alt="" class="wp-image-22864" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/09/glossary-1024x279.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/09/glossary-300x82.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/09/glossary-150x41.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/09/glossary-768x209.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/09/glossary-1536x418.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/09/glossary-1600x435.png 1600w, https://scandiweb.com/blog/wp-content/uploads/2025/09/glossary.png 1992w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>This is just the beginning of the glossary page with the simplest definitions at the top:)</figcaption></figure></div>



<ol class="wp-block-list" start="5"><li><strong>Filtering internal staff</strong><ul><li>We added a simple button that allows users to filter out traffic from Global Fishing Watch employee accounts. Buttons are often underused in Looker Studio!</li></ul></li></ol>



<h4 class="wp-block-heading">Summary of dashboard specifics</h4>



<ol class="wp-block-list"><li>Multiple dashboard sections for different stakeholder groups</li><li>KPI glossary and dashboard usage guidelines</li><li>Embedded sheet with product deployment context</li><li>Styling according to brand guidelines</li><li>Ability to exclude internal traffic.</li></ol>



<h3 class="wp-block-heading">Solution architecture</h3>



<p class="wp-block-paragraph">Below is the final solution architecture, which illustrates how data moves from collection to visualization. Web and operational data flow into BigQuery as source tables and are transformed into curated reporting tables through scheduled pipelines.</p>



<p class="wp-block-paragraph">These reporting tables feed into Looker Studio, where new calculated fields can be applied and dashboards are built for clear, actionable insights. The setup ensures reliable data, efficient reporting, and a sustainable foundation for future analysis.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="248" src="https://scandiweb.com/blog/wp-content/uploads/2025/09/GFW-solution-architecture-1024x248.png" alt="" class="wp-image-22865" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/09/GFW-solution-architecture-1024x248.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/09/GFW-solution-architecture-300x73.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/09/GFW-solution-architecture-150x36.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/09/GFW-solution-architecture-768x186.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/09/GFW-solution-architecture-1536x372.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/09/GFW-solution-architecture-2048x496.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/09/GFW-solution-architecture-1600x388.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<h2 class="wp-block-heading">Results</h2>



<p class="wp-block-paragraph">With Universal Analytics sunset, Global Fishing Watch&#8217;s web tracking was successfully aligned with GA4 best practices. The BI reporting setup transitioned smoothly to GA4 data, with enhancements to the user experience and content while ensuring resource efficiency.</p>



<p class="wp-block-paragraph">Their team now benefits from:</p>



<ul class="wp-block-list"><li>Clean, accurate data tailored to their needs</li><li>Custom GA4 dashboards delivered quickly to meet the UA sunset, tailored to different levels of expertise</li><li>An optimized reporting pipeline that reduces cloud costs.</li></ul>



<p class="wp-block-paragraph">We wanted to acknowledge that the Global Fishing Watch team also played an important role throughout the project, sharing input, context, and technical support that contributed to the successful outcome.</p>



<p class="wp-block-paragraph">The project concluded with a workshop for the GFW team on how to use and adapt their new setup. Since then, our collaboration has continued, with ongoing support for analytics-related questions and requests.</p>



<p class="wp-block-paragraph">Working with Global Fishing Watch has been meaningful and rewarding for us personally – not only because of the technical challenge, but because of the impact their mission has on ocean transparency and sustainability.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph"><style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> <p class="box"><em>Need help with dashboards that fit your data and your goals? We help teams create fully customized reporting solutions. </em><a href="https://scandiweb.com/contact" target="_blank" rel="noreferrer noopener"><em>Request a free consultation</em></a><em>, and one of our experts will get back to you shortly!</em></p></p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/looker-studio-dashboard-migration-custom-bi-setup-with-google-analytics-4/">Case Study: Looker Studio Dashboard Migration and Custom BI Setup with Google Analytics 4</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to Automate SFMC Tracking Extracts with Unzipping in AWS [Code Included]</title>
		<link>https://scandiweb.com/blog/how-to-automate-sfmc-tracking-extracts-with-unzipping-in-aws/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Thu, 07 Aug 2025 12:09:00 +0000</pubDate>
				<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Amazon AWS]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[Digital Analytics]]></category>
		<category><![CDATA[ecommerce data analytics]]></category>
		<category><![CDATA[salesforce]]></category>
		<category><![CDATA[salesforce data cloud]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=22552</guid>

					<description><![CDATA[<p>Learn how to export Salesforce Marketing Cloud tracking extracts to AWS S3, unzip them with a Lambda function, and prepare them for analytics.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/how-to-automate-sfmc-tracking-extracts-with-unzipping-in-aws/">How to Automate SFMC Tracking Extracts with Unzipping in AWS [Code Included]</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-related-23IKzx wp-block-lazyblock-related"><div class="related-services">
  <h3>Related Services</h3>
  <ul>
    
    <li>
      <a  href="https://scandiweb.com/services/salesforce-commerce-cloud" target=_blank >
        Salesforce Commerce Cloud
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/digital-marketing-services" target=_blank >
        Digital Marketing
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/data-collection-and-storage" target=_blank >
        Data Collection &amp; Storage
      </a>
    </li>
    
  </ul>
</div>
</div>


<p class="wp-block-paragraph">You can find plenty of articles about exporting tracking extract data from Salesforce Marketing Cloud (SFMC) online. I relied on a few of them in the beginning.&nbsp;</p>



<p class="wp-block-paragraph">However, the default export option to S3 features the export of one <code>.zip</code> file. That&#8217;s not very usable if you need to use those files in further pipelines. You would need to unzip the data. That was a bit puzzling for me at that moment. </p>



<p class="wp-block-paragraph">Eventually, I came up with a solution where, upon exporting a <code>.zip</code> file to AWS S3, a Lambda function triggers, unzips the file, and then sorts each file into the right folder by its name. It also adds a date suffix to each file, so you always know when it was exported.</p>



<p class="wp-block-paragraph">If you&#8217;re running into the same issue, I&#8217;ve written down all the steps I took – and included the full Lambda code – so hopefully it will save you some time.</p>



<p class="wp-block-paragraph">After going through additional pipelines, this data was fed into streams in the Salesforce Data Cloud CDP, thus allowing for a better understanding of customer email interactions. </p>



<p class="wp-block-paragraph">Also read:</p>



<ul class="wp-block-list"><li><a href="https://scandiweb.com/blog/data-ingestion-in-salesforce-data-cloud/" target="_blank" rel="noreferrer noopener">The Complete Guide to Data Ingestion in Salesforce Data Cloud</a></li><li><a href="https://scandiweb.com/blog/identity-resolution-in-salesforce-data-cloud/" target="_blank" rel="noreferrer noopener">A Practical Guide to Identity Resolution in Salesforce Data Cloud</a></li></ul>



<h2 class="wp-block-heading">What are tracking extracts in SFMC?</h2>



<p class="wp-block-paragraph">Tracking extracts are raw, event-level exports from Salesforce Marketing Cloud. Each one is a flat <code>.csv</code> that shows your email opens, link clicks, bounces, unsubscribes, and so on.</p>



<p class="wp-block-paragraph">You can schedule these exports to land in S3 (or another external store), then pipe them into analytics platforms, <a href="https://scandiweb.com/blog/data-warehouses-for-ecommerce-definition-examples-benefits/" target="_blank" rel="noreferrer noopener">data warehouses</a>, or Salesforce Data Cloud.</p>



<p class="wp-block-paragraph">Here&#8217;s a view of how these tracking extract tables connect:&nbsp;</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/tracking-extract-tables-1024x576.png" alt="salesforce marketing cloud tracking extract tables" class="wp-image-22555" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/tracking-extract-tables-1024x576.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/tracking-extract-tables-300x169.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/tracking-extract-tables-150x84.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/tracking-extract-tables-768x432.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/tracking-extract-tables-1536x864.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/tracking-extract-tables-2048x1152.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/tracking-extract-tables-1600x900.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Source: SFMC. Click <a href="https://sfmarketing.cloud/wp-content/uploads/2022/10/dataviews_2022_v3.jpg" target="_blank" rel="noreferrer noopener">here</a> for better readability</figcaption></figure></div>



<h3 class="wp-block-heading">Why export tracking extracts?</h3>



<p class="wp-block-paragraph">Three reasons:</p>



<ol class="wp-block-list"><li><strong>You want more control over the data</strong>. SFMC&#8217;s reporting tools are limited, while external exports let you clean, filter, and join data your way.</li><li><strong>You need more extract types</strong>. The built-in Starter Bundles only cover a handful of feeds, but tracking extracts open access to everything available, so you can pick and choose what to load into Salesforce Data Cloud.</li><li><strong>You want to backfill history</strong>. Bundles can&#8217;t reach past recent activity. Tracking extracts let you go back 30 days per batch.</li></ol>



<h2 class="wp-block-heading">How the automated export works</h2>



<p class="wp-block-paragraph">Here&#8217;s the flow you&#8217;ll build:</p>



<ol class="wp-block-list"><li>SFMC automation schedules a tracking extract and outputs a <code>.zip</code> file to a designated S3 &#8220;input&#8221; bucket</li><li>A Lambda function is triggered when a new <code>.zip</code> arrives</li><li>The Lambda:</li></ol>



<ul class="wp-block-list"><li>Unzips the archive</li><li>Renames each CSV with a date suffix</li><li>Sorts files into S3 destination folders by filename</li></ul>



<p class="wp-block-paragraph">In the end, you have clean, clearly labeled <code>.csv</code> files in your S3 bucket ready for use in pipelines, dashboards, or <a href="https://scandiweb.com/blog/what-is-cdp-customer-data-platforms-guide/" target="_blank" rel="noreferrer noopener">customer data platform (CDP)</a> ingestion.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="273" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/solution-schema-1024x273.png" alt="graph of salesforce marketing could to aws solution schema" class="wp-image-22559" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/solution-schema-1024x273.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/solution-schema-300x80.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/solution-schema-150x40.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/solution-schema-768x205.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/solution-schema.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Solution schema</figcaption></figure></div>



<p class="wp-block-paragraph">Could you customly use SFMC&#8217;s SOAP/REST APIs instead? Sure. But unless you need dynamic logic or tight integration, Automation Studio provides a simpler, low-code way to handle this.</p>



<p class="wp-block-paragraph">Sounds good? Let’s proceed!</p>



<h3 class="wp-block-heading">Step 1: Set up your export in Salesforce Marketing Cloud</h3>



<h4 class="wp-block-heading">Use Automation Studio to run the export</h4>



<p class="wp-block-paragraph"><a href="https://help.salesforce.com/s/articleView?id=mktg.mc_as_automation_studio.htm&amp;type=5" target="_blank" rel="noreferrer noopener">Automation Studio</a> is SFMC&#8217;s low-code workflow engine. It allows you to string together assets like data extracts, imports, SQL queries, scripts, and file transfers and schedule them to run automatically.</p>



<p class="wp-block-paragraph">For this setup, you&#8217;ll need to configure an automation:</p>



<ul class="wp-block-list"><li>Data Extract to generate the <code>.zip</code> file</li><li>File Transfer to send that file from SFMC&#8217;s internal storage (Safehouse) to S3</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="294" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio-setup-1024x294.png" alt="graph of tracking extract activity to file transfer activity" class="wp-image-22562" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio-setup-1024x294.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio-setup-300x86.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio-setup-150x43.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio-setup-768x220.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio-setup-1536x440.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio-setup-2048x587.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio-setup-1600x459.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Tracking Extract Activity → File Transfer Activity</figcaption></figure></div>



<p class="wp-block-paragraph">You&#8217;ll also need to set up a connection between SFMC and your AWS S3 bucket before the export can happen.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>A note on Safehouse: It&#8217;s SFMC&#8217;s secure internal staging directory, encrypted at rest and separate from your FTP, where your export files are held before transfer.</p></blockquote>



<h4 class="wp-block-heading">Create AWS credentials for SFMC</h4>



<ol class="wp-block-list"><li>In your AWS console, go to <strong>IAM</strong> → <strong>Users</strong> → <strong>Create user </strong>(set a user name, e.g., <code>sfmc-tracking-extract-connector</code> or anything descriptive)</li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="327" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step1-1024x327.png" alt="a screenshot with credentials creation in aws" class="wp-image-22567" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step1-1024x327.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step1-300x96.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step1-150x48.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step1-768x246.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step1-1536x491.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step1-2048x655.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step1-1600x512.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<ol class="wp-block-list" start="2"><li>Under Permissions, choose <strong>Attach policies directly</strong> → then <strong>Create policy</strong></li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="319" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step2-1024x319.png" alt="a screenshot with policy creation in aws" class="wp-image-22569" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step2-1024x319.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step2-300x93.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step2-150x47.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step2-768x239.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step2-1536x479.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step2-2048x638.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step2-1600x499.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">Use the <strong>JSON editor</strong> to define what this user can do. Grant read/write access to the specific S3 bucket and folder where your exports will land.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="578" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step3-1024x578.png" alt="a screenshot how to specify permissions in aws" class="wp-image-22570" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step3-1024x578.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step3-300x169.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step3-150x85.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step3-768x433.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step3-1536x866.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step3-2048x1155.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step3-1600x902.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">Here’s the code to use (change your bucket/folder data):</p>



<pre class="wp-block-code"><code>{
  // The policy language version
  "Version": "2012-10-17",

  // A list of individual permission statements
  "Statement": &#91;
    {
      // A unique identifier for this statement; you can name it whatever you like
      "Sid": "AllowMCS3AccessToBucket",

      // Specifies whether to allow or deny the actions in this statement
      "Effect": "Allow",

      // Which S3 actions are permitted
      "Action": &#91;
        "s3:ListBucket"    
      ],
      // Which resources these actions apply to
      "Resource": &#91;
        "arn:aws:s3:::your-bucket-name"    // Your S3 bucket’s ARN
      ]
    },

    {
      // Another identifier for grouping object-level permissions
      "Sid": "AllowMCS3AccessToBucketContent",
      "Effect": "Allow",

      "Action": &#91;
        "s3:PutObject",        
        "s3:GetObjectVersion",  
        "s3:GetObject",          
        "s3:DeleteObject"     
      ],
      "Resource": &#91;
        "arn:aws:s3:::your-bucket-name/zip-files/*",   // All files inside zip-files/ (adjust to your folder)
        "arn:aws:s3:::your-bucket-name/zip-files"      // The folder path itself
      ]
    }

  ]
}</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Tip! You can find the bucket ARN if you go to the <strong>Bucket</strong> → <strong>Properties</strong>.</p></blockquote>



<ol class="wp-block-list" start="3"><li>After creating the policy, review the settings, attach tags if needed, and <strong>Create user</strong></li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="477" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step4-1024x477.png" alt="a screenshot with the create user step in aws" class="wp-image-22573" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step4-1024x477.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step4-300x140.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step4-150x70.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step4-768x358.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step4-1536x715.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step4-2048x954.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step4-1600x745.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<ol class="wp-block-list" start="4"><li>Generate access keys by clicking <strong>Create access key</strong>, choose <strong>Third party</strong>, and acknowledge the warning</li></ol>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Important! Save the Access Key ID and Secret Access Key now – this is the only time you’ll see the secret; store them securely.</p></blockquote>



<figure class="wp-block-gallery aligncenter has-nested-images columns-1 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="225" data-id="22574" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step5-1024x225.png" alt="a screenshot with access key creation in aws" class="wp-image-22574" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step5-1024x225.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step5-300x66.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step5-150x33.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step5-768x169.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step5-1536x338.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step5-2048x451.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step5-1600x352.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="501" data-id="22575" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step6-1024x501.png" alt="a screenshot of a created access key in aws" class="wp-image-22575" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step6-1024x501.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step6-300x147.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step6-150x73.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step6-768x376.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step6-1536x752.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step6-2048x1002.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/AWS-credentials_step6-1600x783.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</figure>



<h4 class="wp-block-heading">Add your S3 bucket to SFMC</h4>



<ol class="wp-block-list"><li>In Salesforce Marketing Cloud, go to <strong>Setup</strong> → <strong>Administration</strong> → <strong>Data Management</strong> → <strong>File Locations</strong>. Click <strong>Create</strong> and choose <strong>Amazon S3</strong></li><li>Fill in the form with the credentials you just generated:</li></ol>



<ul class="wp-block-list"><li>Access Key ID</li><li>Secret Access Key</li><li>Bucket Name</li><li>(Optional) Prefix or folder path</li><li>AWS Region</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="530" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/sfmc-add-s3-bucket-1024x530.png" alt="a screenshot of file locations settings in sfmc" class="wp-image-22577" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/sfmc-add-s3-bucket-1024x530.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/sfmc-add-s3-bucket-300x155.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/sfmc-add-s3-bucket-150x78.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/sfmc-add-s3-bucket-768x397.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/sfmc-add-s3-bucket-1536x794.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/sfmc-add-s3-bucket-2048x1059.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/sfmc-add-s3-bucket-1600x828.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">Things to double-check:</p>



<ul class="wp-block-list"><li>Your access key, secret key, or role ARN for typos – invalid credentials will block all exports</li><li>The region must match exactly; otherwise, SFMC won’t find your bucket</li><li>Only enable <strong>Transfer Acceleration</strong> if you’ve enabled it in your bucket settings</li><li>Make sure your IAM policy includes the required S3 permissions for listing, reading, and writing files.</li></ul>



<h3 class="wp-block-heading">Step 2: Set up the automation</h3>



<ol class="wp-block-list"><li>In Automation Studio, click <strong>New Automation</strong>, name it something like <code>SFMC Tracking → S3</code>, and add these two activities in order:</li></ol>



<ul class="wp-block-list"><li>Data Extract</li><li>File Transfer</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="421" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio_step1-1024x421.png" alt="a screenshot of a new automation in sfmc" class="wp-image-22579" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio_step1-1024x421.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio_step1-300x123.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio_step1-150x62.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio_step1-768x316.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio_step1-1536x632.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio_step1-1600x658.png 1600w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automation-studio_step1.png 2000w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<ol class="wp-block-list" start="2"><li>Configure Data Extract</li></ol>



<ul class="wp-block-list"><li>Name: <code>sfmc_te_%%Month%%%%Day%%%%Year%%.zip</code> (Date tokens auto-insert the run date into the filename)</li><li>Type: Tracking Extract</li><li>Range: Rolling 1-day window (to grab the previous day’s data)</li><li>Format: CSV</li><li>Encoding: Choose what fits your system (UTF-8 is standard)</li><li>Options: Select the tracking types you want: opens, clicks, bounces, etc.</li><li>When you’ve double-checked everything, click <strong>Finish</strong></li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="616" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_dataextract-1024x616.png" alt="a screenshot of editing data extract activity in sfmc" class="wp-image-22580" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_dataextract-1024x616.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_dataextract-300x181.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_dataextract-150x90.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_dataextract-768x462.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_dataextract-1536x924.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_dataextract-2048x1233.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_dataextract-1600x963.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<ol class="wp-block-list" start="3"><li>Configure File Transfer</li></ol>



<ul class="wp-block-list"><li>Action: Move file from Safehouse</li><li>File Pattern: Use the same name as above (e.g., <code>sfmc_te_%%Month%%%%Day%%%%Year%%.zip</code>)</li><li>Destination: Choose the S3 file location you set up</li><li>Click <strong>Finish </strong>to save</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="566" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_filetransfer-1024x566.png" alt="a screenshot of the file transfer activity configuration in sfmc" class="wp-image-22581" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_filetransfer-1024x566.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_filetransfer-300x166.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_filetransfer-150x83.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_filetransfer-768x424.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_filetransfer-1536x849.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_filetransfer-2048x1132.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/automationstudio_filetransfer-1600x884.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<ol class="wp-block-list" start="4"><li>Once both steps are configured, add a <strong>Schedule</strong> to run the automation daily (or your preferred interval) and click <strong>Save</strong>. Flip the toggle to activate the schedule if it is paused and inactive; optionally, click <strong>Run Once</strong> to test and ensure your configurations are valid.</li></ol>



<h3 class="wp-block-heading">Step 3: Set up the AWS Lambda function to unzip and organize your export</h3>



<p class="wp-block-paragraph">AWS Lambda is a serverless compute service that runs your code in response to events, like a new file landing in S3.&nbsp;</p>



<p class="wp-block-paragraph">You could also use AWS Glue (with its visual ETL interface or custom scripts) for batch data jobs, but Lambda excels at real-time, event-driven tasks.</p>



<h4 class="wp-block-heading">Create a Lambda function</h4>



<ol class="wp-block-list"><li>In your AWS Console, go to <strong>Lambda</strong> → <strong>Functions</strong> → <strong>Create Function</strong></li><li>Select <strong>Author from Scratch</strong></li><li>Set a name (e.g., <code>unzip-sfmc-tracking-exports</code>)</li><li>Runtime: Python 3.12</li><li>Create or choose an execution role with permissions to access S3</li></ol>



<p class="wp-block-paragraph">You can attach these custom policies and then proceed to create a function:</p>



<pre class="wp-block-code"><code>{
    "Version": "2012-10-17",
    "Statement": &#91;
        {
            "Effect": "Allow",
            "Action": &#91;
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:PutObject"
            ],
            "Resource": &#91;
                "arn:aws:s3:::bucket", //adjust the bucket name
                "arn:aws:s3:::bucket/*" //adjust the bucket name
            ]
        },
        {
            "Effect": "Allow",
            "Action": &#91;
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}</code></pre>



<h4 class="wp-block-heading">Set up the trigger</h4>



<p class="wp-block-paragraph">This part is what makes the Lambda function run automatically.</p>



<ol class="wp-block-list"><li>In your Lambda, scroll to the <strong>Triggers</strong> section → Click <strong>Add trigger</strong></li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="332" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_trigger-1024x332.png" alt="a screenshot with the lambda trigger creation" class="wp-image-22583" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_trigger-1024x332.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_trigger-300x97.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_trigger-150x49.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_trigger-768x249.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_trigger-1536x499.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_trigger-2048x665.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_trigger-1600x519.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<ol class="wp-block-list" start="2"><li>Choose <strong>S3</strong> as the source</li><li>Specify the input bucket</li><li>Select the file to react to all the object creation actions</li><li>Suffix filter: <code>.zip</code>, so that the function reacts only to ZIP files in the location</li><li>Click <strong>Save</strong></li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="450" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_edittrigger-1024x450.png" alt="a screenshot of the lambda function configuration" class="wp-image-22585" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_edittrigger-1024x450.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_edittrigger-300x132.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_edittrigger-150x66.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_edittrigger-768x337.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_edittrigger-1536x675.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_edittrigger-2048x900.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/lambda-function_edittrigger-1600x703.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<h4 class="wp-block-heading">Add the Python code</h4>



<ol class="wp-block-list"><li>Go to the <strong>Code tab</strong> in your function, where you’ll see a built-in code editor – paste in your unzipping logic here</li></ol>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="533" src="https://scandiweb.com/blog/wp-content/uploads/2025/08/addthepythoncode-1024x533.png" alt="a screenshot of adding the python code in sfmc" class="wp-image-22586" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/08/addthepythoncode-1024x533.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/08/addthepythoncode-300x156.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/08/addthepythoncode-150x78.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/08/addthepythoncode-768x400.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/08/addthepythoncode-1536x800.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/08/addthepythoncode-2048x1067.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/08/addthepythoncode-1600x833.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">Here’s what the code does:</p>



<ul class="wp-block-list"><li>Detects the new zip file</li><li>Unzips the contents into memory</li><li>Renames each file with a run-date suffix</li><li>Sorts the files into folders based on the filename</li></ul>



<ol class="wp-block-list" start="2"><li>Add the following Python code. The structure of your extracted files depends on which tracking extract types you selected (e.g. <code>_click.csv</code>, <code>_open.csv</code>, etc.). If you use different naming conventions, adjust the logic as needed.</li></ol>



<pre class="wp-block-code"><code>import boto3
import zipfile
import os
import tempfile
import re

s3_client = boto3.client('s3')

# Complete mapping of file names to folders
folder_mapping = {
    "bounces": "tracking-extracts/bounces",
    "click-impression": "tracking-extracts/click-impression",
    "clicks": "tracking-extracts/clicks",
    "complaints": "tracking-extracts/complaints",
    "conversions": "tracking-extracts/conversions",
    "list-membership": "tracking-extracts/list-membership",
    "lists": "tracking-extracts/lists",
    "not-sent": "tracking-extracts/not-sent",
    "opens": "tracking-extracts/opens",
    "send-impression": "tracking-extracts/send-impression",
    "send-job-impression": "tracking-extracts/send-job-impression",
    "send-jobs": "tracking-extracts/send-jobs",
    "sent": "tracking-extracts/sent",
    "status-change": "tracking-extracts/status-change",
    "subscribers": "tracking-extracts/subscribers",
    "surveys": "tracking-extracts/surveys",
    "unsubs": "tracking-extracts/unsubs",
    "multiple-data-extension-send-lists": "tracking-extracts/multiple-data-extension-send-lists"
}

def extract_date_suffix(filename):
    # Pattern for _8digits_8digits or _8digits at the end before .zip
    pattern_range = re.compile(r'_(\d{8})_(\d{8})\.zip$')
    pattern_single = re.compile(r'_(\d{8})\.zip$')
    pattern_any = re.compile(r'_(\d+)\.zip$')
    
    # Check for range pattern first
    match = pattern_range.search(filename)
    if match:
        return f"{match.group(1)}_{match.group(2)}"
    
    # Check for single date pattern
    match = pattern_single.search(filename)
    if match:
        return match.group(1)
    
    # Check for any number of digits pattern
    match = pattern_any.search(filename)
    if match:
        return match.group(1)
    
    return None

def transform_filename(file_name):
    # Add hyphen between lowercase and uppercase letters and convert to lowercase
    transformed = re.sub(r'(?&lt;=&#91;a-z])(?=&#91;A-Z])', '-', os.path.splitext(file_name)&#91;0]).lower()
    return transformed

def lambda_handler(event, context):
    bucket_name = event&#91;'Records']&#91;0]&#91;'s3']&#91;'bucket']&#91;'name']
    key = event&#91;'Records']&#91;0]&#91;'s3']&#91;'object']&#91;'key']
    date_suffix = extract_date_suffix(key)
    
    if not date_suffix:
        print(f"Invalid filename format: {key}")
        return {
            'statusCode': 400,
            'body': 'Invalid filename format'
        }
    
    with tempfile.TemporaryDirectory() as tmpdir:
        download_path = os.path.join(tmpdir, os.path.basename(key))
        
        s3_client.download_file(bucket_name, key, download_path)
        
        with zipfile.ZipFile(download_path, 'r') as zip_ref:
            zip_ref.extractall(tmpdir)

        for file in os.listdir(tmpdir):
            if file != os.path.basename(key):  # Don't upload the original zip file
                file_path = os.path.join(tmpdir, file)
                
                # Transform the filename and check against the folder mapping
                base_name = os.path.splitext(file)&#91;0]
                transformed_file_name = transform_filename(base_name)
                folder = folder_mapping.get(transformed_file_name)
                if not folder:
                    print(f"Skipping file: {file} (no matching folder)")
                    continue
                
                # Rename the file to include the date(s)
                new_file_name = f"{base_name}_{date_suffix}{os.path.splitext(file)&#91;1]}"
                
                # Upload the renamed file to the correct folder
                s3_client.upload_file(file_path, bucket_name, f"{folder}/{new_file_name}")

    return {
        'statusCode': 200,
        'body': 'Files unzipped and uploaded successfully'
    }</code></pre>



<ol class="wp-block-list" start="3"><li>When you&#8217;re done, click <strong>Deploy</strong> to save and activate the function</li><li>Check permissions if the function fails to access the bucket (missing <code>GetObject</code>, <code>PutObject</code>, or <code>ListBucket</code>)</li></ol>



<p class="wp-block-paragraph">Great! Next time your SFMC automation runs:</p>



<ul class="wp-block-list"><li>A <code>.zip</code> file lands in the input folder in S3</li><li>Lambda triggers automatically</li><li>Files are extracted, renamed, and sorted</li><li>Output files show up in clean, ready-to-use folders</li></ul>



<p class="wp-block-paragraph">Once the export and unzip process is running smoothly, <strong>there’s plenty more you can automate</strong>:</p>



<ul class="wp-block-list"><li>Stream cleaned files into your data warehouse</li><li>Add a second pipeline to load files into your CDP or other destination</li><li>Set up notifications via SNS or Slack when files are ready.</li></ul>



<p class="wp-block-paragraph">This setup works well if you’re building a modular analytics pipeline, one where each part of the process (export, unzip, validate, ingest) is traceable and easy to debug.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph"><style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> <p class="box"><em>If you’re facing issues with Salesforce Marketing Cloud exports, want to simplify your analytics setup, integrate a CDP, or need a hand building out real-time pipelines like this, scandiweb can help. </em><a href="https://scandiweb.com/contact" target="_blank" rel="noreferrer noopener"><em>Reach out to us today</em></a><em>, and we’ll get back to you in 48h!</em></p></p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/how-to-automate-sfmc-tracking-extracts-with-unzipping-in-aws/">How to Automate SFMC Tracking Extracts with Unzipping in AWS [Code Included]</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Luxury Retail Meets Data-Driven Personalization: Salesforce Data Cloud Success Story</title>
		<link>https://scandiweb.com/blog/luxury-retail-salesforce-data-cloud-success-story/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Mon, 30 Jun 2025 18:07:31 +0000</pubDate>
				<category><![CDATA[Case Studies]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[case study]]></category>
		<category><![CDATA[cdp]]></category>
		<category><![CDATA[Customer Data]]></category>
		<category><![CDATA[customer data platform]]></category>
		<category><![CDATA[customer loyalty]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[data centralization]]></category>
		<category><![CDATA[Data Tracking]]></category>
		<category><![CDATA[Digital Analytics]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=22420</guid>

					<description><![CDATA[<p>Read how we helped a luxury brand generate over 40% of its online revenue through personalized marketing with Salesforce Data Cloud.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/luxury-retail-salesforce-data-cloud-success-story/">Luxury Retail Meets Data-Driven Personalization: Salesforce Data Cloud Success Story</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-related-Zz6KrU wp-block-lazyblock-related"><div class="related-services">
  <h3>Related Services</h3>
  <ul>
    
    <li>
      <a  href="https://scandiweb.com/services/salesforce-commerce-cloud" target=_blank >
        Salesforce Commerce Cloud
      </a>
    </li>
    
    <li>
      <a  href="https://www.scandilytics.com/" target=_blank >
        Data &amp; Analytics
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/cro-ux" target=_blank >
        Customer Retention
      </a>
    </li>
    
  </ul>
</div>
</div>


<p class="wp-block-paragraph">A luxury fashion house in New York partnered with scandiweb to rebuild its customer data infrastructure and improve how it personalized experiences across channels. With boutiques, outlet locations, international stores, and a high-touch clienteling model, the brand needed a system that could unify fragmented data, support calculated traits, and power smarter segmentation.&nbsp;</p>



<p class="wp-block-paragraph">Across the 5 years of using a <a rel="noreferrer noopener" href="https://scandiweb.com/blog/what-is-cdp-customer-data-platforms-guide/" target="_blank">customer data platform (CDP)</a>, they’ve doubled revenue, automated hundreds of hours of reporting work, and now drive over 40% of online revenue through targeted email and SMS, reducing reliance on paid media, strengthening loyalty from high-value customers, and saving money while gaining complete control over their in-store and digital customer data. </p>



<h2 class="wp-block-heading">About</h2>



<p class="wp-block-paragraph">Our client is a New York City-based fashion house that specializes in women&#8217;s apparel, footwear, and accessories, offering a range of modern and sophisticated designs. They sell in physical boutiques and online with an eCommerce store powered by Magento. In the boutiques, stylists and store clerks enhance the shopping experience by offering personalized recommendations based on customer preferences.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="474" src="https://scandiweb.com/blog/wp-content/uploads/2025/06/personalization-across-luxury-channels-1024x474.png" alt="a graph of different channels in luxury industry" class="wp-image-22423" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/06/personalization-across-luxury-channels-1024x474.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/06/personalization-across-luxury-channels-300x139.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/06/personalization-across-luxury-channels-150x70.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/06/personalization-across-luxury-channels-768x356.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/06/personalization-across-luxury-channels-1536x712.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/06/personalization-across-luxury-channels-2048x949.png 2048w, https://scandiweb.com/blog/wp-content/uploads/2025/06/personalization-across-luxury-channels-1600x741.png 1600w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">Their operations rely heavily on a CDP to support personalization and data-driven decision-making across channels.</p>



<p class="wp-block-paragraph">Also read:<br><a href="https://scandiweb.com/blog/increase-your-ecommerce-revenue-with-cdps/" target="_blank" rel="noreferrer noopener">Webinar Recap: How to Increase Your eCommerce Revenue 2-3x with CDPs</a></p>



<h2 class="wp-block-heading">Challenges</h2>



<p class="wp-block-paragraph">The brand’s data ecosystem was highly complex. With operations spanning flagship boutiques, outlet and international stores, stylists providing 1:1 guidance, and an eCommerce store powered by Magento, customer interactions were scattered across many systems. Each customer could be represented by multiple identifiers – email, phone number, loyalty account, purchase history, and in-store interactions, making it difficult to form a unified profile.</p>



<p class="wp-block-paragraph">At the start of our collaboration, the client was already using an advanced customer data platform to support its personalization and marketing efforts. Over time, however, specific challenges, such as limited flexibility in managing identity resolution rules and increasing demands on reporting, led them to explore new solutions. With a focus on scalability, internal control, and deeper integration across its systems, we chose to migrate to <a href="https://scandiweb.com/blog/ecommerce-cdp-what-is-salesforce-data-cloud/" target="_blank" rel="noreferrer noopener">Salesforce Data Cloud</a>.</p>



<ul class="wp-block-list"><li><strong>Moving to a new platform without disrupting existing workflows<br></strong>A major concern during the migration was ensuring that existing workflows remained uninterrupted. The brand faced a strict deadline before their Acquia contract expired, which would have required committing to another year of service. Within this tight timeframe, we had to complete the migration to Salesforce Data Cloud, ensure all systems were integrated, and thoroughly test that data processes continued running smoothly without disruptions.</li><li><strong>Reporting inefficiencies and missed revenue opportunities<br></strong>The fashion brand needed deeper insights into customer purchasing behavior, but limited reporting tools required extensive manual effort to compile and analyze data. Since reports could not be generated automatically, teams had to manually export raw data, transfer files via SFTP (Secure File Transfer Protocol), and piece together information using pivot tables and VLOOKUP functions. This time-consuming work diverted resources away from tasks with higher ROI, like more time spent identifying <a href="https://scandiweb.com/blog/upselling-techniques-and-examples/" target="_blank" rel="noreferrer noopener">upselling</a> and <a href="https://scandiweb.com/blog/product-bundling-types-and-examples/" target="_blank" rel="noreferrer noopener">cross-selling</a> opportunities.</li><li><strong>Identity resolution limitations<br></strong>While the team had visibility into why customer profiles merged or didn’t merge, they could not modify the matching logic without support from Acquia. It was difficult to react quickly to data discrepancies or evolve identity resolution rules as business needs changed.&nbsp;</li><li><strong>Limitations in digital marketing insights and customer acquisition tracking<br></strong>Acquia lacked the ability to link website visits, product interactions, and purchase intent to individual customer profiles, leaving marketing teams without clear visibility into customer journeys. Additionally, the platform did not support direct integration with advertising networks, meaning customer data could not be synced with Google Ads or Meta. Without this connection, the company could not run targeted ad campaigns or measure how ads influenced purchases. The transition to Salesforce needed to bridge this gap by integrating web event tracking and aligning customer interactions with marketing performance.</li><li><strong>Scalability concerns and long-term growth<br></strong>The company needed a system that could evolve with their customer data strategies without incurring high implementation costs. Already using Salesforce Marketing Cloud, they benefited from good data exchange within the Salesforce ecosystem, making Salesforce Data Cloud a future-proof choice for expanding capabilities and maintaining operational efficiency over time.&nbsp;</li></ul>



<h2 class="wp-block-heading">Approach</h2>



<p class="wp-block-paragraph">scandiweb implemented a flexible, scalable solution to migrate to Salesforce Data Cloud, enabling improved customer segmentation and reduced reliance on external services.</p>



<h3 class="wp-block-heading">Transitioning from Acquia to Salesforce Data Cloud</h3>



<p class="wp-block-paragraph">The previous system was deeply integrated into the brand’s data workflows, making it critical to preserve existing functionality during the migration. scandiweb implemented Salesforce Data Cloud to give the internal team greater control over data processes and simplify future changes.</p>



<p class="wp-block-paragraph">A key part of the migration involved integrating Salesforce Data Cloud with their existing technology stack, including Magento, in-store customer relationship tools, and external data sources.&nbsp;</p>



<p class="wp-block-paragraph">Data validation and integrity checks were utilized throughout the migration to prevent discrepancies and ensure a clean dataset. We developed customized automation rules, which helped map Acquia’s existing data structures into Salesforce without data loss or corruption.&nbsp;</p>



<p class="wp-block-paragraph">The transition process included initial user training to help internal teams get up to speed with the new system. With the most technical onboarding still underway, the brand is building toward full in-house autonomy. The migration to Salesforce Data Cloud laid the groundwork for a scalable and future-ready customer data infrastructure.</p>



<h3 class="wp-block-heading">New data infrastructure with AWS</h3>



<p class="wp-block-paragraph">As the project progressed, we encountered limitations in data ingestion and transformation capabilities within the initial setup. To address it, we explored external cloud solutions and expanded the existing AWS environment to support more flexible and scalable data operations.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="473" src="https://scandiweb.com/blog/wp-content/uploads/2025/06/data-infrastructure-setup-1024x473.png" alt="a graph of a data infrastructure setup connected to a cdp" class="wp-image-22424" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/06/data-infrastructure-setup-1024x473.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/06/data-infrastructure-setup-300x139.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/06/data-infrastructure-setup-150x69.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/06/data-infrastructure-setup-768x355.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/06/data-infrastructure-setup-1536x710.png 1536w, https://scandiweb.com/blog/wp-content/uploads/2025/06/data-infrastructure-setup-1600x739.png 1600w, https://scandiweb.com/blog/wp-content/uploads/2025/06/data-infrastructure-setup.png 2036w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure></div>



<p class="wp-block-paragraph">The following AWS services were integrated into the new setup:</p>



<ul class="wp-block-list"><li><strong>AWS S3</strong><ul><li>Used to store most ingested input data sources</li><li>Also serves as the storage for processed files ready for ingestion into the Salesforce Data Cloud</li></ul></li><li><strong>AWS Glue</strong><ul><li>Handles data transformations such as blacklisting, standardization, and API-based tasks</li><li>Combined visual ETL configuration for simpler workflows with custom code via the Script Editor for more complex processes</li></ul></li><li><strong>AWS Glue DataBrew</strong><ul><li>Enables visual data profiling and initial data exploration to identify key issues and edge cases</li><li>Also used to validate outputs during pipeline quality assurance</li></ul></li><li><strong>AWS Lambda</strong><ul><li>Used for real-time processing jobs triggered by specific events</li></ul></li><li><strong>AWS Redshift Serverless</strong><ul><li>Implemented as a data warehouse to support structured data access and analysis without infrastructure management overhead.</li></ul></li></ul>



<h3 class="wp-block-heading">Identity resolution system update</h3>



<p class="wp-block-paragraph">Identity resolution is the process of matching and unifying customer data across multiple touchpoints to create a single, accurate customer profile. Each individual is recognized consistently across online, in-store, and marketing interactions. Without a proper identity resolution system, businesses face issues like duplicate records and a fragmented view of their audience.</p>



<p class="wp-block-paragraph">To support unified customer profiles, scandiweb configured Salesforce Data Cloud&#8217;s identity resolution framework to fit the existing data logic and structure. Our setup included tools for testing and validating match rules in a controlled environment, ensuring confidence in profile merges before any changes were applied. The migration process also included knowledge transfer and onboarding for internal teams to take ownership of the identity resolution logic moving forward.</p>



<h3 class="wp-block-heading">Calculated traits and segmentation</h3>



<p class="wp-block-paragraph">With unified customer profiles in Salesforce Data Cloud, the team gained the ability to work with calculated traits – derived attributes that go beyond standard fields from source systems. They gave a more detailed view of customer behavior and preferences.</p>



<p class="wp-block-paragraph"><strong>Examples of calculated traits</strong></p>



<ul class="wp-block-list"><li>Order metrics: lifetime order count, time since first and most recent purchase, purchase frequency by period (last 12 months, 13–24 months, 24+ months)</li><li>Revenue patterns: lifetime revenue, decile rankings, trend segments</li><li>Engagement: email and SMS sends, clicks, opens, CTR by timeframe</li><li>Web activity: total sessions, last session date</li><li>Preferences: sizes, colours, product types, styles, channels, preferred stylist or store.</li></ul>



<p class="wp-block-paragraph"><strong>Segmentation strategies based on enriched customer profiles</strong></p>



<ul class="wp-block-list"><li>Full-price vs off-price buyers</li><li>Lifecycle stages (new, inactive, lapsed, reactivated, unidentified)</li><li>Revenue trend groups</li><li>Location-based segments for in-store events</li><li>Product-based segments for tailored communications.</li></ul>



<h3 class="wp-block-heading">Automated analytics with Tableau</h3>



<p class="wp-block-paragraph">With the implementation of Tableau as the primary business intelligence tool, we created an automated analytics framework. Tableau’s integration with Salesforce Data Cloud enabled the company to automate reporting processes and centralize performance tracking across teams.</p>



<h3 class="wp-block-heading">Enriching customer segmentation with external data</h3>



<p class="wp-block-paragraph">Customer segmentation plays a key role in our client&#8217;s personalization efforts. The previous platform made integrating new data sources difficult, limiting the segmentation depth. With the new system, adding third-party data became significantly easier, enabling more refined and flexible audience segmentation.</p>



<p class="wp-block-paragraph">With Salesforce Data Cloud, we ensured they gained the ability to ingest and unify external data sources to support more advanced customer segmentation. For example, Census Data enriched segmentation efforts by adding socioeconomic indicators.</p>



<h2 class="wp-block-heading">Results</h2>



<h3 class="wp-block-heading">1. 85% of revenue generated by re-engaging existing customers</h3>



<p class="wp-block-paragraph">With better visibility into customer history and preferences, the brand focused more on retention and lifecycle-based engagement. Personalized campaigns, proactive churn prevention, and curated in-store experiences helped make the most of their existing customer base.</p>



<h3 class="wp-block-heading">2. Highly personalized in-store customer experience</h3>



<p class="wp-block-paragraph">The brand had existing customer profile visibility in their clienteling tool, which stylists use to enhance the in-store experience. scandiweb supported migrating this data to Salesforce Data Cloud and preserved the export process to Proximity. We built a new dashboard in Tableau, offering greater flexibility to access and customize customer insights. Unlike frontend changes in the previous clienteling tool, Tableau <strong>dashboards could be quickly updated internally</strong> to expand available data to stylists without relying on external development.</p>



<p class="wp-block-paragraph">scandiweb’s implementation of Salesforce Data Cloud enabled them to deliver an <strong>even more personalized in-store experience</strong>. Staff can access detailed profiles before appointments, including transaction history and preferred product categories, to tailor recommendations more precisely, create a curated shopping experience, and anticipate customer needs.</p>



<h3 class="wp-block-heading">3. Effective email and SMS marketing communication</h3>



<p class="wp-block-paragraph">Email and personalized SMS marketing contribute <strong>over 40% of online sales</strong>. By contrast, brands without a CDP often generate just 1–3% of revenue from these channels.</p>



<p class="wp-block-paragraph">The brand leveraged our consolidated customer data to implement more precise email and SMS marketing segmentation. To engage customers, personalized offers and targeted messaging were sent based on purchase history, browsing behavior, and engagement patterns, delivering promotions aligned with their shopping habits and preferences.&nbsp;</p>



<h3 class="wp-block-heading">4. Enhanced identity resolution</h3>



<p class="wp-block-paragraph">Salesforce Data Cloud allows them to <strong>test, compare, and deploy identity resolution rules</strong>. Instead of relying on predefined, unchangeable rules, they can now adjust identity resolution settings based on their specific needs, giving them greater control in managing customer data.&nbsp;</p>



<h3 class="wp-block-heading">5. Targeted advertising spend and ROAS improvements</h3>



<p class="wp-block-paragraph">With customer data more accessible and organized in Salesforce Data Cloud, we improved how audience segments were activated within Google Ads and Meta Ads. Building on its existing personalization efforts, they can deliver more personalized ads to existing customers and high-intent prospects, potentially <strong>reducing wasted ad spend</strong> and increasing ROAS. Additionally, third-party data enrichment enhanced customer lifetime value modeling, helping the team better <strong>prioritize high-value audiences</strong>.</p>



<h3 class="wp-block-heading">6. Advanced business reporting and BI solutions</h3>



<p class="wp-block-paragraph">Our integration of Salesforce Data Cloud and Tableau enabled a <strong>centralized and automated business intelligence system</strong>. Teams can now track KPIs automatically, measure the effectiveness of customer segments, and analyze user journeys.</p>



<p class="wp-block-paragraph">Interactive dashboards allow deeper customer data exploration, with Tableau’s drill-down capabilities for reviewing behavior by segment, transaction history, or web engagement. This has reduced reporting time and improved the speed and accuracy of business decision-making. With access to more reliable data, our client can plan long-term strategies based on customer behavior.</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph"><style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> <p class="box"><em>Looking to transform your customer data management? scandiweb can help you leverage Salesforce Data Cloud or any suitable platform to streamline reporting, optimize marketing, and enhance customer engagement. </em><a href="http://scandiweb.com/contact" target="_blank" rel="noreferrer noopener"><em>Get in touch today</em></a><em> to learn how we can help!</em></p></p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/luxury-retail-salesforce-data-cloud-success-story/">Luxury Retail Meets Data-Driven Personalization: Salesforce Data Cloud Success Story</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Webinar Recap: How to Increase Your eCommerce Revenue 2-3x with CDPs</title>
		<link>https://scandiweb.com/blog/increase-your-ecommerce-revenue-with-cdps/</link>
		
		<dc:creator><![CDATA[Saba Jagmaidze]]></dc:creator>
		<pubDate>Wed, 25 Jun 2025 16:24:09 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Digital Growth]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[cdp]]></category>
		<category><![CDATA[Customer Data]]></category>
		<category><![CDATA[customer data platform]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[Data Analysis]]></category>
		<category><![CDATA[data warehouse]]></category>
		<category><![CDATA[Digital Analytics]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[ecommerce data analytics]]></category>
		<category><![CDATA[webinar]]></category>
		<guid isPermaLink="false">https://scandiweb.com/blog/?p=22356</guid>

					<description><![CDATA[<p>In this webinar recap, read about what a CDP is, what it does, how it works, and what it takes to implement one.</p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/increase-your-ecommerce-revenue-with-cdps/">Webinar Recap: How to Increase Your eCommerce Revenue 2-3x with CDPs</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="lazyblock-related-1L2QXq wp-block-lazyblock-related"><div class="related-services">
  <h3>Related Services</h3>
  <ul>
    
    <li>
      <a  href="https://scandiweb.com/services/cx-customer-experience-optimization" target=_blank >
        CX Optimization
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/data-collection-and-storage" target=_blank >
        Data Collection &amp; Storage
      </a>
    </li>
    
    <li>
      <a  href="https://scandiweb.com/services/bi-actionable-analytics" target=_blank >
        BI &amp; Actionable Analytics
      </a>
    </li>
    
  </ul>
</div>
</div>


<p class="wp-block-paragraph">Every click, product view, purchase, or support request reveals something about your customer. That is, if you know where to look. In eCommerce, customer data platforms (CDPs) are the power tools for understanding customer behavior and personalizing marketing, meanwhile improving overall customer experience.</p>



<p class="wp-block-paragraph">Research shows that companies using CDPs achieve 2.9x greater YoY revenue growth compared to those that don’t. However, to achieve those results, you need to fully understand the topic. In our latest webinar, we broke down what a CDP is, what it does, how it works, and what it takes to implement one. Here’s what you need to know.</p>



<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Increase your eCommerce revenue 2-3x with CDPs: Strategy explained webinar" width="688" height="387" src="https://www.youtube.com/embed/9Db_SOjImv4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">Watch the full webinar recording above, or read more for all the essentials on how CDPs can help eCommerce retailers grow their revenue.</p>



<h2 class="wp-block-heading">What are CDPs and why should you care?</h2>



<p class="wp-block-paragraph">A customer data platform (CDP) is software that unifies customer data from various channels, such as eCommerce, mobile apps, POS, live chat, SEO, PPC, and more, into a single, centralized customer profile.</p>



<p class="wp-block-paragraph">Unlike customer relationship management (CRM), data management platforms (DMP), or data warehouses, a CDP brings together customer data from all sources into <a rel="noreferrer noopener" href="https://scandiweb.com/blog/unifying-data-for-omnichannel-retail-personalization/" target="_blank">one clear profile, online and offline</a>, that stays updated over time. This makes it easier to personalize in real time and connect across channels. </p>



<p class="wp-block-paragraph">It offers stronger <a rel="noreferrer noopener" href="https://scandiweb.com/blog/identity-resolution-in-salesforce-data-cloud/" target="_blank">identity resolution</a> than CRMs (which focus on known contacts) and DMPs (which rely on anonymous data), and unlike data warehouses, CDPs are built for analysis and action.</p>



<figure class="wp-block-table"><table><tbody><tr><td><strong>Feature</strong></td><td class="has-text-align-center" data-align="center"><strong>CDP</strong></td><td class="has-text-align-center" data-align="center"><strong>CRM</strong></td><td class="has-text-align-center" data-align="center"><strong>DMP</strong></td><td class="has-text-align-center" data-align="center"><strong>Data Warehouse</strong></td></tr><tr><td><strong>Primary Purpose</strong></td><td class="has-text-align-center" data-align="center"><strong>Unify and activate customer data&nbsp;</strong> for various use cases (marketing, analytics, customer service, product)</td><td class="has-text-align-center" data-align="center">Manage <strong>individual customer</strong> interactions and sales pipeline</td><td class="has-text-align-center" data-align="center">Aggregate <strong>anonymous audience data</strong> for ad targeting</td><td class="has-text-align-center" data-align="center">Centralize and analyze<br><strong>large-scale organizational data</strong></td></tr><tr><td><strong>Data Type &amp; Scope</strong></td><td class="has-text-align-center" data-align="center">First-, second-, and third-party customer data (online/offline, deterministic &amp; probabilistic)</td><td class="has-text-align-center" data-align="center">First-party transactional and interaction records</td><td class="has-text-align-center" data-align="center">Mostly third-party and second-party cookies/IDs (anonymous)</td><td class="has-text-align-center" data-align="center">Structured and semi-structured enterprise data (various sources)</td></tr><tr><td><strong>Identity Resolution</strong></td><td class="has-text-align-center" data-align="center">Strong (stitching multiple identifiers to a single customer profile)</td><td class="has-text-align-center" data-align="center">Moderate (focused on known contacts/accounts)</td><td class="has-text-align-center" data-align="center">Weak (anonymous segments, audience buckets)</td><td class="has-text-align-center" data-align="center">N/A (focuses on data integration, not individual identity)</td></tr><tr><td><strong>Timeframe &amp; Retention</strong></td><td class="has-text-align-center" data-align="center">Real-time to long-term (persistent customer profiles)</td><td class="has-text-align-center" data-align="center">Real-time to medium (ongoing customer history)</td><td class="has-text-align-center" data-align="center">Short-term (cookies expire; audience snapshots)</td><td class="has-text-align-center" data-align="center">Historical (multi-year archives for analysis)</td></tr></tbody></table><figcaption><em>How CDP features differ from other solutions</em></figcaption></figure>



<p class="wp-block-paragraph">Essentially, CDPs are built specifically for identity resolution and real-time personalization, which most CRMs and DMPs are not.</p>



<h3 class="wp-block-heading">CDP core values</h3>



<p class="wp-block-paragraph">CDPs bring structure to messy customer data and turn it into something you can use. Here’s what they do best:</p>



<ul class="wp-block-list"><li>Connect and combine data from all platforms (eCom, CRM, POS, ads, etc.)</li><li>Merge customer info into one clear profile</li><li>Build smart audience segments, including AI-driven ones</li><li>Send personalized messages through email, ads, and more</li><li>Track customer behavior, predict churn, and show segment performance.</li></ul>



<h3 class="wp-block-heading">Why CDPs are so valuable for customer retention and personalization</h3>



<p class="wp-block-paragraph">Businesses that use CDP show up to 90% reduction in time spent on segmentation, customer journeys, and reporting tasks.&nbsp;</p>



<p class="wp-block-paragraph">CDPs also unify data across channels so teams can personalize in real time and act on insights without manual effort. They increase customer loyalty and lifetime value, reduce churn, support data privacy compliance, as well as save time through effective data management, all of which contribute to higher revenue and marketing performance.</p>



<p class="wp-block-paragraph">Also read:<br><a rel="noreferrer noopener" href="https://scandiweb.com/blog/what-is-cdp-customer-data-platforms-guide/" target="_blank">What is CDP? Guide to Customer Data Platforms for eCommerce</a></p>



<h2 class="wp-block-heading">CDPs and AI</h2>



<p class="wp-block-paragraph">AI goes beyond being a trendy term in the context of CDPs; it serves as a practical engine driving better decision-making and more precise targeting. Predictive features, such as anticipating user churn and tailoring messages to be more timely, are some of the ways AI helps CDPs make better use of data.</p>



<p class="wp-block-paragraph">Here’s how the top platforms today use AI for customer insights, making them more precise and actionable.</p>



<h3 class="wp-block-heading">Predictive audiences and analytics</h3>



<p class="wp-block-paragraph">Various AI models can help businesses forecast the following customer behavior:</p>



<ul class="wp-block-list"><li>Who is likely to make a purchase soon</li><li>Who is at risk of churning</li><li>Which customers are likely to respond to a campaign</li><li>How much a customer might spend over their lifetime</li><li>When a customer is most likely to buy again.</li></ul>



<p class="wp-block-paragraph">Some CDPs with these features are Segment (Twilio Segment), Salesforce Data Cloud (Einstein AI), <a href="https://scandiweb.com/shopify-integrations/bloomreach">Bloomreach</a>, and Treasure Data.</p>



<h3 class="wp-block-heading">Real-time customer data unification and identity resolution</h3>



<p class="wp-block-paragraph">Real-time data unification means bringing scattered customer data into one clear profile automatically and instantly.</p>



<p class="wp-block-paragraph">AI connects the dots between different devices, email addresses, purchase histories, and more to recognize the same person across platforms. This gives you a complete, up-to-date view of each customer without manual cleanup.</p>



<p class="wp-block-paragraph">Some of the platforms that have these features are BlueConic and Salesforce Data Cloud.</p>



<h3 class="wp-block-heading">Automated personalization</h3>



<p class="wp-block-paragraph">Automated personalization uses AI to adapt every interaction to each customer without manual setup. It adjusts everything from messages and website content to product recommendations based on what users engage with the most.&nbsp;</p>



<p class="wp-block-paragraph">Platforms like Salesforce Data Cloud, Bloomreach, and BlueConic use this to make personalization faster and more relevant.</p>



<h3 class="wp-block-heading">Data cleansing and enrichment</h3>



<p class="wp-block-paragraph">Data cleansing and enrichment keep your customer data accurate and complete, so that it’s ready to use. In this case, AI takes care of routine cleanup by removing duplicates and fixing inconsistent and missing fields, so your team doesn’t have to.&nbsp;</p>



<p class="wp-block-paragraph">Tools like Treasure Data and BlueConic’s AI Workbench help maintain high data quality without manual effort.</p>



<h3 class="wp-block-heading">Dynamic segmentation</h3>



<p class="wp-block-paragraph">Dynamic segmentation uses AI to automatically group customers based on how they behave and what they’re likely to do next. It updates segments in real time, so you’re always targeting the right people with the right message.&nbsp;</p>



<p class="wp-block-paragraph">Bloomreach, Segment, and Treasure Data make this possible with no constant manual updates.</p>



<h3 class="wp-block-heading">Customer journey optimization</h3>



<p class="wp-block-paragraph">Customer journey optimization uses AI to track how people move across channels and fine-tune their experience as it happens. It spots drop-off points, adjusts timing, and delivers the right message at the right step, whether that’s on your site, in an email, or in-store.&nbsp;</p>



<p class="wp-block-paragraph">Bloomreach, BlueConic, and Salesforce Data Cloud are some of the tools that can handle this in real-time.</p>



<h2 class="wp-block-heading">Case study: how a New York retailer increased revenue with CDP</h2>



<p class="wp-block-paragraph">A luxury New York fashion retailer struggled with fragmented customer data across online, offline, and loyalty channels, making personalization difficult. Without a unified view, insights like preferences and purchase history had to be manually calculated, limiting effective segmentation and targeted campaigns.</p>



<p class="wp-block-paragraph">After implementing a CDP, these were the outcomes:&nbsp;</p>



<ul class="wp-block-list"><li>2x revenue growth in 5 years</li><li>85% of revenue from re-engaged customers</li><li>Over 40% of online sales driven by email and SMS</li><li>Personalized customer service and in-store experience, knowing customer preferences</li><li>Automated business reporting and insights, saving hundreds of hours of manual time</li><li>In-depth customer knowledge, driving smarter product and marketing strategies across teams.</li></ul>



<h2 class="wp-block-heading">What it takes to implement a CDP platform</h2>



<p class="wp-block-paragraph">Implementing a CDP requires the right team and a solid tech stack. When you’re thinking about the team setup, these are the people to consider:</p>



<ul class="wp-block-list"><li>Marketing, CRM, and eCommerce managers who define use cases and activation goals</li><li>People who know the customer and the data</li><li>Tech specialists: a CDP specialist, a data (analytics) engineer, and a BI specialist.</li></ul>



<p class="wp-block-paragraph">For a tech stack, you’ll need:</p>



<ul class="wp-block-list"><li>A <a href="https://scandiweb.com/blog/data-warehouses-for-ecommerce-definition-examples-benefits/" target="_blank" rel="noreferrer noopener">data warehouse</a> to store and organize clean customer data</li><li>A traditional or composable CDP&nbsp;</li><li>Data transformation tools to clean and transform data if not handled inside the CDP</li><li>BI tools (e.g., Tableau, Power BI, or Looker) for visualization and reporting.</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="536" src="https://scandiweb.com/blog/wp-content/uploads/2025/06/Cooperation-of-Roles-on-the-Project-1-1024x536.png" alt="A graph that shows cooperation of roles on the project" class="wp-image-22371" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/06/Cooperation-of-Roles-on-the-Project-1-1024x536.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/06/Cooperation-of-Roles-on-the-Project-1-300x157.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/06/Cooperation-of-Roles-on-the-Project-1-150x79.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/06/Cooperation-of-Roles-on-the-Project-1-768x402.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/06/Cooperation-of-Roles-on-the-Project-1.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption><em>Cooperation of Roles on the Project</em></figcaption></figure></div>



<p class="wp-block-paragraph">Our scandiweb team has the expertise to manage every aspect of CDP implementation, from defining use cases and activation goals to handling the entire tech stack. Our team of specialists will ensure your data is organized and ready for action, giving you the best results.</p>



<h2 class="wp-block-heading">How to choose the right CDP platform</h2>



<p class="wp-block-paragraph">Before choosing the right platform, you have to keep in mind that there is no “one size fits all” solution. Here’s what you need to consider when choosing the right tool for your business.</p>



<h3 class="wp-block-heading">Types of CDPs</h3>



<p class="wp-block-paragraph">The two main categories, traditional and composable, offer different levels of flexibility, control, and ease of use.</p>



<p class="wp-block-paragraph">Traditional CDPs are packaged, all-in-one platforms that come with built-in tools for data unification, identity resolution, and activation. They’re quicker to set up and easier to manage, making them a good fit for teams that want a ready-to-use solution without heavy internal resources. However, they offer less flexibility when it comes to customization.</p>



<p class="wp-block-paragraph">Whereas composable CDPs are modular and built on top of your existing data warehouse. Instead of an all-in-one tool, you combine best-in-class tools for each function. This gives you full control and avoids vendor lock-in, but it requires a strong internal data team to manage setup and ongoing operations.</p>



<h2 class="wp-block-heading">Factors to consider when choosing the right CDP for you</h2>



<p class="wp-block-paragraph">When you’re about to choose a CDP, there are many variables to consider, which is why we here at scandiweb work closely with the client and run an in-depth discovery to evaluate everything properly. These are the key factors to consider:</p>



<ul class="wp-block-list"><li>Business goals you want to achieve (data unification, personalized marketing, retargeting in ads, or better customer insights)</li><li>Pricing models based on tracked users, event volume, or data records</li><li>Privacy compliance requirements like GDPR or CCPA</li><li><a href="https://scandiweb.com/blog/data-ingestion-in-salesforce-data-cloud/" target="_blank" rel="noreferrer noopener">Data source compatibility</a>, as some CDPs offer native integrations, while others require external connectors or workarounds</li><li>Data transformation needs, as some CDPs expect cleaned, structured data before ingestion</li><li>Activation targets like email platforms or ad tools</li><li>Identity resolution flexibility&nbsp;</li><li>Documentation quality and access to onboarding resources.</li></ul>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="536" src="https://scandiweb.com/blog/wp-content/uploads/2025/06/Example-of-data-standardization-1-1024x536.png" alt="A graph that shows an example of data standartization with phone number" class="wp-image-22372" srcset="https://scandiweb.com/blog/wp-content/uploads/2025/06/Example-of-data-standardization-1-1024x536.png 1024w, https://scandiweb.com/blog/wp-content/uploads/2025/06/Example-of-data-standardization-1-300x157.png 300w, https://scandiweb.com/blog/wp-content/uploads/2025/06/Example-of-data-standardization-1-150x79.png 150w, https://scandiweb.com/blog/wp-content/uploads/2025/06/Example-of-data-standardization-1-768x402.png 768w, https://scandiweb.com/blog/wp-content/uploads/2025/06/Example-of-data-standardization-1.png 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption><em>Example of data standardization</em></figcaption></figure></div>



<h2 class="wp-block-heading">Some of the top CDP platforms</h2>



<ol class="wp-block-list"><li><a href="https://scandiweb.com/blog/ecommerce-cdp-what-is-salesforce-data-cloud/" target="_blank" rel="noreferrer noopener"><strong>Salesforce Data Cloud</strong></a> offers strong integration with Salesforce tools and flexible data modeling, but has complex pricing, limited documentation, and non-persistent unified IDs.</li><li><strong>Bloomreach</strong> is user-friendly, cost-effective for small and medium-sized businesses, with solid support and documentation, though it has a learning curve and less intuitive data validation.</li><li><strong>Segment</strong> excels in integrations and data governance, with native messaging and AI features, but lacks built-in reporting and can become costly with scale.</li><li><strong>Insider</strong> CDP includes built-in automation and a strong UI, but it offers fewer integrations and has pricing and stability issues.</li><li><strong>Adobe Experience Cloud</strong> is powerful but best suited for companies already using the full Adobe stack.</li><li><strong><a href="https://scandiweb.com/magento-integrations/pimcore">Pimcore</a></strong> is open-source and flexible, ideal for custom setups, but has fewer ready-made connectors.</li><li><strong>RudderStack</strong> is warehouse-native, giving full data ownership and flexibility, but requires technical expertise for setup and maintenance.</li></ol>



<h2 class="wp-block-heading">Summary: why a CDP is a must for any eCommerce store</h2>



<p class="wp-block-paragraph">Retailers often struggle with disconnected systems and scattered customer data. This limits the ability to satisfy customers and slows down personalization efforts and business decisions. Bringing online and offline customer data together solves a key challenge for businesses. CDPs provide the central system needed for this.</p>



<p class="wp-block-paragraph">Take, for example, the New York luxury fashion retailer. With the help of our CDP experts and all the right tools, we were able to increase their revenue more than twice. In-depth customer knowledge is one of the driving factors for creating smarter product and marketing strategies.</p>



<p class="wp-block-paragraph">With the rising role of AI in marketing, CDPs are becoming even more effective for delivering true data-driven insights and actions. Therefore, retailers that don’t use CDPs in their eCommerce are losing to their competitors.&nbsp;</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph"><style> p.box { border: 1px solid black; padding-top: 30px; padding-right: 30px; padding-bottom: 30px; padding-left: 30px; } </style> <p class="box"><em>Want a clearer view of your customers? </em><a href="https://scandiweb.com/contact" target="_blank" rel="noreferrer noopener"><em>Get in touch with us</em></a><em> and see how unified customer data leads to more effective marketing and stronger customer loyalty, producing better business results.</em></p></p>
<p>The post <a rel="nofollow" href="https://scandiweb.com/blog/increase-your-ecommerce-revenue-with-cdps/">Webinar Recap: How to Increase Your eCommerce Revenue 2-3x with CDPs</a> appeared first on <a rel="nofollow" href="https://scandiweb.com/blog">scandiweb</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 53/184 objects using Redis
Page Caching using Disk: Enhanced 

Served from: scandiweb.com @ 2026-11-03 17:26:51 by W3 Total Cache
-->