Specbee: Personalizing Experiences in Drupal: CRMs, E-commerce Integration, and UTMs

I love shopping on Amazon. It’s not just about the convenience and fast delivery; it’s also how it tailors my experience. From my shopping history to my preferences and even where I’m from, Amazon makes it easy to find exactly what I want.
It has been proven that personalized web experiences can significantly boost revenue for any organization. A McKinsey study* found that 71% of consumers expect personalization, and 76% get frustrated when it’s missing.
Personalizing website content requires user data. This data gathered with explicit permission, often comes from third-party tools like Marketo, Salesforce, or Shopify. Drupal makes working with integrations like these a breeze. In this article, you’ll learn about creating personalized web experiences in Drupal using consensually collected user data from third-party tools. If your goal is to provide a unified, personalized web experience that meets your users’ needs and drives revenue growth, you need to read this article. We’ll even walk you through it with an example.

Why prioritize personalized, unified user experiences
The primary objective of delivering personalized and unified website experiences is to create a cohesive experience that aligns with users’ digital profiles. By focusing on personalization, businesses can enhance user satisfaction and build stronger customer loyalty. Unified experiences ensure consistency across all touchpoints, creating a cohesive brand image and simplifying the user journey.

Tailored User Experience: Customize content and recommendations based on user profiles stored in CRMs like Marketo and Salesforce.
Revenue Growth: Increase opportunities for cross-selling and upselling through a seamless shopping cart experience.
Cross-Promotion: Recommend best-matched products, services, and content throughout the website using AI-based algorithms.

Personalization methods
There are multiple ways to personalize a webpage, ensuring a highly customized user experience:

Persona-Based Personalization: Content is tailored based on the defined personas.
UTM Tags: UTM tags in URLs can track the effectiveness of online marketing campaigns and personalize content accordingly.
Combination of Both: For even more refined personalization, combine persona-based personalization with UTM tags, allowing for a highly targeted approach.

Scope and Technologies : A Sample Drupal Project
To make things simpler, let’s explain implementing personalization on a sample Drupal website project. Let’s say the project has a corporate website and an ecommerce store and focuses on integrating the following technologies:

Drupal: Used for the corporate website, with necessary modules for integration.
Marketo: Marketing CRM housing most digital profiles.
Salesforce: Sales CRM containing additional profile information.
Shopify: E-commerce platform for transactions.
UTM Tags : A set of parameters that can be added to a URL to track the performance of online marketing campaigns

Let’s assume that the business requirement is to use Drupal to deliver a personalized shopping cart experience for targeted personas. Which means, when the user logs in with their credentials, the user’s details are fetched from CRMs like Marketo and Salesforce. This information is then used to segment users and display best matched products and content throughout the website.
Integrating Shopify, Marketo, and Smart Content with Drupal
Shopify Integration
Shopify is a leading e-commerce platform that allows businesses to create online stores with ease. In our sample Drupal project, the user journey begins on the Corporate Website, where they discover the product. When they click the “Purchase” or “Add to Cart” button, they are seamlessly redirected to the Shopify product page to complete their transaction. This integration ensures a smooth transition, combining the robust content management of Drupal with the powerful e-commerce capabilities of Shopify.
Enabling the Shopify module allows synchronization of products and collections with your Drupal site. Configuration involves setting up API keys and syncing products to provide a unified shopping experience.

You can enable the cron run to sync products and collections. Once the sync is done, you can visit your store by clicking on Shopify in your toolbar. You can then perform various activities like viewing all your products, collections (stored as taxonomy terms), tags, change the product display order, and more.

Once everything is set up, you have two ways to personalize your content based on user roles or other details. You can display recommended products by:

Calling only the required items through the Shopify API directly from your Shopify store.
Syncing the products to your Drupal site and adding the necessary tags, allowing you to pull information based on these tags. This approach gives you greater control over your personalization activities.

Marketo Integration
Marketo enables marketers to create personalized campaigns, manage leads, and measure performance across various channels. Integrating the Marketo MA module with your Drupal website helps you deliver personalized, targeted marketing campaigns and track user interactions on your Drupal site. In our sample Drupal project, the Marketo MA module retrieves user details from Marketo and delivers personalized content based on it.
User details such as region, member type, member title, company, job function, and job level are retrieved from Marketo using the user’s email ID upon login. The site’s content is then dynamically tailored based on these values, ensuring a personalized user experience. You can, for example, display a different banner for a marketing professional and a different one for a developer on their home page.
To configure the Marketo MA module, navigate to the module configuration page in your Drupal admin panel. Next, enter your Marketo credentials, including the Client ID, Client Secret, and Munchkin Account ID. These can be obtained from your Marketo account under the Admin section.

The Smart Content Drupal module
The Smart Content module personalizes site content by setting conditions and displaying blocks based on user segments. For example, you can display different promotional banners to users based on whether they are new visitors, returning customers, or located in a specific region.
To implement this module, you will first need to download the module and configure it. Next, you can create different segments based on user personas or if they’re new, returning or regional visitors.

It’s now time to create personalized content blocks for these segments. For example, for returning customers, you can create a content block with a loyalty reward banner that reads: “Welcome back! Enjoy a special discount just for you.” Next, you can setup conditions for the display of each of these blocks. For example, for the returning customers block, set the condition to display if the user has a specific purchase history. Lastly, you can now embed these personalized blocks to your block layout or your custom template where you want it to appear.
For a deeper understanding of using the Smart Content module, check out this detailed article.
UTM Tags
UTM tags (Urchin Tracking Module tags) are small snippets of text added to the end of a URL to help track the performance of online marketing campaigns across various traffic sources. Not just that, they’re a great way to personalize your content based on the UTM tags content which can let marketers know where their website traffic is coming from and how users interact with their content.
The Smart content UTM tags module is an add-on Smart content module that leverages UTM parameters to deliver personalized content to users. This module integrates seamlessly with the Smart Content module, allowing for dynamic content personalization.
A typical URL with UTM tags might look like this:
https://www.specbee.com/?utm_source=google&utm_medium=cpc&utm_campaign=…
Now, based on the UTM tags, you can create your segments in the Smart content module.

Steps to Creating a Personalized Experience
Step 1: Defining User Personas
The first step in creating a personalized experience is defining user personas. These personas can be based on various roles such as marketing, sales, and engineering. Each persona represents a segment of your audience with distinct characteristics, preferences, and needs. By clearly defining these personas, you can create targeted content that resonates with each group.
Step 2: Uploading Content to Components
Once personas are defined, the next step is to create and upload relevant content to your website components. These components can include text, images, videos, and other multimedia elements. Each piece of content should address the specific needs and interests of a particular persona.
Step 3: Placing Components Based on Persona
With the content uploaded, you can place these components on your website pages based on the defined personas. This involves organizing the content to align with the user journey and ensure that each persona sees the most relevant information.
Step 4: Mapping Persona to User via Marketo
When a user logs into your website, their job title or role is identified through Marketo, a leading marketing automation platform. Marketo maps the user to the appropriate persona based on their job title or other relevant information.
Step 5: Displaying Personalized Content
Once the user’s persona is mapped, the corresponding components and content are dynamically displayed on the page. This means that each user sees a personalized version of the Drupal website tailored to their specific persona, enhancing their overall experience and engagement with your site.
References
https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights/the-value-of-getting-personalization-right-or-wrong-is-multiplying
Final Thoughts
Drupal’s flexibility makes it perfect for delivering personalized user experiences. By integrating your Drupal site with CRM tools and using smart content along with user personas, you can ensure your visitors get content tailored to their needs and interests. We’ve done something similar for our customer SEMI with our Drupal development services, so if you have a similar need, reach out to us today!