For many organizations, Marketo serves as the real-time customer database for marketing. Unfortunately, for most organizations today this rich intelligence living in Marketo is not being leveraged to drive personalized user experiences across your site which is one of the most valuable opportunities with this data.
The good news is that when it comes to personalizing with Marketo, you don’t have to be limited to just personalizing your emails and Marketo forms. You can actually use all that valuable customer centric Marketo data to drive your website personalization programs.
Why might you want to do this? Instead of showing everyone the same lead capture experience, you could show prospects who have already filled it out more product content. Or show existing customers opportunities to expand. Maybe even segment your experiences and customer journey by company size or industry.
With FunnelEnvy’s Marketo integration you can use your rich Marketo data in real-time to deliver personalized experiences across your site.
Setting up the Marketo Integration in FunnelEnvy
Within the FunnelEnvy user interface you can activate and configure the Marketo integration. FunnelEnvy fetches Smart Lists periodically from Marketo and automatically keeps these updated with Marketo. Configuring the integration also lets you setup offsite goals triggered by Marketo webhooks such as Marketing Qualified Leads (MQLs).
The Data Filtering interface lets you choose which fields to import, and exclude PII or other data based on your compliance policies.
Typically these four steps are done by the Marketing Ops team that manages the Marketo instance:
- Activate the Marketo data source.
- Authorize FunnelEnvy to access Marketo
- (Optional) Configuring Data Filtering
- Selecting Smart Lists to Import
Step 1: Find and activate Marketo under the Integrations settings. You should see it as an activated Data Source.
Step 2: Authorize FunnelEnvy to access the Marketo REST API with API keys.
Step 3: Optionally configure data filtering rules. When fetching lists FunnelEnvy will only import lead attributes that are selected.
Step 4: Select Smart Lists for Import. Assuming your API credentials in Step 2 were correct, you should see a list of Smart Lists available for import. Note that it may take up to an hour for this list to reflect any recently added Smart Lists.
Once you’ve configured the Smart Lists for import you’re done! FunnelEnvy will refresh the lists every few hours, retrieving leads and refreshing the local copy of Marketo data, which is then available immediately for audiences, predictive campaigns and offline Marketo-triggered goals.
More details on setting up the integration can be found in our knowledge base article.
Using Marketo for Site Personalization in FunnelEnvy
Once you’ve configured the Marketo Data source you open up a number of valuable personalization use cases. Below are three ways you can use FunnelEnvy and Marketo together to better target, personalize, and measure your personalization initiatives.
Target Experiences and Offers using Lead Attributes and Smart Lists
Stop serving a static one size fits all website experience to all your visitors. Want to personalize your site experience only for prospects, or to specific accounts, or members of specific campaigns?
With FunnelEnvy you can create very rich audiences that can be built off Marketo data and that can also be used as part of more advanced audience segments that combine Marketo data with firmographics and/or real-time user behavior as well.
In the condition builder interface you have access to all of the Marketo lead fields that were imported, and can define logical conditions based on them.
These conditions can also be combined with other data sources. In the audience screenshot below we’re combining a Marketo condition with a user’s behavior (but this could also be Demandbase, Clearbit or any of the sources we support).
And just like any of the FunnelEnvy audiences, these can be used for targeting within predictive campaigns or A/B Tests:
This flexibility allows you to setup a dynamic “always on” personalization strategy that targets the right user segments in real-time based on that visitor’s stage and their relationship with you.
Personalize Experiences at a 1:1 Level with Marketo Data
While targeting is a powerful first step in executing your personalization strategy, the more powerful opportunity is to use all that rich user data to predict the best experience to serve each visitor.
Choosing in real-time which experience to serve each user based on their full user profile truly allows for 1:1 marketing. That is where the personalization magic really happens.
FunnelEnvy uses machine learning to predict which experience will likely convert best based on all the data we see for that user, including their Marketo data and based on the history of how similar users converted over time.
And unlike A/B tests where a specific experience is randomly assigned, or rules based personalization where you fix a specific experience to an audience, FunnelEnvy allows you to take advantage of all the data you have on that user and serve the experience mostly likely to convert for that user.
This allows you to avoid the manual analytics effort of trying to identify and capitalize on all the possible experience and segment combinations that perform best. As a marketer you can stay focused on the message and offer and allow the algorithms to optimize the segment/experience matches.
As the report below shows, we are scoring/weighing the effectiveness of every attribute we see for every user by experience.
Here, Marketo audience data along with all the other behavioral and firmographics data is used to predict the best possible outcome for each and every user and experience combination.
This allows us to use all the data to our advantage and serve the right experience that will most likely result in revenue.
The best part is that there’s no additional setup required here. Once we have the Marketo data within our profiles we’ll use it as long as the decision mode on your campaign is set to “Predictive”.
Measure and Attribute Personalization Campaigns by Revenue (not Form Fills)
With personalization, one of the bigger challenges is being able to measure the program’s contribution to revenue and business outcomes.
It can be done, but often requires integrating data sets or pulling reports from multiple systems and generating manual reports after the fact.
WIth FunnelEnvy, once you set up your important online, MQL, and any other revenue goals you then start tracking and attributing success to each personalized experience. Below is an example where we created a MQL goal based on a Marketo List and assigned a specific MQL value to it.
To setup this, ensure that the Marketo Data Source is activated and configured and create a new individual goal. Under “API Triggering” you’ll should see an option for Marketo. Once selected, this is the URL that your Marketo instance will hit via a webhook to trigger the goal conversion. More details on setting up these webhooks is available in our knowledge base article.
Once that’s done the Marketo goal will shows in real-time in our campaign reporting dashboards.
It now becomes much easier to tell the story of how specific tests or personalized experiences are driving down funnel goals like MQLs, SQLs, opportunities, and deals won in addition to top level goals like trial signups, demo requests, or engagement.
This makes it much easier to attribute the positive impact personalization has on the organization’s revenue outcomes. Now instead of talking about form completes you can talk the language of sales which is revenue.
As you can see, integrating Marketo into your personalization program is very straightforward and can unlock some very valuable use cases and capabilities. The best part with this approach is that there is no custom development or IT involvement to get this up and running. You can setup the integration and be live with your first campaign on the same day.
If you’re not yet using FunnelEnvy but are interested in personalizing your website to Marketo Leads and Contacts we’d love to hear from you! You can contact us here: https://www.funnelenvy.com/contact/
Today I’m going to take you through a really brief walk through and introduction of Optimizely-CLI.
We found as we built out the CLI, which stands for Command Line Interface, that being able to do a lot of the test development and debugging locally on our own machines was actually much faster. Optimizely-CLI allows you to do that, and then when you’re ready to push it up to Optimizely, you use the Optimizely API to push your test up.
You certainly do have to do a lot of the final tweaking and edits and QA directly in Optimizely, but the largest component of tests, especially more complex tests, not just changing around a word or two or a color but tests that are significantly more involved, is writing the code and is developing it. So, hopefully, if you’re a developer writing Optimizely tests, this can have value for you.
So, let’s get into it. I’m going to skip past the installation of the optcli itself. It’s pretty straightforward. It is built on Node, so you’re going to have to have Node installed locally. It’s delivered as an NPM package, so you’re going to have do an NPM install of Optimizely-CLI. Documentation is on our page, so feel free to take a look.
Once you have installed Optimizely-CLI, what you’ll want to do is create a new directory for your project. You’ll see that this one here is empty. The first thing you’ll want to do is initialize your project. The optcli init command is the one you’ll want to use for that, and you need to specify your project ID. The easiest way to find that is to head over to Optimizely and your project and go to the project settings tab, where under snippet implementation you will see your project ID.
Now, if I look at it, optcli has created a project.json file. An empty project is, obviously, not very useful, so we want to create our first experiment. Let’s say we wanted to do a headline test on the FunnelEnvy home page. To do that, you’ll want to use the optcli experiment command which takes several arguments including the directory that you want to create the experiment in, the description of the experiment, that’s what’s going to show up in Optimizely in the dashboard and in several other places, as well as the default editor URL.
When you open it up in Optimizely, this is the page that will open. You’ll see that it has created the folder and in there is the experiment.json file that describes the experiment.
Next up, we’ll want to create a variation within that experiment. To do that, we’ll use the optcli variation command, which in a similar way takes the folder name of the experiment, the folder name of the variation, as well as the variation description.
Next, we’re going to want to style that, and so we can add some CSS right in the global CSS. Keep in mind that, just as with Optimizely, the global CSS will take effect for every variation. So, let’s make the font bold. Save that.
Let’s take a look at what that looks like. The way to start the local server is to use the optcli host command and specify the path to the variation. By default, optcli uses port 8080. You can change that using the command line argument. And, by default, it serves over HTTP. You can also specify minus S for SSL if you are testing on HTTPS pages. If you point your browser to the URL from the console output, you’ll see that Optimizely-CLI has some instructions as well as some status and URLs for you.
On the left hand side, there are some one time setup steps. You only need to do this once, the first time you do the local hosting and script injection with Optimizely-CLI. And on the right, you’ll see the currently served experiment and variation as well as URLs to be able to view the variation on the editor URL that you specified in the experiment.
The script injection does require either the Tampermonkey Chrome extension, if you’re on a Chrome browser, or the Greasemonkey Firefox add on. In this case, I’m on Chrome, and I have installed the Chrome extension already. So, I’ll skip ahead to step two.
Now, Tampermonkey is installed on my browser. The injection script is running. I can now actually view the variation that I created. If you take a closer look at that script, optcli uses the optcli activate parameter to determine whether or not to inject the script. So, you can actually run your variation script on any URL just by appending this parameter.
This lets you iterate really rapidly because you are doing it locally and then can therefore move a lot faster and get your code right. Let’s say I am happy with my code for the variation now and I want to send it up to Optimizely. Go back to the command line. We can stop the local server and run the optcli push experiment. It’s important to remember that you need to have pushed the experiment before you can push any of the variations underneath it. To push a variation, you just push experiment and specify the directory of the experiment.
If you haven’t entered your Optimizely API token, you’ll need to do so now. You only need to do this once on a project. It will store this locally. I’m going to enter my token now.
So, the token’s been set, and it has created a remote experiment in Optimizely. So, let’s head back over to Optimizely. Looking at the dashboard, refreshing the page, and I can see the headline test has been created. Let me push up the variation now that I created. To do that, you use the optcli push variation command specifying the path to the variation which is obviously underneath the experiment locally. And I didn’t need to enter my token, because I’ve entered it once and you can see that the variation has been created.
One final note on both the push experiment and push variation command. You can run these multiple times. The first time for both it’ll create either an experiment or a variation. But, if you make some local changes and run it again, it will actually update the code for those variations.
That’s how you can keep your local code in sync with what’s in Optimizely. So, if I go take a look in Optimizely, you’ll see that the headline test one experiment has been created as well as the change headline variation. By default, Optimizely will create a variation number one. You can remove that if you choose.
I hope you enjoyed this brief introduction to Optimizely-CLI. There are several other features there that I haven’t mentioned, so certainly feel free to give it a spin. If you have any feedback, we’d love to hear it. Feel free to submit issues or, better yet, put requests on the GitHub page. Thank you.
The headlines have recently been flooded with the news that Facebook and OKCupid have been conducting experiments on their users in an effort to collect data and improve the overall user experience.
Analysts and commentators from the public at large have raised the same concerns: is this ethical? Does running certain types of testing violate user trust, especially when the impact is carried off your website and into the “real world?” Where do companies draw the line?
While you shouldn’t let fears dominate your testing agenda, it’s helpful to have a clear idea of where your company stands on these issues and how that impacts what you disclose to customers and website visitors. Here’s a closer look at some of the ethics of testing and what these recent case studies can teach us.
There are numerous ways in which testing, especially A/B testing or the more complex multivariate approach, can be used to help your business. From improving your copy to streamlining your design for the best possible user experience to removing friction from your checkout process, conversion rate optimization can help you improve the bottom line and reach your business growth and revenue goals.
One of the most common requests that I get is for case studies. Entrepreneurs and business owners are looking for examples of “how it’s been done.” These inside looks at testing can be helpful at every step of the process, from identifying what needs to be tested to creating hypotheses, from designing your tests to implementing the results in your business. Below is a selection of case studies from around the web that I’ve curated to help my readers and clients understand some specific aspects of the A/B testing process. What follows is a list of the tests, along with a quick description and what I think you can learn from them.
Understanding the importance of A/B testing is one thing. But knowing what to test and how to pull it off is more complicated.
Some businesses jump into A/B testing without ever really knowing where to start. Their tests are basically random, and the insights they gain from them are often more trouble than they’re worth.
It’s easy to get frustrated with this. But you don’t have to. Follow the steps below to discover fertile A/B testing ideas and how to test them to boost your conversions.
While it’s true that design plays a large and obvious role in conversion rate optimization, copywriting can deliver similarly huge lifts in conversions. Even the littlest copywriting tweak can drastically improve your conversion rate with far less time and effort than a design tweak.
The only way to take advantage of all this potential low-hanging fruit is to test. To that end, here are some of the top copywriting tweaks to make to improve conversions.
The most valuable real estate on your blog posts, email marketing, and published articles are the first 5 to 10 words. Studies show that your headline is absolutely critical. According to CopyBlogger, 8 out of 10 people read headline copy while only 2 read on. What does this tell you? It means that you’ve got an excellent opportunity to capture readers – and that most content on the internet today is failing to effectively do so. In this age of content marketing, writers and marketers can’t afford to have their content go off the cliff. The good news is that you don’t have to be a professional copywriter to get great results with your headlines. Here’s a closer look at how testing can get you closer to high converting headlines.
Harvard Business School professor Sunil Gupta and co-authors released a paper exploring “Do Display Ads Influence Search: Attribution and Influence in Online Advertising.” The questions driving the study were straightforward. First, do display ads make a difference in moving buyers along the sales funnel? Second, if yes, then how much of a difference do they make and for how long?
Most online marketing professionals read the above and immediately form an opinion. “Yes, of course,” you’re saying, based on years of personal experience in the industry. Or perhaps your response is “No, not in the case of industry X or Y,” based on a very specific anecdotal case you worked on.
But before we dive into the answer, and why it matters to conversion optimization testing, let’s explore a different question. What are the chances that your gut reaction answer is right – not just to this specific line of inquiry in online marketing, but how you make decisions about your business in general and in your understanding of how your customers make buying decisions?