Salesforce Marketing Cloud

Salesforce Marketing Cloud’s social marketing suite helps brands build and maintain online communities across social networks with data-driven customer insights from initial contact through point of purchase. The company’s social marketing suite of products is used by eight out of the top ten global advertisers, and the company’s accolades include “Best Enterprise” in the 2011 TechCrunch Crunchie awards and Advertising Age’s "2011 Digital A-List.”

Social media marketing doesn’t tolerate time delays. When Salesforce Marketing Cloud’s relational database failed to provide the speed and scale needed to deliver real-time analytics about the success of online campaigns, the fast-growing startup turned to MongoDB. In under a year, Salesforce Marketing Cloud’s products rose to the top of the competitive social media marketing landscape, a testament to the power and agility of the MongoDB database.

The Problem

Salesforce Marketing Cloud technology powers landing pages, monitors online conversations by tracking every social “event” – such as wall posts, comments, ‘liking’ a page, taking a poll – and measures the resulting marketing impact. The company needed a database that could scale and handle unpredictable peak loads, including activity spikes from 75% of the 600 million Facebook users that go through the Salesforce Marketing Cloud system, as well as significant activity from other social networks such as LinkedIn, and now open web applications. On any given day, thirty minutes may pass without a single comment and the next minute, Lady Gaga’s record release will drive millions of page views.

Additionally, brand marketers require real-time feedback on social media campaign performance. Salesforce Marketing Cloud’s legacy relational database was unable to aggregate metrics quickly to its client-facing dashboard, preventing customers from efficiently measuring ROI.

Why MongoDB?

Salesforce Marketing Cloud chose MongoDB based on its ease of use, its nimbleness and scalability, and for the excellent support MongoDB provides. In spring 2010, after spending 10 minutes reading online instructions, developers had deployed MongoDB and were issuing commands. Within a week, the entire company was full steam ahead and actively transitioned to the new database. MongoDB proved more mature than other NoSQL solutions, which lacked adequate instruction and did not have native drivers, and allowed their existing team of 12 engineers to work directly on data design, saving hundreds of thousands of dollars a year on DBAs.

Today, MongoDB powers 100% of Salesforce Marketing Cloud’s analytics solution, which stores aggregates down to the minute and provides real-time marketing campaign performance metrics via an instantaneous dashboard. In addition, Salesforce Marketing Cloud relies on MongoDB to track and ingest all user-generated content (UGC) – an average of more than 30 million events per day, which translates to approximately one million metric documents – into a single stream that’s easy to view, flag and moderate. The UGC and aggregated analytics account for a half terabyte of data stored in MongoDB.

SPEEDY DEVELOPMENT

“MongoDB is a piece of cake to set up and you can start iterating product as quickly as possible, said Patrick Stokes, Salesforce Marketing Cloud’s chief product officer. MongoDB eliminates the need to design individual schemas for every new social network API (e.g. Facebook Open Graph, Twitter API, etc.), which allows Salesforce Marketing Cloud to build out applications in weeks instead of months.

MongoDB plays a starring role in Salesforce Marketing Cloud’s product roadmap decisions as developers can quickly create a tangible prototype by focusing on writing applications without worrying about the underlying database. “I can’t think of a project or web site or product that I would want to build where MongoDB would not be my first choice to get started,” Stokes explained.

DATA: ONE QUERY AWAY

MongoDB’s document data model allowed Salesforce Marketing Cloud to significantly whittle down aggregate documents from dozens of tables into a single MongoDB document. For tasks such as compiling daily client reports spanning hundreds of social media pages, data is only one query away.

NEW METRICS ON THE FLY

Updating the configuration file is simple with MongoDB, allowing Salesforce Marketing Cloud to collect aggregates without updating code or taking down servers. In contrast to relational databases, MongoDB maintains the highest level of performance even as the system becomes write-heavy.

QUEUING & LOGGING

Salesforce Marketing Cloud stores a cyclical queue of pages in MongoDB, which offers a convenient way to retroactively aggregate metrics. They use MongoDB’s queuing and logging functions to quickly scrape any API and easily search at the application level.

BEST SOLUTION FOR FAILOVER

According to Stokes, MongoDB’s replica sets are the best solution on the market for handling failover. They provide extended back-up and allow other departments, such as the business intelligence team, to make queries without interfering with live data.

Results

“MongoDB allowed us to grow the company into the success that we are today at a very, very fast pace,” said Stokes. In late 2010, they employed 50 people to support 100 clients. One year later, the company is 220 employees strong, with more than 600 customers. Stokes maintains that they would not have been able to achieve such rapid growth without the analytics solution built on MongoDB. “MongoDB is the reason we have the successful product we do today. Without it, we’d likely be 6-12 months behind on our product roadmap.”

What’s Next?

Within the year, Salesforce Marketing Cloud expects to double or triple the number of events they handle per day. They currently run MongoDB on nine servers; as they continue to scale out, MongoDB will easily grow with them. They also expect to take advantage of other MongoDB features, such as geo-spatial indexing, as well as charting to split data into smaller sets.