The Biggest Downside of a "Best-In-Breed" eCommerce Marketing Techstack
In this article, we’ll highlight several often overlooked and underreported drawbacks of "best-in-breed" marketing tech stack.
About the Author:
Co-founder of Datacop, agency that fulfils marketing operation roles in large eCommerce companies such as OluKai, Melin, Roark, Visual Comfort and Company, Dedoles and others.
The architecture of eCommerce marketing technology stacks is a topic of ongoing debate. One side advocates for all-in-one, tightly integrated platforms like Bloomreach Engagement, claiming they provide the most streamlined approach. On the other hand, proponents of the "best-in-breed" method prefer assembling standalone tools, believing this offers greater flexibility to swap out components that don’t meet expectations.
In this article, we’ll share our insights on the topic. We will highlight several often overlooked and underreported drawbacks of the "best-in-breed" marketing tech stacks from our perspective.
If you've been following our Substack, you’re likely aware of our extensive experience with Bloomreach Engagement. This platform seamlessly integrates six major marketing tools—along with several smaller ones—into one cohesive system. These tools include:
CDP
Email Marketing Tool,
SMS Marketing Tool,
Analytical Tool,
Website Personalization and A/B testing,
Product Recommendations.
For the visually inclined, you can imagine Bloomreach Engagement as follows:
Another popular approach is the "best-in-breed" marketing tech stack. The concept is simple: instead of choosing an all-in-one platform, you select the top-performing tools in each category. For instance, you might use Klaviyo for email marketing and Segment for customer data management, among others.
This type of tech stack can be visualized as follows:
Having worked with both approaches, we’ve come to believe that while the "best-in-breed" tech stack sounds appealing in theory, it doesn’t always deliver in real-world applications.
In this article, we’ll explain why we hold this belief and present our case.
Bloomreach Engagement + Attentive
Recently, one of our clients chose to use Attentive for sending SMS messages instead of Bloomreach Engagement’s native SMS tool. The primary reason for this decision was Attentive’s user-friendly interface, which, while easier to navigate than Bloomreach Engagement, sacrifices some functionality and flexibility.
Bloomreach Engagement and Attentive also offer a native integration, theoretically enabling full setup and operation in under an hour.
While it is technically possible to launch campaigns within that timeframe, using Attentive for SMS instead of Bloomreach led to several unexpected data quality issues. These problems did not exist prior to the switch and required either custom development—which is the approach we took—or accepting the negative impact of the issues.
Below, we outline the specific problems we encountered with this setup and provide a step-by-step guide on how we resolved them.
1. Profile Split at Attentive Signup Unit
One advantage of using Attentive is the ease with which email and SMS pop-up banners can be set up. As a result, our client decided to collect all emails and phone numbers via an Attentive pop-up.
Here’s a common scenario: You arrive at the website as a new, anonymous visitor. At this point, the only identifier associated with you is an Bloomreach Engagement cookie, which creates a new anonymous profile where frontend events like session starts and page visits are tracked.
Next, an Attentive-powered pop-up appears, prompting you to sign up for the newsletter.
When a customer enters their phone number, it is first sent to Attentive, then forwarded via a backend integration to Bloomreach Engagement. This process creates a new profile in Bloomreach Engagement, but it only contains the phone number and campaign-related events, such as the dispatch of an SMS welcome series.
However, this process raises an important question: Why isn’t the phone number saved in the original profile that contains the customer’s web activity?
This happens because Attentive, the system responsible for collecting phone numbers, doesn’t store the Bloomreach Engagement cookie value. As a result, when Attentive sends the phone number to Bloomreach Engagement, it lacks the information needed to associate the number with the existing customer cookie. Consequently, a new profile is created that contains only the customer’s phone number, leading to a split of customer information across two distinct profiles.
How we solved this issue
To address this issue, we ensured that Bloomreach also captures the phone number when it is submitted via the pop-up banner. This was done by embedding the exponea.identify()
function into the Attentive banner. When the customer clicks the “Submit” button, the following line of code is executed:
exponea.identify({ phone_id: <<phonevariable>> });
One drawback of systems like Attentive (and similarly with Klaviyo) is the limited access to the pop-up banner’s code. To make any modifications, you need to contact an Attentive customer success manager and request that they include the specific code snippet in the banner.
Note: This process can take some time; in our case, it took a couple of days. In contrast, with Bloomreach Engagement, we can make these changes instantly and test the impact immediately.
Once the change is implemented, you’ll be able to capture customer interactions within a single profile accurately. The customer profile will then look as follows:
Limitations: Both Attentive and Bloomreach offer a two-tap SMS sign-up feature optimized for mobile users. This technology allows users to subscribe to an SMS newsletter without manually entering their phone number. Instead, they simply tap a button that redirects them to their messaging app, where they send a pre-filled SMS to subscribe. The process looks like this:
Unfortunately, because the phone number isn’t entered directly on the website, the solution we previously described cannot be applied in this scenario. This typically results in the creation of two separate customer profiles, rather than consolidating the data into one. So far, we have not identified a solution to address this issue.
However, since Bloomreach Engagement integrates both its Customer Data Platform and SMS Marketing Platform into a unified system, it provides out-of-the-box solutions for challenges like these.
2. Profile Split at SMS Interaction
After integrating Bloomreach Engagement with Attentive, we continued to encounter numerous profiles that contained only attentive_campaign events. Below is a screenshot from one such profile:
Even though we could see that the customer "clicked on" several messages, their subsequent website behavior wasn’t recorded in the same profile.
How is this possible?
When a customer clicks on an SMS sent by Attentive, Bloomreach Engagement cannot link the website visitor to the phone number stored in its system. It only recognizes the information included in the URL, specifically the UTM parameters generated by Attentive. For data privacy reasons, including the phone number in the URL would present a significant security risk and is, therefore, avoided.
Upon examining the URL from a session initiated by an Attentive SMS campaign, we found that it appeared as follows:
At the end of the URL, there is a user identifier labeled "externalId."
We reached out to Attentive to see if they could provide a table mapping each phone number to its corresponding externalId. They confirmed that this information could be accessed via their SFTP server, and we subsequently stored it in BigQuery.
With this data in hand, our next step was to ensure that the externalId was recorded as a soft_id in Bloomreach Engagement for every profile that included a session_start event tagged with the corresponding externalId UTM. We also needed to associate the same externalId with the profile linked to the corresponding phone_id.
For example, from the table provided by Attentive, we found that the phone number +1-212-456-7890 was associated with "externalId = I47zI."
Next, we checked how many profiles in Bloomreach Engagement contained a session_start event with "externalId = I47zI."
This search returned 9 different profiles.
This situation resulted in a single customer’s behavior being fragmented across 9 different profiles.
Once we linked each of these profiles to the same soft_id (externalId = I47zI), they were successfully merged into a single profile.
Addressing the issue of profile fragmentation retrospectively for a customer who had been using Attentive together with Bloomreach Engagement for over two years, we merged more than 531,000 profiles.
3. Data Availability Through Native Integrations
When we established a native integration between Bloomreach and Attentive, we began receiving attentive_campaign events in our Bloomreach Engagement project. These events tracked each customer interaction with an SMS campaign, including when a campaign was sent and when a customer clicked on it.
However, we encountered a limitation in the available data attributes. The events contained very few details, most notably lacking the campaign name. The only identifier on a campaign provided was a message_id attribute, which was not human-readable.
To the best of our knowledge, this issue occurred because Attentive doesn’t expose the campaign_name in its API. As a result, when Bloomreach built the integration, it couldn't retrieve this essential information.
While knowing that an SMS campaign had been sent was useful, the absence of specific campaign details significantly restricted our ability to perform in-depth analysis.
Final Thoughts
We realize this article is more technical than usual, and you may be wondering, "So what? Why should I care about this problem?"
The answer is simple: the success of your data analytics and personalization strategies hinges on the quality of your data. If customer interactions are fragmented across multiple profiles rather than consolidated into one, your ability to effectively personalize and analyze will be compromised.
Choosing a "best-in-breed" marketing tech stack means you’ll need to establish and maintain data pipelines across all your systems. This article highlights just the challenges between a CDP and an SMS marketing tool.
Now, imagine you also have separate systems for email marketing, website personalization, and analytics.
It’s very likely you’ll face similar issues with data pipelines between the CDP and your email marketing tool, the CDP and your website personalization tool, and so on.
Although Bloomreach Engagement and Attentive have a native integration, native integrations rarely meet all your needs, often requiring custom solutions to fill the gaps.
So, what’s the biggest drawback of a "best-in-breed" eCommerce marketing tech stack? From our experience, it demands significant custom work to integrate systems and requires ongoing maintenance to keep those connections running smoothly.
Ultimately, this means your IT or data team will need to spend considerable time managing and maintaining these integrations.
If you found this post valuable…
We hope you found this article valuable. If so, please consider subscribing (for free!) to receive updates on our latest publications.
If you'd like to explore any topics mentioned in the article further, or if there's anything else we can assist you with, feel free to schedule a meeting with us by clicking the button below: