Pluralsense is a white label solution for Content Marketing + Email Marketing + Social Marketing used by Marketing Agencies.
From a single platform Agencies on behalf of customers can:
- Collaborate and create content
- Review and Optimize content for Content Marketing
- Publish content in web, mobile, voice, and other formats
- Build and grow community driven niche websites
- Automate Social Media presence
- Design and publish landing pages and popups
- Acquire leads for customers’ businesses
- Deliver content optimized for SEO
In this page, I present a case study using Pluralsense platform to manage most of the aspects of Content Marketing, Social Marketing and Email Marketing for a customer.
What is Pluralsense?
Pluralsense manages multiple projects on behalf of an Agency’s customers.
The image shows the dashboard for the Agency owner and admins.
Agencies can manage multiple projects on behalf of customers. For each project they can:
- Serve dynamic website on behalf of a customer
- Outsource content creation
- Create, review and approve content
- Publish SEO friendly content
- Create landing pages to collect emails
- Automate email marketing and social network marketing
- Automate social media presence
- And more
In this case study, the agency is Pluralsense itself. From previous picture you see it is managing five projects. Three of the managed projects’ websites can be accessed from:
The other two projects do not have a website configured yet, they just use the social networks automation features from the platform.
I’m going to show how the platform is managing almost every aspect of digital marketing, by using the pilot customer website Guitar Hertz.
What can Pluralsense do?
When a project admin selects the project Guitar Hertz, from the agency dashboard, they see the available modules.
In this page, I’ll present a few modules only and focus on important elements of each feature.
Case study: Guitar Hertz
The web property https://guitarhertz.com is fully managed by Pluralsense platform.
Guitar Hertz is a website that publishes content related to the topic “The Guitar”.
Some content is generated automatically while other is crafted by the agency’s personnel (me and Upwork freelancers). Content is also created and submitted by guest authors.
All content is reviewed before publishing.
Content published on https://guitarhertz.com is also published to multiple social networks.
This project publishes content to six Twitter accounts and one Facebook Page. Publishing to other platforms such as Instagram, Pinterest, Tumblr, etc is on the road map.
The following sections show how the web property is fully managed by Pluralsense platform.
Disclaimer: Before I start the case study, I need to make another disclaimer. All the copy that you’re going to see for Guitar Hertz may be the worst copy you ever have seen in your life. I want to make it clear that I don’t claim to have any copywriting skills. My strongest skills are developing software.
Recruiting guest authors with free traffic.
In order to get traffic to Guitar Hertz, the website must publish quality content. However, to get user-generated quality content, I need first to convince people to register in the platform.
In this case study, all users were acquired using free traffic from Twitter.
To get new followers on Twitter, I’m using the reciprocity principle. Using the platform, I do also publish content daily to the six twitter accounts. I’m publishing content pulled from https://guitarhertz.com, google news, and also crafting content with images and.
Some users are acquired when they visit a page at https://guitarhertz.com and see a popup with a request to join as a guest author and do Guest Blogging.
Other users are acquired by direct messaging them with a sequence of private messages on Twitter.
When using direct messages, I use a sequence such as the one shown in the following conversation.
In my first message, I tried to be funny.
Then I tried to make the user, let’s call her Kim, to click on a link that will lead to a page where I can capture her email. After this message, I sent her another.
And finally, by the principle of persistence, she replied. Before the squirrel joke, I sent her animated images of Santa Claus
In this campaign, I’ve used a weird trick and personalized the landing page to have her name. When she clicked the link from Twitter, she ended up seeing something like the next picture.
Some users found it weird seeing their name there, but it was just a trick using browser’s cookies
At the end of the page, there’s a call-to-action, also personalized. Messages were sent out randomly, picking one of the two versions of the page, with different call-to-actions. See the following figures.
This call-to-action tried to convince her to register in the backend application. When she clicks, she’s redirected to a registration page branded for Guitar Hertz.
The other version of the call-to-action tries to collect her email. See the following figure.
In the latter call-to-action, she will opt in an email sequence that will persuade her to register in the backend as a guest author :)
The result of this and other campaigns I’ve run have acquired around 80 users (at the time of writing this document)
The following picture shows the users that registered as guest authors.
Users that submitted a call-to-action or popup are added to another list as shown in next picture.
This was a high-level overview of Guitar Hertz’s goals and current achievements using only Pluralsense.
In the next sections, I’m going to explain how everything is configured using Pluralsense platform.
In the next sections, you'll see how the campaigns are configured.
A landing page is a content that’s created in the backend using a simple editor as shown in the next figure.
What you see between the *[..]* is a template that’s used if the contact is in a browser cookie, otherwise, a default text is shown. That’s how I did the weird trick.
Behind the scene, when the platform sends a link to a user on Twitter, a unique tracking link is generated for that user. Templates for landing pages, call-to-actions and popups can be personalized using the tracked user details.
For this to work, users have to have cookies enabled, if not, then a default text is shown to the user visiting the link with no cookies.
Landing pages can have tracking data to integrate with Facebook pixel and Google analytics, as I will show in the next figure.
A landing page can have multiple call-to-actions, which I’m going to explain next.
A call-to-action can have one of the three outcomes:
- User clicks the call-to-action and is redirected to a new page
- User downloads a file when they follow the action
- A user enters email and/or name and opt-in to a list and/or a sequence of messages
Outcomes of the call-to-action are tracked. Behavior can be analyzed using Google Analytics.
Popups are very similar to call-to-action. They’re just call-to-actions that are shown in a popup window.
A popup for the website visitor looks like in the next picture.
Popups can be activated in two ways:
- On the desktop, they’re activated when the user is showing the intent of exiting the website
- On mobile, they’re activated after a configurable number of seconds.
You can see also from the previous picture that there’s a message in the footer. These are site messages and can be configured to show at the bottom or at the top of the page. These messages are used to inform the user about legal notices and marketing campaigns.
A popup can have the same outcomes as call-to-actions. A user can download a file, be sent to another page or input some data, such as name and email.
Popups configuration is very similar to call-to-actions as you can see the next figures.
The same tracking features as in call-to-actions are also available for popups.
A popup, as well as call-to-actions, can have multiple pages. I.e., when visitor skips one page or performs the desired action, the next page is shown.
After popups and call-to-actions had been configured and published, I’ve run some campaigns on Twitter to attract visitors to the landing pages.
There are two strategies to acquire users from Twitter:
- Content is published on Twitter. Users visiting https://guitarhertz.com from witter are presented with a Popup like shown before
- Direct messages are sent as sequences (drip direct messages) to users that follow the managed Twitter accounts
Publishing on Twitter
Twitter integration requires a valid Twitter application. I.e., all interactions with Twitter are done on behalf of an application registered on Twitter.
The same Twitter application can be shared across multiple projects, however, in case of a failure in the shared Twitter application, all projects using the Twitter application will be affected.
Each project can use its own Twitter application, by configuring the Twitter API keys and secrets in the Platform. These values are stored encrypted in the Platform’s database.
Next picture shows the managed Twitter accounts for Guitar Hertz project. The platform allows multiple twitter accounts per project.
For each managed twitter account, multiple tools are used, such as:
- Auto follow and unfollow
- Automatic likes and retweets
- Auto respond to direct messages
- Scheduled tweets
Next picture shows an example of scheduled tweets. Each time slot is scheduled with content from a “Content Box”.
Links shared on Twitter and Facebook are tracked using Google analytics. This is useful to track how the campaign is performing.
A “Content Box” is a set of content to share in social networks. Content can be generated in three ways:
- From RSS feeds, such as google news
- From content published on https://guitarhertz.com
- Crafting new content manually
All content must always be approved first before scheduling.
A “Content Box” may also be automatically created from content published in the website https://guitarhertz.com
Another way to create tweets is to create them manually.
A format called “Spintax” (Spin content syntax) makes it possible to generate multiple versions of the same content, see in the ext picture.
When a tweet is published with a link to an external website, then the link shared on Twitter will send the user first to https://guitarhertz.com and then will redirect the visitor to the external website.
You can see in the next picture that the link the user will click is a redirect made from https://guitarhertz.com.
The picture below is an example of a tweet sent with a link to content published in https://guitarhertz.com
The customer has also a branded URL-Shortener that also helps to track campaigns.
Platform’s URL-Shortener can be used only when the customer has a website, otherwise, BitLy.com service can be used to shorten the shared links.
Twitter direct messages campaigns
Publishing public tweets is one of the methods for delivering messages to Twitter users. Another method is to send direct messages.
Direct messages are configured to drip into user inbox according to predefined rules. For example, the following configuration shows the sequence:
- A message is sent to a user
- After 3 days, another message is sent to the same user
- If the user clicks on the link included in the second message, it starts a new sequence
Next two pictures show the configurations of a sequence of Twitter direct messages.
The next picture shows how to configure the second template.
The goal of the previous twitter campaigns was to recruit guest authors to write content, thus making Guitar Hertz a user-generated content niche site.
In these campaigns, some of the users are sent to a landing page with a call-to-action to add them to a list.
Other users are sent to a registration page on the backend.
In both cases, when users add their email address and name in a call-to-action or register in the app, they’ll be added to a list and subscribed to a campaign with a sequence of messages. (Drip email sequence).
Users registered in the backend are the users that will write content published in https://guitarhertz.com, hopefully :)
Right after registration, they’ll be added to a sequence that will drip two emails to the user’s email inbox.
The next picture shows the backend configuration of the campaign that adds users to a list and sends them emails from a sequence.
In the case of a backend user, the email sequence consists of two messages, separated by three days.
The first email template sends basic instructions on how to get started.
The template language is Freemarker, allowing for personalization of the message. It can also be applied to Twitter direct messages.
The second email sent three days after the first, will be different depending on answers to the following questions:
- Did the user ever log in?
- Did the user create an article?
- Did the user publish any article?
You can see that the template has conditional fragments that are replaced depending on actions performed by the user in the backend.
The result of the template shown in the previous picture is depicted in the next two pictures.
The first picture shows an email sent to a user that did not create an article.
The next picture shows the same template sent to another user that has already created articles.
The emails were sent using a Gmail account. Next picture shows two configured email providers.
Campaign email sequence configuration
While configuring the sequence, I chose to use a Gmail account to send the welcome email.
Emails sent in this sequence will be tracked for open and click events.
All tracked events are sent to Google Analytics, according to the tracking configuration.
User behavior is tracked at a basic level. Some tracking data is sent to analytics (such as email opens and email clicks), others serve for auditing purposes, and to send more personalized messages to the users.
Campaign and user activity auditing
For each sequence executed for a user, activity is recorded and can be visualized in the application.
There are also, under development, basic screens that give basic reports about the execution of sequences.
Also, independently of campaigns and sequences, basic activity is recorded per user, as shown in the next picture
In general, this is what the platform is doing to help to acquire users to submit content. The next section will give an overview of the steps a user has to follow to submit and publish content.
Publishing user-submitted content
After a user registers and verifies their email (verification not required with Twitter registration), they’ll be sent to the login page.
As you can see in the next picture, the login page is branded and is served from the customer domain.
After login, a very basic and crude dashboard is presented.
From the screen shown in the previous picture, users can see basic information about their account.
Update user profile
They can also update their profile.
Each author has a dedicated author’s page where their content and profile information will be available. For example:
To submit articles, they have an editor that works with revisions. They submit revisions for publishing.
Once the revision is submitted, it will be reviewed by the editors and messages between editors and authors can be exchanged within the platform.
Once the article is published, it will be available at https://guitarhertz.com/article/how-to-adjust-your-truss-rod
Tweets based on the article will start to be published in Twitter also, once all generated content is approved.
Seo and social
The platform has some SEO tools, such as:
- OpenGraph metatags
- Twitter metatags
- Bot detector
Site maps are split into parts and the sitemap.xml submitted to Google’s search console is an index of:
The index file can be configured to decide which sitemaps to show to the console.
Instructions for well-behaved robots can be found at https://guitarhertz.com/robots.txt
Json-LD is a metadata language used to hint google and other indexers to understand pieces of data presented in the content.
For example, in an article, metadata describing the content can be used by indexers.
Facebook OpenGraph metatags
These metatags serve to hint Facebook bots to understand the content.
Similar to Facebook’s tag, also Twitter is hinted about how to interpret the content.
Each project has a built-in URL-Shortner. As long as the project has a website configured, then the built-in URL-Shortener can be used.
Links such as https://guitarhertz.com/_/dL1Yv will redirect the user to https://guitarhertz.com/article/how-clapton-became-god?utm_campaign=content_scheduled&utm_medium=twitter&utm_source=guitarhertz
When a website is not configured, it can use https://bitly.com service instead.
Bots are detected and different parts of the content will be served to bots.
Analytics and remarketing
Every customer with a website configured can connect the project to Google Analytics. Important user actions such as Pageviews and Opt-in to lists are sent to google analytics.
As you can see from the previous picture, a Facebook pixel can also be configured. Both Facebook and Google tracking can be overridden per page.
The platform can be branded for digital marketing agencies. Agencies can sell its usage to other agencies or use it exclusively to manage your customer’s projects.
Instances of the platform run on their own servers and databases. Currently, this is done manually by the platform team. In order to install the platform under different branding, configuration scripts must be customized accordingly. Servers are provisioned with the branded platform using a “Production Pipeline”.
As of now, there’s one agency running the platform at https://app.pluralsense.com.
All communications are encrypted, and each server is provisioned with a valid certificate in order to serve customer’s website using HTTPS on their domain.
The platform uses Let’s Encrypt which is a free and open Certificate Authority. See https://letsencrypt.org/
If the Agency wants to have their own platform and decide to sell usage to partner agencies – other agencies managing their own customers using the Agency’s platform – the following picture shows what they can expect from a revenue point of view.
Of course, each end-customer still have their own branding according to the project configured by the agency.
From the perspective of the Agency, the revenue model is based on charging a monthly fee for end-customers, a fixed fee for partner agencies and a fee for partner agencies’ end customers transactions.
The Agency can offer the following base plans for their end-customers:
Each module has a limit that can be extended upon payment. For example, when publishing to the web, an end-customer can publish 1000 pages at the base price of £80. Additional 1000 pages are available for the extra £10. Same limit extensions are applied to emails, direct messages, social publishing, and images.
These are the base packages and the end-customer can use the platform in self-service mode.
The Agency can also charge for extra services that include content writing and publishing, SEO, Social, Email, VA, etc. The Agency is free to define the price per customer and the contracts.
For example, the Agency can define a new price model for turn-key solutions. The price for turn-key solutions can include writing, publishing and managing all aspects of Digital Marketing.
Side Note: The previous table is just an example of a price structure that could be adopted by the Agency.
As said, the Agency can also sell the usage to other agencies, for example, it could offer other agencies the following plan:
Partner agencies can define their own prices, but for each of their customers, they need to pay the Agency the base price. So, for example, some agencies can decide to charge £40 for Package One. In that case, £22 would be revenue for the Agency.
Partner agencies can define their own packages, including self-service only, content writing, social, email, SEO, etc. All extra to the base price goes to the partner agency.
The platform development team will keep a percentage of each transaction performed within the platform.
The top priority is to improve the UX and work in payments and subscriptions management.
Further development of features will be decided by the market. I’m currently reaching to multiple Digital Marketing Agencies around London, to assess which features I should focus on.
New features could be added, depending on the initial customers’ demands. Examples of such new features could include:
- Ad management – to enable agencies to manage Advertisement by integrating with Google, Facebook, LinkedIn, and other Ad Networks.
- Content discovery and suggestion with AI – to enable the discovery of niche content to write about
- SERP Competitor analysis
The current version of the platform was developed with the following technology stack:
- Java, Spring Boot as main backend programming stack
- Ansible for provisioning servers and services
- MongoDB as database
- AWS SQS as a message broker
- S3 for file storage
- GO Pipeline
For more information about the technologies used visit https://pluralsense.com/about.
You can see a picture of the high-level architecture in https://yuletechnologies.co.uk/article/how-adding-simple-cache-to-nginx-improved-performance-of-site-deliver-180810215
I hope that this was a sufficient explanation of the project I’m proposing to you and sparked your interest. It will be great to hear that you are open to exploring this idea.
It is my understanding that your company has brilliant people capable to drive this platform further.
I can show you the rest of the platform during a meeting. If for some reason, you are not interested in this project, I would like to hear your feedback.
Send me a message using the form below or you can send me an email to firstname.lastname@example.org