Personalizing Content in Drupal 7 using Sharpspring Module

What is Personalization?


When you go to a cafe and ask for a “Coffee”, the barista asks you how you want it, your answer depends upon the choices made available to you. Based upon what your requirements / likes / dislikes are, the barista makes the coffee. And if you are a regular visitor and have interacted with the coffee maker several times then he might not need to ask what you like.


Personalization is similar to the process above, based upon the user characteristics and user profile, the content on the site is being displayed. And when sometimes user interacts with the website by filling out a form or just visiting a page, we capture the details and based upon user interests we prioritize the content or change the content completely. 

Why do we need personalization ?

  • Personalization is the key for content marketing, an important implementation for websites for customizing and displaying different content to the users based upon their characteristics.
  • One of the best tools to determine what user is interested in and then according to the data collected, making improvements in the UI or the content available on the site.
  • Researchers say that “More the content is personalized , more is the user visits on the website”.

How can we achieve personalization in Drupal ?

There are several tools and modules available to achieve content personalization on a website, such as modules named

Personalization : Provides configuration to add implicit and explicit personalization to drupal websites based upon geolocation and taxonomies.

Sharpspring and Sharpspring Personalize : These modules can be used to add sharpspring tracking to website pages and also personalize content on the website using data returned from sharpspring of page-visits or information about the user/lead visiting the page.

And an acquia product named as,

Acquia Lift : Solution that unifies content and customer data from multiple sources to deliver data-driven, personalized experiences across any channel or device

Here we will be using sharpspring module to achieve content personalization of a single block or we can say that our purpose is to display personalized content to different users/leads according to their profile present on sharpspring

What is Sharpspring ? 

SharpSpring is a marketing automation platform that combines site analytics and lead generation in one Platform as a Service.


It tracks user activities on website and provides relevant data to the admin so that more powerful automation rules can be build to send dynamic content to the lead and target lead based upon their interests.

Workflow of the implementation :




  • The flow starts with an email that is sent from sharpspring web portal to the targeted lead, with the URL of the website whose personalized content is to be displayed. Here we are making an assumption of the lead data to be present on sharpspring web portal.
  • The lead receives an email and clicks on the URL present in the mail, as soon as the link is clicked the lead is then redirected to the drupal website.
  • The sharpspring module installed on the drupal portal gets parameters from the URL and makes an API call back to sharpspring portal.
  • Sharpspring then recognizes the person who clicked on the link as a lead (if the profile is created on sharpspring) and returns all the data present on the portal related to that lead in a form of a JSON object as shown below :



  • In our drupal portal, we are then capturing lead details in a form of a cookie, and then reading the data from the cookie,

– Also we have our content tagged with a taxonomy term, in our case let’s take an example of the taxonomy term as “Job Title”, in this case the title that will be captured is “Intern”. Now only the content on the site tagged with the term intern will be displayed to the lead here named as “Panshul Khurana”. In case for a different Lead where Title is “Developer”, only the content tagged with the term “Developer” will be displayed to that specific lead.

Hence, according to the Lead details captured from the sharpspring portal, the content on the site is being personalized for that specific lead.

Pre-Requisites in the current implementation :

  • Lead must have a profile at sharpspring.
  • Lead must click the promotional link at least once to consume content personalization.

There can be multiple ways to achieve personalization, to make it better the idea is to automate the system or develop a system which is not dependent on a third party tool and have a system that captures user details and displays the personalized content at any level be it block level, content level or even a UI based personalization.

After all it is all about providing a customer his favourite coffee in his favourite style 😉

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s