Increase Email Response Rates Using Personalization with Salesforce.com Custom Object Data

Increase Email Response Rates Using Personalization with Salesforce.com Custom Object Data

Personalization with Custom Homes and Custom Objects

TRI Pointe Group (NYSE:TPH) is a regional homebuilder based out of southern California. The company places a high value on a customer-driven approach to designing their communities based upon a deep understanding of what their homebuyers want and how they live. In order to better serve their customers, information for key interactions, such as property interest, is gathered.

By visiting a property or visiting a community website, prospective homebuyers have two ways to express interest in a home or community. TRI Pointe Group was interested in creating a highly personalized experience to engage their homebuyers, and through the use of custom SFDC objects and the Velocity scripting language in Marketo’s email script tokens, we were able to make this happen for them.

For example, a homebuyer visiting a model home in Arvada, Colorado would receive an email thanking them for visiting the community. This branded email would be sent from, and have the contact information for, the New Home Advisor. Follow up emails could include questions like, “What was your favorite floor plan?” and highlight specific features of the community visited by the homebuyer and other key information about the site visit in order to better understand and serve the needs of the homebuyer.

From a technical perspective, Digital Pi was tasked with finding a way to sync Salesforce (SFDC) custom object data to Marketo, and then access this data on both lead and contact records. While the creation of personalized emails in Marketo is not new, the configuration that enables SFDC custom object to be used was an interesting challenge. One limitation, for example, is that a SFDC object can be synced only to a lead or a contact in Marketo, but not both. The goal was to have various personalized emails that have dynamic data about homes and communities that prospects are interested in. In addition, TRI Pointe Group’s SFDC instance already had multiple related objects and current processes that we had to consider without disturbing.

Let’s dig into the process for using Salesforce.com custom objects in Marketo.

Digging in to the process

STEP ONE: Configure SFDC Custom Objects

With the need to access the custom objects on both leads and contacts, we first had to make what we called a “Shell” object related to the Lead. This Shell object would then have copies of the relevant data from the custom objects. This way when synced to Marketo, Marketo would have access to the data from both the lead and the contact records.

We created SFDC triggers to automatically update data on the Shell object whenever it was updated on the main custom object. We also created a backfill process to update all existing leads with the relevant data. You’ll want to do all of this in your SFDC sandbox first and get it all worked out before migrating to your production instance. You’ll also need to work very closely with your SFDC admin and developers to make sure you have this working correctly and ensure that it’s not breaking any existing processes.

STEP TWO: Update SFDC Custom Object sync settings in Marketo

For the most part, syncing SFDC custom objects to Marketo is simple, but there are a few things that must be configured to ensure that Marketo can access everything it needs.

  1. You will first need to disable the SFDC Sync in Marketo. (Admin > Salesforce)
  2. Next, you need to click on the Salesforce Object Sync, and then click the “Refresh Schema” button at the top. This will refresh the schema and all your SFDC object changes will now be visible to Marketo.
  3. After that, you’ll need to select each custom object that you want Marketo to have access to. You click on each object in the list on the right and then the “Enable Sync” button at the top.
    enable sync
  4. This next step is very important. After you sync each object, you must tell Marketo if you want to use any of the fields in triggers. For each object, you click the “Edit Visible Fields” button at the top and then choose the fields that you want to be able to trigger on.
    Edit Visible Fields
  5. Finally, when you’ve configured each of your custom objects, go back and re-enable your SFDC Sync.

STEP THREE: Create Email Script Tokens and Smart Campaigns

Once the custom object information is synced over to Marketo, the email script tokens can be used to insert the custom object information into personalized emails. The trickiest part is that you need to know whether the person is a lead or a contact, and then grab the data from the object related to either the lead or the contact.

For this project, there were many tokens used throughout the emails. The dynamic data, in the form of tokens, included the from and reply-to email addresses, the body content, and the footer. Since Marketo Email Script Tokens all get evaluated in one namespace, it was best evaluate if a record is a lead or contact one time, and then store the values for when that record is processed. The values set for each token can be used in all other email script tokens for the same email.

The Marketo smart campaigns should be straightforward if you’ve configured your SFDC custom objects correctly in the sync. In this project, we triggered a process to execute when a contact is added to the main object in SFDC, or when a lead is added to the Shell object in SFDC.

tripointe-sample-email

There were many unknowns at the beginning of the project, but the project went from specification to final testing in less than a month. This approach to Marketo + SFDC Custom Objects + Velocity scripting provides tremendous value into personalization and can make your communication even more meaningful and engaging.

ryan@digitalpi.com

Ryan focuses on helping companies get rapid and meaningful insights into their marketing automation investments. He is a Marketo Champion, Certified Marketo Expert and co-leader of the Dallas Marketo User Group (DMUG). Ryan is passionate about the future of marketing technology but also believes that any approach should be guided by the core principles of “simple” and “practical”.

  • March 17, 2017

    Hi Ryan,

    There’s not a lot of documentation regarding SFDC Custom Objects used with Velocity Scripts out there…

    Did you guys ever used 2 different velocity scripts calling the same SFDC Object’s data in the same email?

    • mm

      Bill Lundy

      Leave reply
      March 17, 2017

      Hi G!

      You’re correct, there isn’t a lot of good documentation for this, but there is a lot in the community and from different blog posts. Takes a bit more digging, but there is some good info out there.
      Marketo’s docs are bit all over the place. If you just look in the docs.marketo.com site, you’ll miss a lot.

      Here’s a few I’ve come across that have helped:
      Marketo Developer’s site: http://developers.marketo.com/email-scripting/
      Sanford Whiteman: http://blog.teknkl.com/tag/velocity/
      And of course the Marketo Community. I wish their search was better, but you can often find the answer to your question there, and if not, ask it and someone will usually jump in to help.

      We have used two separate velocity email script tokens to access the same SFDC object.
      However, we found it usually makes sense to access the object once and get the data you need and put it into variables, and then use the variables in different email script tokens where needed in the email. In general, global variables are frowned upon, but the way Marketo executes the email script, this sometimes makes sense.

      -Bill

LEAVE A COMMENT