Create visually appealing, automated dashboards using Klipfolio
Published March 15, 2016, updated February 28, 2022
Summary - This is a special guest post by Nicholas Manojlovic. In his role at the University of Wollongong as Digital Manager, Student Recruitment, he uses both Marketo and Klipfolio. He's a Marketo Certified Expert, and has kindly lent his expertise to help other Klipfolio customers build attractive Marketo dashboards.
This is a special guest post by Nicholas Manojlovic. In his role at the University of Wollongong as Digital Manager, Student Recruitment, he uses both Marketo and Klipfolio. He's a Marketo Certified Expert, and has kindly lent his expertise to help other Klipfolio customers build attractive Marketo dashboards.
- - -
Sometime ago I came to the conclusion that whilst Marketo is particularly good at automating marketing activities, including collecting and processing data, it is missing the ability to present captured information in a visually appealing and accessible manner. Whilst the out-of-the-box analytical tools provide instant insight into your marketing activities, the ability to present real-time information to non-Marketo audience groups is time-consuming, manual, and lacks a certain eye-candyness.
This blog post details how to create an automated, visually appealing dashboard that aggregates Marketo data and presents it with minimal effort beyond the design and set-up. It uses Klipfolio, a browser-based software that starts with a Free Account, and which has a quickly overcome learning curve. Better yet, it integrates perfectly with Marketo's existing APIs, and data can be aggregated from a variety of sources, including Google Analytics, spreadsheets, and email.
In summary, the process looks like:
1. Create a custom launchpoint provider in your Marketo admin settings
2. Create a "data source" in Klipfolio, which initiates a transfer of data between Klipfolio and Marketo
3. Create custom dashboards based on the data in Marketo
Step one and two are already brilliantly documented (Use Marketo as a data source – Klipfolio Dashboard Help Center), so we'll jump straight to step 3, creating a custom dashboard based on Marketo data.
Example: Create a basic pie-chart which aggregates new leads by country
1. Create a new Klip
Klipfolio organises items on a dashboard as individual "Klips". An example of a Klip might be a pie-chart on new leads by country. Another Klip might show total leads created in the last 30 days. Both of these Klips might be placed on a Dashboard, which can be shared publicly, privately, via PDF, or email.
Klips can either be "custom", or pre-built with sample data. In my example, I'll be creating a Klip using a pie-chart template.
After you've selected which kind of Klip you'd like to build, you select your "data-source", which is what was created in Steps 1 and 2 and documented at Klipfolio above.
In my Klipfolio, I have set up three data sources that reference lists in Marketo, which are simply "Lead is created" triggers, Add to List, Wait 30 Days, Remove from List arrangements.
There is plenty of data you can transmit between Marketo and Klipfolio, and you do so using the Rest API (Marketo REST APIs: Lead, List, Activity, Campaign Objects » Marketo Developers) Prior to using Klipfolio, I only had limited experience with Rest APIs. They are actually quite easy to understand, and the above Klipfolio documentation should get you started so that you can start to think outside the box.
2. Edit our Klip
Our Klipfolio Klip editor has a few components we need to become familiar with. At the bottom of our screen is the Formula editor, and a few sample records of the data that we are working with. On the top left hand corner, we can switch between various aspects of what we are editing. Our pie-chart will respond to our edits.
Click on the word "Values" in the top left hand corner of the screen. Now, click the function icon to see a list of functions available to us:
We'll get used to the formula editor as we go.. but eventually it will become second nature.
Let's "GROUP" all our values together "BY" a particular method of counting or adding them together. In this instance, let's perform the following formula on our data:
In other words, lets GROUP all our inferredCountry values and count them BY their email address:
Person 1: Email = firstname.lastname@example.org
Person 1: inferredCountry = Australia
Person 2: Email = email@example.com
Person 2: inferredCountry = Australia
Person 3: Email = firstname.lastname@example.org
Person 3: inferredCountry = United States
In this example, I can count "two" people from Australia (people 1 and 2). I can count "one" person from the United States (person 3).
Now let's do the same for our "labels":
What we want to do is "GROUP" all the different inferredCountry data together. In our example above, we can group the two "Australia" together, and group the one "United States" together. It's basically a "dedupe" on those particular values.
Here's what my pie looks like with real data:
We've just built our first Klip.
Let's go one step further, and use the SELECT function.
In this example, let's say I want to see how one particular product is performing. We'll do a similar formula:
GROUP together all our countries, BY counting their email address, but only if they match our SELECTion. Let's go to our existing formula and use the Wrap Function button:
Now we can choose to insert a new function at the critical point in our expression:
In my business, higher education, we have various schools and faculties - so I'm going to only select people if their faculty is our business school:
I'll do the same with my labels:
I now have a very meaningful, automated Klip I can add to my dashboard and email to my colleagues in the Business faculty - demonstrating how Marketo is collecting and processing information, but also presenting it in a meaningful and insightful way in an easy to process "at a glance" method of sharing information.
NB: I have obscured the data in this Klip by mixing and matching various datasources, so it is not a true representation of the data in my Marketo instance.