Einstein Send Time Optimization: A How-To Guide

Balancing all the emails your teams want to send to Prospects versus how many emails the Prospects want to receive is difficult. 

Email your Prospects too often and they may opt out. Email them too little and they may miss the important updates they subscribed for. 

Also, determining when to email your Prospects is always a struggle. Should you split your sends by time zones? Is there a sweet spot that covers most time zones? Does anyone actually read emails on Mondays?! 

Up until now, the best way to tackle these decisions is Dynamic Frequency and Recency lists coupled with the numerous studies concerning which days and times are the best to send emails. However, with Pardot and Einstein, you can let machine learning do this analysis for you and have one less thing to think about.

Note: The 2 Einstein Solutions below are only available to Advanced and Premium Editions of Pardot. 

Optimize your email send times

Einstein Send Time Optimization analyzes the timestamp of sends, opens, clicks, unsubscribes, and spam complaints to determine the optimal time to send a Prospect an email. 

Keep in mind, Einstein Send Time Optimization includes List emails, Engagement Studio Program emails, and Salesforce Engage sends in its analysis. It does not include Operational emails or Autoresponders. 

How Send Time Optimization works in the abstract is a little confusing, but this example from Salesforce’s help doc is great: 

example

Send Time Optimization is only available in emails sent from the new MCAE (Pardot) Lightning Email Builder

When sending a list email from the Lightning Builder, three Send Time options appear:

  1. Einstein Optimized (choose this option)
  2. Send Now
  3. Send Later
Einstein Optimized
  • For “Start Date” enter the earliest day you want the emails to go out. 
  • For “Time,” it takes about an hour for Einstein to analyze the prospects, so set this one hour before the earliest time your email should go out (i.e. If I want the emails to start sending at 9AM, I’ll select 8AM). 
  • Then set your “Send Emails Within” value (up to 168 hours which is 7 days). The gray box at the bottom of the Send Time section will show the latest time your email can go out and will update as you change your “Send Emails Within” value. 

Once your email starts sending, you can monitor how many emails have gone out anytime during the Send Time window by going to Pardot Email > Scheduled > All Scheduled Emails.

What data do you need?

Each Prospect needs to have engaged with an email in the last 90 days. If a Prospect is new or has not engaged within this window, Einstein will recommend an aggregate of your email engagement data. 

Enabling Einstein Send Time Optimization

You’ll enable Einstein Send Time Optimization by going to Setup > Einstein Pardot > Send Time Optimization

Once enabled, it will take up to 72 hours to analyze your data and create your custom model.  

Use Einstein Send Time Optimization to customize email frequency 

Einstein Engagement Frequency (EEF) analyzes Prospect’s email engagement over the last 90 days plus their overall engagement data in the past 28 days to determine if the Prospect is Undersaturated, On Target, or Saturated. 

Similar to Einstein Send Time Optimization, EEF analyses List emails, Engagement Studio Program emails, and Salesforce Engage sends. It does not include Operational emails or Autoresponders. 

So, say for example you have a list of 100 Prospects who all received an email two days ago. You need to send all 100 another email, but you are worried about over emailing them. With EEF, you can run a dynamic list looking at your Recipient list from your first email and see which Prospects are Undersaturated or On Target and could be emailed again. 

Dynamic list rules

Or, even better, you could set up an Engagement Studio Program for the second email, and any future communications, to wait for the Prospect’s EEF status to change from Saturated. 

Engagement studio program

What data do you need?

Each Prospect needs to have engaged in at least the last 28 days, but 90 days is recommended. EEF also requires 5+ variations of emails be sent to at least 10 Prospects within the last 28 days.

Enabling EEF

You’ll enable Einstein Send Time Optimization by going to Setup > Einstein Pardot > Einstein Engagement Frequency

Once enabled, it will take up to 72 hours to analyze your data and create your custom model, a new Prospect default field, Einstein Engagement Frequency, will also be created. 

dynamic list rules

Lean on the machines with Einstein Send Time Optimization

With Einstein Send Time Optimization and Einstein Email Frequency, we can begin leaning on machine learning to make some of the email sending decisions for us.

 If you’ve already started using these two Einstein tools with Pardot, please share your tips, tricks, and findings in the comments!

Original article: Einstein Send Time Optimization: A How-To Guide

©2022 The Spot. All Rights Reserved.

The post Einstein Send Time Optimization: A How-To Guide appeared first on The Spot.

By |2022-05-06T16:00:00+00:00May 6th, 2022|Categories: Analytics & Reporting, Emails & Forms, Pro Tips, revive, Strategy|

Capture Lead Source Data Using Cookies and Google Tag Manager

Looking for a way to capture lead source data from across pages on your website and pull that data into your CRM? 

Since we use Marketing Cloud Account Engagement (Pardot), we figured out how to do that by transferring UTM parameters across webpages and capturing them in a Pardot custom field. 

Using a magical mixture of UTM parameters and Google Tag Manager with a Pardot custom field and third-party forms, here’s our solution for capturing pre-form fill visitor data in Pardot. 

However, you can use your imagination to take this solution further and send the data to any CRM that allows you to capture data in a custom field.

What is a lead source?

A lead source establishes how a prospective customer first engaged with your business. That can be through your website, by phone, by email or even visiting your location in person. 

Most lead sources originate through advertising, social channels, word-of-mouth, referrals, or even location signage.

Why does the lead source matter?

Understanding how buyers find your business serves two purposes:

  1. It improves the buyer’s journey. You can use the information to be more relevant and responsive  with highly tailored content, interactions, and communications, leveraging the channels and sources your audience prefers. 
  2. It reveals the most effective channels and methods. Having insights into lead sources helps you build awareness, connect and engage with buyers by focusing on what works.

How to track marketing parameters via UTM

The best way to gain digital lead source insight is to use UTM (Urchin Tracking Module) parameters. UTMs are variables that are passed to your website via the link a buyer clicks to get to your website or landing page. 

As the standard for tracking lead sources, UTMs play an integral role in providing data to Google Analytics and other marketing analytics platforms. 

Setting up UTM parameters is super easy by using a handy tool provided by Google Analytics. Remember to create a consistent naming convention so when you add them to your links you’ll be able to easily identify key data points when viewing your reporting.

Why do I need source cookies?

Capturing a UTM parameter on your web form can be tricky. If a user visits a page with a form through a UTM URL and submits the form, the UTM parameters get captured. However, if a user visits a page through a UTM URL and navigates to another page on the website, the form submission is unable to capture the UTM parameter values. 

To solve this dilemma, we used Google Tag Manager (GTM) to implement a cookie on the first page visit and then populate the hidden fields with the stored UTM values.

How to capture lead source via a Marketing Cloud Account Engagement (Pardot) form handler

The steps to capturing your lead source data in Pardot are as follows:

Step 1. Set up Pardot Form Handler

Create a new form handler in Pardot. Magic Wand > Marketing > Forms > Form Handlers.

  • Add information about your form:
    • Name – This will not be seen by the visitor, so use a naming convention that will help you understand the form’s purpose.
    • Folder
    • Tags
    • Campaign
    • Tracker Domain
      • Do NOT check kiosk/data entry mode
      • Check “Enable data forwarding to the success location” only if pushing data to a location other than Pardot.
      • Only check “Disable Activity throttling” if you wish to send auto-responder emails after every submission. A time buffer is set by Pardot to prevent a visitor from duplicating completion actions or emails if they repeat a form submission too quickly. Still not sure? Read more here.
    • Add Success Location URL – Either add a new URL ‘Thank You’ page or send them back to the referring URL.
    • Add Error Location URL – Either add a new URL ‘Error’ page or send them back to the referring URL.
  • Add Completion Actions
  • Add Form Fields 
    • Set up your fields in Pardot if not already there
    • Map fields to third-party form by field “name” not the label. These must match exactly or the form handler will not work.
      • e.g.,  <input type=”text” id=”fname” name=”fname”>
      • Do NOT make them “required”
  • Copy the endpoint URL of your newly created form handler and add that to the third-party form.

Step 2. Configure your third-party form

To capture the UTM parameters we determined we want to use, we have to include the following eight HIDDEN fields on the third-party form and do NOT set as required:

  1. utm_source 
  2. utm_medium 
  3. utm_campaign 
  4. utm_content 
  5. last_utm_source 
  6. last_utm_medium   
  7. last_utm_campaign 
  8. last_utm_content

In our example, we are using a Gravity Form. But this should work with most forms. 

Step 3. Capturing a cookie using Google Tag Manager (GTM)

UTM information is only visible on the page it first lands on. If the user goes from one page to the next on the website, the UTM information disappears. 

Add Persist Campaign Data (3rd Party) Template 

There’s no need to reinvent the wheel. Use the 3rd party template, Persist Campaign Data.

  • Click the Tags tab > New
  • Click inside “Tag Configuration” box
  • Search for Persist Campaign Data

What does this container do? It will first look for URL parameters that can be edited. But out of the box, it is looking for anything with utm_source, utm_medium, utm_campaign, utm_term, utm_content, utm_it, gclid. 

This container will store a 2 cookies:

  1. __gtm_campaign_url
  2. __gtm_referrer
  • Click Triggering and select ‘All Pages’ – This will ensure your tag will fire no matter what page a user enters from.

Add a Cookie Variable

We now need to be sure the web tracking cookie we are grabbing is in the correct format.

  • Click Variables
  • Name Variable: cookie-__gtm_campaign_url
  • Variable Type: 1st Party Cookie
  • Cookie Name: __gtm_campaign_url

Check the box: URI-decode cookie

If you preview in debug mode you should now be able to see the cookie set. 

How do you see tracking cookies in Google Chrome? 

  1. Right click on browser window
  2. Choose ‘Inspect’
  3. Choose ‘Inspect’
  4. Choose the Applications tab
  5. Check installed cookies

Add UTM parameters to your form

Now that the cookie is set and working, let’s add the important parts to the form we already created.

  • Click Tags
  • Name the new tag:  utm_form_tracking
  • Tag Type: Custom HTML 
  • Drop in the HTML Script:
<script>
// Parse the Cookie
function getCookie(cname) {
	var name = cname + "=";
	var decodedCookie = decodeURIComponent(document.cookie);
	var ca = decodedCookie.split(';');
	for(var i = 0; i <ca.length; i++) {
		var c = ca[i];
		while (c.charAt(0) == ' ') {
			c = c.substring(1);
		}
		if (c.indexOf(name) == 0) {
			return c.substring(name.length, c.length);
		}
	}
	return "";
}
// Parse the URL inside Cookie
function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)");
    results = regex.exec(getCookie("__gtm_campaign_url"));
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
// Pass the values to hidden field 
document.querySelector("input#input_3_9").value = 
getParameterByName('utm_source');  	document.querySelector("input#input_3_10").value = getParameterByName('utm_medium');  	document.querySelector("input#input_3_8").value = getParameterByName('utm_campaign');  	document.querySelector("input#input_3_11").value = getParameterByName('utm_content');
</script>

Change the JavaScript to match the gravity form field values.

  • Set up a Trigger – This will fire the HTML JavaScript code when the cookie fires
    • Name Trigger: trigger_utm_script
    • Trigger Type: Page View – DOM Ready
    • References to this Trigger: utm_form_tracking 

Test your results

You can change the Field Type to text or not hidden while testing your form. Just be sure to flip it back. 

Here is a handy tool that will allow you to easily add campaign parameters.

Watch the full tutorial video

Limitations to capturing lead source data

A caveat — this solution will work for unique visits. However, since it uses cookies, it doesn’t track accurate visitor data across multiple visits. So, if the person visits your website many times before completing a conversion form, then you’ll only have data from the last cookied visit. 

We’re still cooking up that solution, but we’ll share it when it’s ready. 

We’d love to hear suggestions from the community for solving that problem. Or let us know how you did in the comments.

Original article: Capture Lead Source Data Using Cookies and Google Tag Manager

©2022 The Spot. All Rights Reserved.

The post Capture Lead Source Data Using Cookies and Google Tag Manager appeared first on The Spot.

By |2022-05-01T00:27:00+00:00May 1st, 2022|Categories: Analytics & Reporting, Emails & Forms, Pro Tips, revive|

How to Update iFrames & References to the Default Pardot Domain Before the Deadline

In early March, Salesforce announced changes to how it serves content via go.pardot.com. In short, this impacts your Pardot content that might be placed on your website through iFrames. 

We’ll walk you through how to find where the go.pardot.com domain is in use. Then we’ll show you how to fix it across your website.

A bit of detail on the Pardot domain challenge

Pardot is making security enhancements that can affect users of the go.pardot.com domain who use this domain for iFrames. That means you’ll have to take action by April 22, 2022, to update your website forms that meet the criteria outlined in this blog post.

Website forms with iFrames + default Pardot domain + JavaScript = pay attention

Specifically, you should pay attention to the enhancements if your website forms:

  1. Embed Pardot forms or other content inside iFrames
  2. Include JavaScript in that content
  3. Serve this content over the default Pardot domain (go.pardot.com)

The main impact will be to any Pardot form served standalone or in an iFrame using the go.pardot.com domain.

Also included are forms that make use of included JavaScript to make external calls. This includes JavaScript that:

  • Communicates from within the iFrame to the pages that contain the iFrame
  • Makes an AJAX call to a server

Examples of these kinds of calls are:

  • JavaScript that resizes the iFrame on the page to better fit the form
  • Submission of forms using reCAPTCHA
  • Changing form behavior based on changes to the email address field, such as showing a message to a prospect if they previously unsubscribed

Other impacts with assets using iFrames are possible. For example, with these new changes you will no longer be able to embed a landing page within another webpage. This change also affects JavaScript callouts on form handlers and dynamic content when served directly via an iFrame.

Preparing for the fix

There are a few preparatory steps you can do before going and making (or requesting) changes to your website.

Step 1. Set up Pardot tracker domain

If you don’t already have a Pardot tracker domain, we will need to create one. If you aren’t sure, here are steps to follow:

  1. Log in to Salesforce & Pardot
  2. Go to your Pardot Settings > Domain Management page
  3. Look for a tracker domain that is custom. It should be one that’s similar to your website address (similar to the screenshot below)

If you don’t have a custom tracker domain set up yet, our friends at Nebula Consulting have a great set of instructions here.

If you have multiple tracker domains, you will need to know which one to use.

Step 2. Enable first-party cookie tracking

While not necessarily needed for this fix, it is best to set yourself up for success for the future of cookie tracking within Pardot.

To enable first-party web tracking cookies:

  1. Log in to Salesforce & Pardot
  2. Go to your Pardot Settings, Account Settings page and click Edit
  3. Scroll down to “First-Party Tracking” and make sure all 3 checkboxes are checked
  4. Save account

Step 3. Find website pages using the go.pardot.com domain in iFrames

I mean this is the whole reason you are here right? You have a challenge and want actionable steps on how to actually solve it instead of some blogger babbling.

We’ve created a tool that can leverage your website sitemap .xml file (the same sitemap Google crawls) to look for web pages that have embedded iFrames that also use go.pardot.com as the iFrame source.

Use the form below to find the forms on your website you’ll need to update. After submitting, we’ll gather some results and email them to you after a few minutes.

Name








Make changes to the website

With your list of pages in hand, you can begin the work of editing each page, swapping the go.pardot.com part of the iFrame “src” attribute with your new tracker domain. Try this out on one or two pages, testing out the forms to make sure nothing has broken. Then, roll it out across your site.

But… what if I can’t add a custom tracker domain?

You might ask yourself, “What if I can’t add a custom domain?” If this is you, you’re gonna be okay. 

Because of the change being made, you won’t be able to use iFrames with the default go.pardot.com domain to host standalone or embedded forms. If you plan on using a form, you’ll need to use the form on a landing page. If you have JavaScript needed for the form, it can be included in the landing page to keep the form functioning as it did before. 

If you have other assets you need in an iFrame, unfortunately you won’t be able to continue using the default domain to display them. You’ll need to get creative with these assets. Maybe convert the information into a downloadable PDF or display it as an image on a landing page.

It’s going to be okay

With new Pardot security enhancements comes a more stable marketing automation platform. But it also brings new complications — and we have your back. 

If you need further assistance with setting up a custom tracker domain, finding and fixing the use of go.pardot.com, or just a refresher on best practices, get in touch or tell us in the comments. We’re always happy to help.

The post How to Update iFrames & References to the Default Pardot Domain Before the Deadline appeared first on The Spot for Pardot.

By |2022-03-29T13:40:58+00:00March 29th, 2022|Categories: Data Management, Emails & Forms, Pro Tips, revive|

New Pardot Feature: Custom Components for Email Content

The Pardot Winter’ 22 release includes a new way to add content to emails you create using the email content builder in Pardot Lightning. Custom components allow marketers to easily build a library of standardized components users can drag-and-drop into email content builder emails without needing to edit HTML or CSS. 

With this new feature, you can create components for standard areas of emails, such as footers or headers. Or, use it for more complex items, such as displaying upcoming events or gathering prospect feedback. 

You can create your own custom components, or search for components built by third parties in the Salesforce AppExchange. 

Pardot email custom components available now

pardot email content builder

Salesforce Labs already has three custom components available:

  1. Embedded Feedback within Pardot Emails

Add a feedback form component to emails and gather instant feedback from prospects.

  1. Video for Email

Easily embed video thumbnails.

  1. Newsletter Lightning Email Template with Google API 

Create newsletter emails with components for Youtube Webinar and Google Calendar.

Once installed, the component will appear in the email content builder in Pardot Lightning under Custom

Note: You must be a Salesforce administrator or your Salesforce user must have the Download AppExchange Packages permission to install a custom component from the Salesforce AppExchange. 

Configure the custom component

Once you drag and drop a custom component into a Pardot email, you can use the right-hand side to configure the component. 

pardot custom component example

This new feature is available in the Lightning Email Builder for Email Content and Email Templates (Custom Components for Email Templates is part of the Spring ‘22 release). This feature is available for Growth, Plus, Advanced, and Premium Pardot editions.

Custom component availability

It is not yet available in the email template builder, but that should be coming in future releases. This feature is available for Growth, Plus, Advanced, and Premium Pardot editions.

Updating Pardot email content custom components

If a custom component is applied to email content and then that component is updated, the email content will not automatically reflect the changes. To update the email content, you must click Edit in Builder and re-apply the custom component. 

Considerations for multiple Pardot Business Units

If you have multiple Pardot Business Units, be mindful of creating custom components that reference fields, content, or assets that only exist in one business unit. Custom components are a platform asset and are not tied or restricted to a specific business unit. 

Share your experiences

How are you planning on using this new feature in your org? Tell us in the comments!

The post New Pardot Feature: Custom Components for Email Content appeared first on The Spot for Pardot.

By |2021-12-10T17:53:35+00:00December 10th, 2021|Categories: Emails & Forms, New Features, Release Notes, revive|