Jenna Molby, Author at The Spot https://thespotforpardot.com A home for marketers on Salesforce to shape the future together Fri, 07 Jun 2024 14:52:54 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 https://thespotforpardot.com/wp-content/uploads/2021/12/circle-150x150.png Jenna Molby, Author at The Spot https://thespotforpardot.com 32 32 238606145 How to Add Calendar Links to Pardot Emails and Landing Pages https://thespotforpardot.com/2023/01/07/how-to-add-calendar-links-to-pardot-emails-landing-pages/ https://thespotforpardot.com/2023/01/07/how-to-add-calendar-links-to-pardot-emails-landing-pages/#respond Sat, 07 Jan 2023 10:35:00 +0000 https://thespotforpardot.com/?p=6312

If you run virtual or in-person events, including an ‘add to calendar’ link in your emails and landing pages can be a great way to ensure your guests actually show up. While there is currently no feature in Pardot to create ‘add to calendar’ links within the editor, there are two options to add them […]

The post How to Add Calendar Links to Pardot Emails and Landing Pages appeared first on The Spot.

]]>

If you run virtual or in-person events, including an ‘add to calendar’ link in your emails and landing pages can be a great way to ensure your guests actually show up. While there is currently no feature in Pardot to create ‘add to calendar’ links within the editor, there are two options to add them yourself. The first option is to create the files manually and link to them within your Pardot assets. The second option is to use a tool to generate the links, files and buttons for you. In this post, I’ll show you how to use each one of these options to create ‘add to calendar’ functionality within your Pardot emails and landing pages.

Choose which calendars to target

There are two common calendar file types; a calendar link and a calendar (ICS) file. The first step is to figure out which calendars you want to target. That way, you know what files need to be generated to add them to your Pardot email or landing page.

Here’s the breakdown of which email client accepts which ‘add to calendar’ method.

Image source: Litmus

Option 1: Create calendar links & files manually

The first option is to create the calendar links and files manually. Upload the files into Pardot and link to them in your email or landing page.

Hot Tip: The easiest way to create calendar links is to use this handy tool.
Google Calendar Link Generator
Outlook & Apple Calendar (.ICS) Link Generator

Enter the information for your event, select the email client you want to target and add the link to your email or landing page.

google calendar link generator
This is an example from the ICS calendar link generator.

Upload the calendar link to Pardot

If you want to target an email client that supports ICS files, you will need to generate the file and upload it into Pardot. Using the same generator, click on the download ICS button to download the file. Upload the file into Pardot (Marketing > Content > Files).

Link to the ICS file within your Pardot landing page or Pardot email.

Example

Here’s an example of a button that will work within an email and a landing page.

ADD TO CALENDAR
Outlook.com   |   Office 365   |   Google

Option 2: Creating a calendar links with a tool

The second option is to use a tool that will create the files, links and buttons for you. My favourite tool is the AddEvent.com, which has a free ‘hobby plan’ that will allow you to generate up to 50 calendar links a month. With this method, the ICS file is hosted for you, so you don’t need to upload any files into Pardot.

Email example

Here’s an example of what an ‘add to calendar’ button looks like in an email.

Add event to calendar

Apple Google Office 365 Outlook Outlook.com Yahoo

Landing page example

Here’s an example of what an ‘add to calendar’ button looks like on a landing page.



Add to Calendar

Taking it a step further

If you are up for a challenge, you can try to show/hide different calendar links based on what email client the prospect is using. Find out more in this article by Litmus.

Questions?

Send me a tweet @jennamolby, or contact the Sercante team for help.

Original article: How to Add Calendar Links to Pardot Emails and Landing Pages

©2025 The Spot. All Rights Reserved.

The post How to Add Calendar Links to Pardot Emails and Landing Pages appeared first on The Spot.

]]>
https://thespotforpardot.com/2023/01/07/how-to-add-calendar-links-to-pardot-emails-landing-pages/feed/ 0 6312
How to Integrate Your Blog With Pardot https://thespotforpardot.com/2023/01/04/how-to-integrate-your-blog-with-pardot/ https://thespotforpardot.com/2023/01/04/how-to-integrate-your-blog-with-pardot/#respond Wed, 04 Jan 2023 19:34:16 +0000 https://thespotforpardot.com/?p=6385

Your website is one of your most important demand generation assets and a blog is a great way to increase your online presence by making you more visible on Google. It’s also a great way to bring prospects into your database to expand the top of your funnel.  In this tutorial, I’ll show you how […]

The post How to Integrate Your Blog With Pardot appeared first on The Spot.

]]>

Your website is one of your most important demand generation assets and a blog is a great way to increase your online presence by making you more visible on Google. It’s also a great way to bring prospects into your database to expand the top of your funnel. 

In this tutorial, I’ll show you how to set up your blog with a Marketing Cloud Account Engagement (Pardot) form, how to create a blog welcome email, and tips to automate blog digest emails.

How do you want your blog readers to subscribe?

There are many ways you can get your readers to subscribe to your blog. Some companies use a popup form when you visit a blog post, which has proven to be effective and other companies make it more subtle. Here are some different methods which will give you inspiration on how you should add the form to your blog.

Example 1: In a sidebar 

Pardot lets you subscribe to their blog by entering in your email address in the sidebar.

Example 2: At the end of each blog

Hootsuite adds their blog subscription form to the bottom of each blog post. They also only ask for your email address and have some nice icons, so it’s clear what you’re signing up for.

Example 3: In the footer

Engagio has a “sticky footer” at the bottom of their blog page, as well as on each blog post to get readers to subscribe. The bold yellow color also draws your attention to the subscription form without being too invasive and they provide you with a close button to hide the form.

Example 4: With an automation

Asana uses a subscription form that slides out at the bottom when you scroll down about 80%. I like how the animation captures the attention of the readers and how they incorporate Facebook and Twitter buttons beneath the email sign up.

Example 5: In multiple spots

Shopify uses two slightly different methods for capturing their blog subscribers. When you visit their main blog page you can subscribe right from their header.

They also have a subscription form in the sidebar of each post. I like that they include some social proof in the subscription form in the sidebar and it’s clear what I can expect them to send me if I give them my email address.

What fields should you capture?

Standard fields

The shorter the form the more likely you will get your readers to subscribe to your blog. Most blogs only ask for an email address, but some also will ask you for your first and last name for more personalized blog digest emails.

Hidden fields

Your standard source fields should be on your blog subscription form, just like every Pardot form you create.

If you opt to have a subscription form on every blog post, I also like to add hidden fields for blog post title and blog post category. With my blog, for example, I have a subscription form at the bottom of each post and I use custom code in WordPress to automatically populate the hidden fields with the post title and post category. This way I can pull reports in Pardot to see what type of content is generating more blog subscribers and what posts have generated the most blog subscribers.

Here’s an example of populating hidden fields with WordPress blog information. Note: This method is only possible while using Pardot Form Handlers.

<input type="hidden" name="post-category" value="<?php the_category(); ?>" />

<input type="hidden" name="post-category" value="<?php single_post_title(); ?>" />

The Pardot implementation

Now that I’ve given you some examples of what form fields to include in your form and some methods for blog subscription forms, it’s time to show you how to build it out in Pardot.

Pardot Form Handlers vs. Pardot Form embed

There are some advantages and disadvantages for each form method. Embedded Pardot forms allow you to update the form directly in the Pardot form editor and the changes are live on your site as soon as you save the form. However, they also are embedded on your site using an iFrame, which means that certain functionality might not be available. Pardot form handlers are much more flexible and allow you to use your own HTML code to send data to Pardot.

When integrating your blog with Pardot the best form method to use, in my opinion, is Pardot form handlers, for a couple of reasons:

  • Changes don’t need to be made to the blog form regularly
  • It’s easier to have the form match your website/blog
  • Many blogging platforms have plugins you can use for blog subscription forms that will work well with Pardot form handlers

Create a campaign dedicated to blog subscribers

Create a campaign to attribute your blog as a lead source for any new subscribers. Your form and new subscribers should be assigned to the campaign in Pardot and/or Salesforce, depending on your lead attribution processes. 

Create a Pardot Form or a Form Handler

In this tutorial, I will be using a Pardot form handler. You can also use a regular Pardot form if you prefer.

Create a Pardot form handler with a descriptive name. I called mine “Blog Subscription Form.” Select your new campaign, map the fields that you want to add to the form and click save. Note: Completion Actions and some other settings will be updated later on.

Add the form to your blog

There are many tools that allow you to add forms to your blog, but it depends what platform you use. Here’s a list of some popular plugins that will help you add your Pardot form to your blog.

  • PopUp Domination can be used to create a popup subscription form on your blog. You can use any HTML you want, which means it will work perfectly with your Pardot form handler. 
  • Sumo is another option that will work on any type of blog platform. They also offer many different ways to display the subscription form on your blog.

While I’m a big fan of these tools, if you have a developer available the best option is to get them to implement your Pardot form on your blog using custom code. Depending on the method you choose it should be pretty easy for a developer to implement your form and it means you don’t have to pay a monthly subscription fee for using these tools.

Create a Thank You page

The next step is to create a Thank You page that the form will direct to when someone subscribes to the blog. I recommend that you create it on your website (instead of a Pardot landing page), to ensure it has the same look as your blog.

Once your Thank You page is created, copy and paste the URL into the Success location in the Pardot form handler.

Create a blog welcome email

A blog welcome email is a great way to promote more of your blog content. Choose a couple of your popular posts or create a digest of curated content your readers might be interested in.

When a reader subscribes to my blog, I send them a welcome email with some of my top Pardot blog posts. Click here to see what it looks like (and feel free to copy and paste the HTML to create your own welcome email).

Once you have your blog welcome email created add a completion action to your Pardot form to send an autoresponder email.

Emailing subscribers: Automated vs. Manual

Now that your form is set up on your site and your welcome email is ready, it’s time to figure out how you’re going to send notification emails when there’s a new blog post. There are two ways you can send out blog posts: 

  1. Automatically using a third-party application, or 
  2. Manually, since Pardot doesn’t have an RSS feed integration.

For my blog, I send out all my blog digest emails manually, since I like to have control over what’s sent. However, I only post about once or twice a week, so it’s pretty manageable.

Automated blog posts using Feed Otter

If you opt to go with the automated route, Feed Otter provides a full RSS integration with Pardot. You can quickly build, schedule, and email your blog subscribers notifying them of a new post, a weekly digest, or a monthly newsletter.

Manual blog post emails

Manual blog post emails require you to create an email each time there is a new blog post, or if you post a lot during the week, you can do a digest of all the new posts, once a week. It can be time-consuming, but if you have a good email template setup and a defined process the whole thing doesn’t take very long. If you’re going to go the manual route, here are some tips:

  • Create a simple, one-column email template, so you don’t have to spend time messing with formatting. This is the template I use for my blog posts.
  • Create an email that you can copy each time you need to send a blog email. This will contain all the settings (from address, list, etc.) you need to send the blog email.

Questions?

Send me a tweet @jennamolby or leave a comment below.

Note: This post was originally written in November 2016 and updated January 2023.

Original article: How to Integrate Your Blog With Pardot

©2025 The Spot. All Rights Reserved.

The post How to Integrate Your Blog With Pardot appeared first on The Spot.

]]>
https://thespotforpardot.com/2023/01/04/how-to-integrate-your-blog-with-pardot/feed/ 0 6385
Inspiration: Using Pardot for Event Registration https://thespotforpardot.com/2023/01/02/inspiration-using-pardot-for-event-registration/ https://thespotforpardot.com/2023/01/02/inspiration-using-pardot-for-event-registration/#respond Mon, 02 Jan 2023 17:10:00 +0000 https://thespotforpardot.com/?p=6380

Recently, I was challenged with creating a landing page for event registration using Marketing Cloud Account Engagement (Pardot). The event had 15+ roundtable sessions in the morning (within 2-time slots) and an option to register for the afternoon session (keynote, happy hour etc). Here’s a sneak peek into how I built it along with some […]

The post Inspiration: Using Pardot for Event Registration appeared first on The Spot.

]]>

Recently, I was challenged with creating a landing page for event registration using Marketing Cloud Account Engagement (Pardot). The event had 15+ roundtable sessions in the morning (within 2-time slots) and an option to register for the afternoon session (keynote, happy hour etc). Here’s a sneak peek into how I built it along with some code if you want to try building something similar for your next event.

VIEW DEMO

How it Works

Before we get into the details, here’s a high-level breakdown of how the page works.

  • A user clicks on the ‘register’ button to sign up for a roundtable, the roundtable name is populated in a hidden form field.
  • A user clicks on the ‘register’ button to sign up for the conference, a hidden form field is set to TRUE
  • A user then enters their information into a form. The data is sent to Pardot using a form handler.
  • Users who signed up for at least one roundtable are sent a Pardot email that contains a “thanks for registering” message, the name(s) of the selected roundtable(s) and a calendar invite.
  • Users who didn’t sign up for any roundtables, but signed up to attend the conference, are sent a “thank you” email with a calendar invite.

Pardot Setup

Field Creation

First, I needed to create a couple of new fields in Pardot:

  1. Roundtable Name 1: This field will contain the name of the roundtable the attendee selects for the first time slot.
  2. Roundtable Name 2: This field will contain the name of the roundtable the attendee selects for the second time slot.
  3. Registered For Conference: This field is a checkbox (true or false) which will indicate that the attendee has selected to attend the conference.

Form Handler Setup

I opted to use a form handler instead of a Pardot form, so I could easily customize my form.

Field Mappings

I added all the standard fields to the form handler (first name, last name, company name, job title, opt-in, and email address). I also added the 3 new custom fields (roundtable name 1, roundtable name 2, registered for conference) and marked them as not required since the attendee doesn’t have to go to all 3 events.

pardot-form-inspiration-field-mappings

Completion Actions

I added 2 completion actions, the first one is to sync the prospect to an SFDC campaign with the status of “registered”, the second completion action is to send me an email alert when someone registers. The email notification helped me easily determine which roundtables are most popular.

Thanks for registering email confirmation

I created 2 ‘thanks for registering emails’ and set them up to be sent via an automation rule.

  1. Conference Only: This email is sent out to everyone who didn’t select to participate in any of the roundtables.
  2. Roundtables: This email is sent out to everyone who registered for at least one roundtable session.

Conference Only Email

The conference only email was pretty simple. It contained a thank you message along with calendar invites.

The email was sent using an automation rule that checks if “conference only” is true and if both roundtable fields are empty.

pardot-automation-rule-conference-only

Roundtable Email

The roundtable email contains a thank you message as well as the name(s) of the roundtables the user has selected to attend. The names of the roundtables are dynamically added to the email using a variable tag.

roundtable-selection-pardot-inspiration

The email was sent using an automation rule that checks if the roundtable 1 field is not empty OR the roundtable 2 field is not empty.

pardot-completion-action-send-roundtable-email

Building the Landing Page

Building the landing page was the difficult part. I didn’t want to include the roundtable names in a drop down menu in a form, so I came up with the idea to make the registration process like a shopping cart.

VIEW DEMO

The HTML

I used Bootstrap as my framework for the landing page and used Bootstrap Panels for a clean way to display the roundtable names and descriptions.

<div class="panel panel-default">
    <div class="panel-heading">
      <h3 class="panel-title"><span class="rountable-name">Session 1</span></h3>
    </div>
    <div class="panel-body">
      <div class="row">
        <div class="col-md-9">
          Pellentesque tempus aliquet nisi in sollicitudin. Aliquam tempor ligula vel mattis cursus. Cras lacus est, facilisis feugiat rhoncus ac, condimentum a ex. Aliquam elementum, nisi non dapibus dapibus, neque mi mattis libero, nec mattis tortor elit ut sapien. Donec nisi nulla, feugiat non dignissim aliquet, efficitur eget lorem. Proin id pellentesque ante.
        </div>
        <div class="col-md-3 btn-row">
            <a href="#" class="btn btn-register btn-select">Select</a>
        </div>
      </div>
    </div>
  </div>

Since there were 2 time slots for the roundtables, I wrapped each of the sections in a DIV with a class of first-session and second-session.

<div class="sessions first-session">
  <div class="panel panel-default">
    <div class="panel-heading">
      <h3 class="panel-title"><span class="rountable-name">Session 1</span></h3>
    </div>
    <div class="panel-body">
      <div class="row">
        <div class="col-md-9">
          Pellentesque tempus aliquet nisi in sollicitudin. Aliquam tempor ligula vel mattis cursus. Cras lacus est, facilisis feugiat rhoncus ac, condimentum a ex. Aliquam elementum, nisi non dapibus dapibus, neque mi mattis libero, nec mattis tortor elit ut sapien. Donec nisi nulla, feugiat non dignissim aliquet, efficitur eget lorem. Proin id pellentesque ante.
        </div>
        <div class="col-md-3 btn-row">
            <a href="#" class="btn btn-register btn-select">Select</a>
        </div>
      </div>
      
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h3 class="panel-title"><span class="rountable-name">Session 2</span></h3>
    </div>
    <div class="panel-body">
 	<div class="row">
        <div class="col-md-9">
     	Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lacinia, dolor scelerisque commodo sodales, augue lectus luctus turpis, id pharetra mauris libero at urna. Vestibulum in magna aliquam, interdum diam eu, pretium odio. Curabitur a porta metus, eget porttitor nibh. Maecenas porta condimentum lacus, in bibendum augue euismod sit amet.
        </div>
        <div class="col-md-3 btn-row">
            <a href="#" class="btn btn-register btn-select">Select</a>
        </div>
      </div>
   	
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h3 class="panel-title"><span class="rountable-name">Session 3</span></h3>
    </div>
    <div class="panel-body">
 	<div class="row">
        <div class="col-md-9">
          Phasellus nec neque scelerisque, semper odio a, fringilla leo. Sed cursus lectus non purus cursus tempus. Cras eu blandit lectus. Proin sodales justo et felis consectetur, sed ultrices nibh imperdiet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquam congue feugiat. Nam elit orci, congue et maximus sed, commodo quis arcu. Suspendisse iaculis eros viverra consectetur pretium.
        </div>
        <div class="col-md-3 btn-row">
            <a href="#" class="btn btn-register btn-select">Select</a>
        </div>
      </div>
   	
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h3 class="panel-title"><span class="rountable-name">Session 4</span></h3>
    </div>
    <div class="panel-body">
      <div class="row">
        <div class="col-md-9">
          Cras sapien leo, sodales vitae congue quis, semper ac ligula. Integer molestie fermentum suscipit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla odio ligula, aliquam eget leo eget, sollicitudin fringilla ante.
        </div>
        <div class="col-md-3 btn-row">
            <a href="#" class="btn btn-register btn-select">Select</a>
        </div>
      </div>   	
    </div>
  </div>
</div>

Sticking with the ‘add to shopping cart’ feel, I wanted to add a “your agenda” section to the bottom left corner of the page that populates based on the sessions you select. This can be done using my slide out lead generation form with a couple modifications.

<div class="slideout-form">
  <div class="slideoutform-header">
    <h3>Your Agenda</h3>
    <div class="close">X</div>
  </div>
  <div class="slideout-content">
      <div class="session-name-1"></div>
      <div class="session-name-2"></div>
      <div class="text-center">
      <a href="#registration" class="btn btn-white">Register</a>
      </div>
  </div>
</div>

Finally, I added the form to the bottom of the page, which uses a Pardot form handler and hidden fields for roundtable name and conference registration.

<div class="panel panel-default">
  <form action="" method="post" id="regForm">
    <div class="row">
        <div class="col-sm-6">
            <label>First Name <span class="required">*</span></label>
            <input class="form-control" name="firstname" required/>
        </div>
        <div class="col-sm-6">
            <label>Last Name <span class="required">*</span></label>
            <input class="form-control" name="lastname" required/>
        </div>
    </div>
    <div class="row">
        <div class="col-sm-6">
            <label>Email Address <span class="required">*</span></label>
            <input class="form-control" name="email" required/>
        </div>
        <div class="col-sm-6">
            <label>Company <span class="required">*</span></label>
            <input class="form-control" name="company" required/>
        </div>
    </div>
    <div class="row">
        <div class="col-sm-6">
            <label>Job Title <span class="required">*</span></label>
            <input class="form-control" name="jobtitle" required/>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12 optin-container">
            <input type="checkbox" name="optin" /> Opt-in to receive communications from Sample Company including exclusive event invites, product and company updates and more
        </div>
    </div>
    <input type="hidden" name="roundtable1" />
    <input type="hidden" name="roundtable2" />
    <input type="hidden" name="eventreg" />
  <div class="footer-reg text-center">
    <input type="submit" class="btn btn-register btn-large" value="Register" />
  </div>
  <div class="required required-msg">
 
  </div>
  </form>
</div>

JavaScript

I used jQuery to add some logic to my page. There was a fair bit of logic to consider for the roundtable registration, including:

  • Changing the button style when a session is selected.
  • Hiding the rest of the ‘register’ buttons within that time slot, so the attendee can only select one session.
  • Displaying the name of the selected roundtable in the agenda section.
  • Populating the hidden fields with the name of the selected roundtable.
 // Show the Agenda
  $('.btn-select, .btn-conference').click(function(event) {
    $('.slideout-form').slideDown();
  })
  // Session Selection Session 1
  $('.first-session .btn-select').click(function(event) {
      event.preventDefault();
      $(this).addClass('session-selected');
      $(this).removeClass('btn-select');
      $(this).text('selected');
      $('.first-session .btn-select').hide();
      var selectedsession1 = $(this).closest('.panel').find('.rountable-name').text();
      $('.session-name-1').html('<div class="agenda-item"><h5>9:00am - 11:00am</h5><div class="agenda-content">' + selectedsession1 + '</div></div>');
      $('input[name=session1]').val(selectedsession1);
  });
 
  // Session Selection Session 2
  $('.second-session .btn-select').click(function(event) {
      event.preventDefault();
      $(this).addClass('session-selected');
      $(this).removeClass('btn-select');
      $(this).text('selected');
      $('.second-session .btn-select').hide();
      var selectedsession2 = $(this).closest('.panel').find('.rountable-name').text();
      $('.session-name-2').html('<div class="agenda-item"><h5>11:00am - NOON</h5><div class="agenda-content">' + selectedsession2 + '</div></div>');
      $('input[name=session2]').val(selectedsession2);
  });

The entire HTML code

I created a new landing page in Account Engagement to host the registration page. All the CSS, JavaScript and Bootstrap files were also uploaded in Account Engagement to keep everything in one place.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<meta content="IE=edge" http-equiv="X-UA-Compatible"><meta content="width=device-width, initial-scale=1" name="viewport">
<link rel="shortcut icon" href="https://jennamolby.com/wp-content/uploads/2015/10/favicon.ico" />
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Pardot Event Registration Inspiration</title>
<!-- Bootstrap -->
<link href="bootstrap.min.css" rel="stylesheet">
<link href="pardot-registration-inspiration-styles.css" rel="stylesheet">
 
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --><!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    </head>
    <body>
      <div class="header">
        <div class="container">
          <div class="row">
            <div class="col-sm-12 text-center">
                  Example Pardot Registration Page
            </div>
          </div>
        </div>
      </div>
        <div class="container">
          <div class="row">
            <div class="col-md-9 centered-columns">
              <h2> 9:00am - 10:00am</h2>
              <div class="sessions first-session">
                  <div class="panel panel-default">
                    <div class="panel-heading">
                      <h3 class="panel-title"><span class="rountable-name">Session 1</span></h3>
                    </div>
                    <div class="panel-body">
                      <div class="row">
                        <div class="col-md-9">
                          Pellentesque tempus aliquet nisi in sollicitudin. Aliquam tempor ligula vel mattis cursus. Cras lacus est, facilisis feugiat rhoncus ac, condimentum a ex. Aliquam elementum, nisi non dapibus dapibus, neque mi mattis libero, nec mattis tortor elit ut sapien. Donec nisi nulla, feugiat non dignissim aliquet, efficitur eget lorem. Proin id pellentesque ante.
                        </div>
                        <div class="col-md-3 btn-row">
                            <a href="#" class="btn btn-register btn-select">Select</a>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="panel panel-default">
                    <div class="panel-heading">
                      <h3 class="panel-title"><span class="rountable-name">Session 2</span></h3>
                    </div>
                    <div class="panel-body">
                 	<div class="row">
                        <div class="col-md-9">
                     	Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas lacinia, dolor scelerisque commodo sodales, augue lectus luctus turpis, id pharetra mauris libero at urna. Vestibulum in magna aliquam, interdum diam eu, pretium odio. Curabitur a porta metus, eget porttitor nibh. Maecenas porta condimentum lacus, in bibendum augue euismod sit amet.
                        </div>
                        <div class="col-md-3 btn-row">
                            <a href="#" class="btn btn-register btn-select">Select</a>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="panel panel-default">
                    <div class="panel-heading">
                      <h3 class="panel-title"><span class="rountable-name">Session 3</span></h3>
                    </div>
                    <div class="panel-body">
                 	<div class="row">
                        <div class="col-md-9">
                          Phasellus nec neque scelerisque, semper odio a, fringilla leo. Sed cursus lectus non purus cursus tempus. Cras eu blandit lectus. Proin sodales justo et felis consectetur, sed ultrices nibh imperdiet. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed aliquam congue feugiat. Nam elit orci, congue et maximus sed, commodo quis arcu. Suspendisse iaculis eros viverra consectetur pretium.
                        </div>
                        <div class="col-md-3 btn-row">
                            <a href="#" class="btn btn-register btn-select">Select</a>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="panel panel-default">
                    <div class="panel-heading">
                      <h3 class="panel-title"><span class="rountable-name">Session 4</span></h3>
                    </div>
                    <div class="panel-body">
                      <div class="row">
                        <div class="col-md-9">
                          Cras sapien leo, sodales vitae congue quis, semper ac ligula. Integer molestie fermentum suscipit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla odio ligula, aliquam eget leo eget, sollicitudin fringilla ante.
                        </div>
                        <div class="col-md-3 btn-row">
                            <a href="#" class="btn btn-register btn-select">Select</a>
                        </div>
                      </div>   	
                    </div>
                  </div>
                </div>
                <h2>11:00am - Noon</h2>
                <div class="sessions second-session">
                  <div class="panel panel-default">
                    <div class="panel-heading">
                      <h3 class="panel-title"><span class="rountable-name">Session 5</span></h3>
                    </div>
                    <div class="panel-body">
                      <div class="row">
                        <div class="col-md-9">
                          Donec aliquet arcu at risus consequat mollis. Morbi suscipit ipsum commodo posuere faucibus. Mauris dui lacus, accumsan sed sollicitudin eget, placerat a velit.
                        </div>
                        <div class="col-md-3 btn-row">
                            <a href="#" class="btn btn-register btn-select">Select</a>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="panel panel-default">
                    <div class="panel-heading">
                      <h3 class="panel-title">Session 6</h3>
                    </div>
                    <div class="panel-body">
                      <div class="row">
                        <div class="col-md-9">
                          Nam congue quam non elementum placerat. Vivamus egestas, ante sed imperdiet fermentum, tortor libero fermentum magna, nec bibendum mauris lacus vitae ante. Donec eu leo volutpat, consectetur libero eu, porttitor dui. Mauris nec ornare ligula. Morbi et massa viverra, malesuada velit id, faucibus metus. Duis consequat tincidunt blandit.
                        </div>
                        <div class="col-md-3 btn-row">
                            <a href="#" class="btn btn-register btn-select">Select</a>
                        </div>
                      </div>
                    </div>
                  </div>
                  <div class="panel panel-default">
                    <div class="panel-heading">
                      <h3 class="panel-title"><span class="rountable-name">Session 7</span></h3>
                    </div>
                    <div class="panel-body">
                      <div class="row">
                        <div class="col-md-9">
                          Sed turpis nisl, efficitur pharetra hendrerit ac, gravida id mi. Duis elementum velit nec risus aliquet congue et non dolor.
                        </div>
                        <div class="col-md-3 btn-row">
                            <a href="#" class="btn btn-register btn-select">Select</a>
                        </div>
                      </div>
                   	
                    </div>
                  </div>
              </div>
          <div class="slideout-form">
          <div class="slideoutform-header">
            <h3>Your Agenda</h3>
            <div class="close">X</div>
          </div>
          <div class="slideout-content">
              <div class="session-name-1"></div>
              <div class="session-name-2"></div>
              <div class="text-center">
              <a href="#registration" class="btn btn-white">Register</a>
              </div>
          </div>
        </div>
         	<h2 style="background-color:#49c5c8;">Register</h2>
            <div class="sessions conf" id="registration">
                  <div class="panel panel-default">
                    <form action="" method="post" id="regForm">
                      <div class="row">
                          <div class="col-sm-6">
                              <label>First Name <span class="required">*</span></label>
                              <input class="form-control" name="firstname" required/>
                          </div>
                          <div class="col-sm-6">
                              <label>Last Name <span class="required">*</span></label>
                              <input class="form-control" name="lastname" required/>
                          </div>
                      </div>
                      <div class="row">
                          <div class="col-sm-6">
                              <label>Email Address <span class="required">*</span></label>
                              <input class="form-control" name="email" required/>
                          </div>
                          <div class="col-sm-6">
                              <label>Company <span class="required">*</span></label>
                              <input class="form-control" name="company" required/>
                          </div>
                      </div>
                      <div class="row">
                          <div class="col-sm-6">
                              <label>Job Title <span class="required">*</span></label>
                              <input class="form-control" name="jobtitle" required/>
                          </div>
                      </div>
                      <div class="row">
                          <div class="col-md-12 optin-container">
                              <input type="checkbox" name="optin" /> Opt-in to receive communications from Sample Company including exclusive event invites, product and company updates and more
                          </div>
                      </div>
                      <input type="hidden" name="session1" />
                      <input type="hidden" name="session2" />
                      <input type="hidden" name="tractionforcereg" />
                    <div class="footer-reg text-center">
                      <input type="submit" class="btn btn-register btn-large" value="Register" />
                    </div>
                    <div class="required required-msg">
                    </div>
                    </form>
                  </div>
              </div>
            </div>
            </div>
          </div>
        </div>
   	
      <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
      <script src="pardot-registration-inspiration.js" type="text/javascript"></script>
    </body>
</html>

The Entire JavaScript

$(document).ready(function(){
 
  // Show the Agenda
  $('.btn-select, .btn-conference').click(function(event) {
    $('.slideout-form').slideDown();
  })
 
  // Session Selection Session 1
  $('.first-session .btn-select').click(function(event) {
      event.preventDefault();
      $(this).addClass('session-selected');
      $(this).removeClass('btn-select');
      $(this).text('selected');
      $('.first-session .btn-select').hide();
      var selectedsession1 = $(this).closest('.panel').find('.rountable-name').text();
      $('.session-name-1').html('<div class="agenda-item"><h5>9:00am - 11:00am</h5><div class="agenda-content">' + selectedsession1 + '</div></div>');
      $('input[name=roundtable1]').val(selectedsession1);
      console.log(selectedsession1);
  });
 
  // Session Selection Session 2
  $('.second-session .btn-select').click(function(event) {
      event.preventDefault();
      $(this).addClass('session-selected');
      $(this).removeClass('btn-select');
      $(this).text('selected');
      $('.second-session .btn-select').hide();
      var selectedsession2 = $(this).closest('.panel').find('.rountable-name').text();
      $('.session-name-2').html('<div class="agenda-item"><h5>11:00am - NOON</h5><div class="agenda-content">' + selectedsession2 + '</div></div>');
      $('input[name=roundtable2]').val(selectedsession2);
      console.log(selectedsession2);
  });
  // Conference Selection
  $('.btn-conference').click(function(event) {
   	event.preventDefault();
      $(this).addClass('roundtable-selected');
      $(this).text('selected');
    var selectedSession3 = $(this).closest('.panel').find('.rountable-name').text();
 	$('.roundtable-name-3').html('<div class="agenda-item"><h5>NOON - 8:00pm</h5><div class="agenda-content">' + selectedSession3 + '</div></div>');
    $('input[name=eventreg]').val('true');
  });
  // Close button for the Agenda
  $('.close').click(function(event) {
      event.preventDefault();
      $('.slideout-form').slideUp();
  });
  // Smooth scroll for the register button
   $(function() {
    $('a[href*="#"]:not([href="#"])').click(function() {
      if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
        var target = $(this.hash);
        target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
        if (target.length) {
          $('html, body').animate({
            scrollTop: target.offset().top
          }, 1000);
          return false;
        }
      }
    });
  });
});

VIEW DEMO

Note: This post was originally published in April 2016 and updated in January 2023.

Original article: Inspiration: Using Pardot for Event Registration

©2025 The Spot. All Rights Reserved.

The post Inspiration: Using Pardot for Event Registration appeared first on The Spot.

]]>
https://thespotforpardot.com/2023/01/02/inspiration-using-pardot-for-event-registration/feed/ 0 6380
Creating a Marketing Dashboard in Salesforce: Tips, Tricks and Examples https://thespotforpardot.com/2022/04/07/creating-a-marketing-dashboard-in-salesforce-tips-tricks-and-examples/ https://thespotforpardot.com/2022/04/07/creating-a-marketing-dashboard-in-salesforce-tips-tricks-and-examples/#respond Thu, 07 Apr 2022 22:10:00 +0000 https://thespotforpardot.com/?p=6290

Creating a Salesforce marketing dashboard is an effective way to see how you are doing against your marketing targets. What channels are most effective for generating pipeline? How many leads did we generate this month compared to last month? In this post, I’ll share some example marketing dashboard components and some tips and tricks for […]

The post Creating a Marketing Dashboard in Salesforce: Tips, Tricks and Examples appeared first on The Spot.

]]>

Creating a Salesforce marketing dashboard is an effective way to see how you are doing against your marketing targets. What channels are most effective for generating pipeline? How many leads did we generate this month compared to last month? In this post, I’ll share some example marketing dashboard components and some tips and tricks for creating dashboards in Salesforce.

Hot Tip: Check out this blog post to learn more about choosing a Salesforce marketing reporting tool.

Salesforce Marketing Dashboard Tips & tricks

Create a reports folder for your dashboard reports

Anyone accessing your dashboard also needs access to the underlying reports. Creating a separate folder for your reports allows you to easily control who has access to them. And (bonus!) it’s easier to find your reports when you are creating your dashboard.

Choose your dashboard running user wisely

Each dashboard has a running user, whose security settings determine which data to display in a dashboard. If the running user is a specific user, all dashboard viewers see data based on the security settings of that user—regardless of their own personal security settings. For this reason, you’ll want to choose the running user wisely, so as not to open up too much visibility.

Add a chart directly to your report

Adding a chart directly within your report can speed up your dashboard setup time, especially if you are going to use the same report on multiple dashboards. It is also helpful if you are going to share the report directly instead of the dashboard.

Change your dashboard palette

Give your dashboard a fresh new look by changing the dashboard palette. There are 14 themes available in both light and dark mode.

Resuse reports within your dashboard

The same report can be used many times within your dashboard. This is a great way to visualize the same data in different ways without creating multiple reports.

Example Dashboard Components

Let’s dive into some examples of what type of reports you might want to add to your dashboard. In these examples, I’m specifically looking at the pipeline and revenue marketing has generated. To pull these reports, I have the primary campaign source field populated on the opportunity and I use the campaigns with influenced opportunties report type. Your setup might be differ depending on how you associate marketing campaigns with opportunities.

Marketing vs Target

What this reports answers: How are we tracking against our pipeline target?

Report setup

  • Report type: Campaigns with Influenced Opportunties
  • Filters: Show me all opportunities CREATED this fiscal quarter
  • Grouped by: Create date

Dashboard component setup

  • Chart type: Gauge

Closed won revenue

What this reports answers: How much marketing generated pipeline has been closed-won?

Report setup

  • Report type: Campaigns with Influenced Opportunties
  • Filters: Show me all opportunities CLOSED this fiscal quarter
  • Grouped by: Close date

Dashboard component setup

  • Chart type: Gauge

Leads created by source

What this reports answers: What are our top lead sources this quarter by month?

Report setup

  • Report type: Leads
  • Filters: Show me all leads created in the last fiscal quarter
  • Grouped by: Create date and lead source

Dashboard component setup

  • Chart type: Stacked vertical bar chart
  • X-axis: Create date
  • Y-axis: Record count

Contacts created by source

What this reports answers: What are our top contact sources this quarter by month?

Report setup

  • Report type: Contacts and Accounts
  • Filters: Show me all accounts created in the last fiscal quarter
  • Grouped by: Create date and lead source

Dashboard component setup

  • Chart type: Stacked vertical bar chart
  • X-axis: Create date
  • Y-axis: Record count

Pipeline by source

What this reports answers: What are the top marketing channels for generating pipeline?

Report setup

  • Report type: Campaigns with influenced opportunities
  • Filters: show me all campaigns where created date (opportunity) is this fiscal quarter
  • Grouped by: Campaign type
  • Columns: Opportunity amount summarized by sum and average

Dashboard component setup

Table component
  • Chart type: Lightning table
  • Grouped by: Campaign type
  • Measure: Opportunity amount (summarize by sum and average amount)
Donut component
  • Chart type: Donut

Marketing qualified leads (MQLs)

If you want to learn how to display MQL reports within your dashboard, check out this blog post.

Questions?

Send me a tweet @jennamolby, or contact the Sercante team for help.

Original article: Creating a Marketing Dashboard in Salesforce: Tips, Tricks and Examples

©2025 The Spot. All Rights Reserved.

The post Creating a Marketing Dashboard in Salesforce: Tips, Tricks and Examples appeared first on The Spot.

]]>
https://thespotforpardot.com/2022/04/07/creating-a-marketing-dashboard-in-salesforce-tips-tricks-and-examples/feed/ 0 6290
6 Ways to Manage Lead Assignment in Pardot https://thespotforpardot.com/2022/01/13/6-ways-to-manage-lead-assignment-in-pardot/ https://thespotforpardot.com/2022/01/13/6-ways-to-manage-lead-assignment-in-pardot/#respond Thu, 13 Jan 2022 17:34:00 +0000 https://thespotforpardot.com/?p=6383 relaxing

Pardot lead assignment routing can trip up even the most experienced sales and marketing teams.  There are so many different ways to assign your prospects within Marketing Cloud Account Engagement (Pardot). Whether you want to manually assign prospects or utilize automation rules or completion actions to assign prospects based on their activity or information, the […]

The post 6 Ways to Manage Lead Assignment in Pardot appeared first on The Spot.

]]>
relaxing

Pardot lead assignment routing can trip up even the most experienced sales and marketing teams. 

There are so many different ways to assign your prospects within Marketing Cloud Account Engagement (Pardot). Whether you want to manually assign prospects or utilize automation rules or completion actions to assign prospects based on their activity or information, the options can seem overwhelming.  

In this post, I’ll dive into 6 different ways to manage lead assignment in Pardot and how to determine what the best option is for you. After all, cultivating interest, inspiring action, and responding to people who raise their hands is why we’re here, right?

Six Pardot Lead Routing Methods

Choosing the right lead management strategy and tools to automate the process is challenging, but it’s super important. Read on to understand what you should know to make the right choice for your organization.

 There are multiple ways to assign new leads in Pardot ranging from manual assignments to complex and automated assignments based on lead criteria or activity. 

  1. Assign to User
  2. Assign Prospect Via Salesforce Active Assignment Rule
  3. Assign to Group
  4. Assign to Queue in Salesforce
  5. Assignment via Prospect list actions
  6. Assign via advanced lead assignment rules in Salesforce

1. Assign to User

Assigns a prospect to the specified user when the requirements of the rule are fulfilled.

How to use it

Completion Action:

Assign to user can be set up as a completion action for your forms, form handlers, files, custom redirects, emails and page actions, by selecting “Assign to user” and selecting the user’s name from the dropdown

Automation Rule:

Assign prospect to user can be set up as an action within an Automation Rule. This is a great way to assign leads if you have criteria the lead needs to meet before assigning the prospect to Sales. 

For example, if you want to only assign leads to sales that meet a certain scoring threshold, use an automation rule.

Engagement Studio Program:

Assign to user can also be set up as an action with an Engagement Studio Program, by selecting add element > action > assign to user.

Why this is a good methodThings to consider
Great if you don’t have many usersCan be used without the Salesforce integrationAssignment actions don’t reassign prospects who have an ownerDifficult to manage if you have many usersDifficult to figure out where the “assign to user” action is being used within your Pardot assets

 

2. Assign Prospect via Salesforce Active Assignment Rule

Pushes a prospect to your Salesforce active assignment rule when the rule’s criteria are met (see more information on this process below). The prospect syncs to Salesforce without an owner. 

The assigned user is synced to Pardot when the active assignment rule determines who to assign it to.

To get started, review this Pardot help article: Assigning Prospects

How to use it

First, you will need an active lead assignment rule setup in Salesforce. This should include all the criteria for your lead assignment as well as a default user to assign the lead to if the lead does not meet any of the criteria.

Completion Action:

Assign via active Salesforce assignment rules can be set up as a completion action for your forms, form handlers, files, custom redirects, emails and page actions, by selecting “Assign prospect via Salesforce active assignment rule”.

Automation Rule:

Assign prospect via the Salesforce active assignment rule can be set up as an action within an Automation Rule.

Engagement Studio Program

Assign prospect via Salesforce active assignment rule can also be set up as an action with an Engagement Program, by selecting add element > action > assign prospect via Salesforce active assignment rule.

Why this is a good methodThings to consider
All lead assignment is set up in one placeNo need to update completion actions or automation rules in Pardot if you have an assignment update actionAssignment can be based off complex criteria and based on any lead field within SalesforceGreat if you have many Sales reps who should receive leadsYou must have the Salesforce integration set upAny users assigned to a lead in Salesforce need to have a corresponding Pardot user to track ownership correctly in PardotRequires the “View Setup and Configuration” permission in Salesforce in order to make assignment updates

 

3. Assign to Group

Assigns a prospect to a user in a specific group (round robin lead assignment) when the requirements of the rule are met.

How to use it

First, create a group in Pardot (Admin > User Management > Groups > Add User Group).

Navigate to the user you should belong to the group (Admin > User Management > Users) and click Edit Groups. Select the group to add the user.

Completion Action:

Assign to user can be set up as a completion action for your forms, form handlers, files, custom redirects, emails and page actions, by selecting “Assign to group” and selecting the user’s name from the dropdown

Automation Rule:

Assign prospect to user in group can be set up as an action within an Automation Rule.

Engagement Studio Program:

Assign to group can also be set up as an action with an Engagement Program, by selecting add element > action > assign prospect to group.

Why this is a good methodThings to consider
Allows for round-robin lead assignmentCan be used without the Salesforce integrationGreat if you don’t have many users to assign prospects toDifficult to manage if you have many usersDifficult to figure out where the “assign to user” action is being used within your Pardot assetsProspects must be assigned via round-robin, unless you create groups with only one user

4. Assign to Queue in Salesforce

Assigns a prospect to the Sales Cloud lead queue when the rule’s criteria are met. Prospects assigned to a queue are considered assigned to an owner and aren’t reassigned. You can assign only leads to Sales Cloud lead queues.

How to use it

First, you must have a lead queue set up in Salesforce.

Automation Rule:

Assign to queue can be set up as an action within an Automation Rule.

Engagement Studio Program:

Assign to a queue can also be set up as an action with an Engagement Program, by selecting add element > action > assign to Salesforce queue.

Why this is a good methodThings to consider
Queue members can jump in to take ownership of any record in a queueEasy to prioritize, distribute, and assign records to teams who share workloadsThis action can not be used if your connector is set up for Pardot to syncs to contacts instead of leadsYou can assign only leads to Salesforce lead queuesDoes not assign prospects to specific owners

5. Assignment via Prospect list actions

Prospects can be assigned to a User or Group via prospect list actions.

How to use it

Navigate to the prospect table, select the prospects you want to assign and select one of the options from the drop down menu.

Why this is a good methodThings to consider
Good for one-off lead assignmentWill re-assign prospects who are already assignedNot automated, has to be updated manually

6. Assign via advanced lead assignment rules in Salesforce

If you have more complex business rules, assigning leads via an app on the Salesforce AppExchange might be a good option. Most apps offer a visual way to view lead assignment rules and some advanced functionality, including auto-merging duplicate leads and lead to account matching. 

Traction Complete is a good option we’ve used before.

Why this is a good methodThings to consider
Great if you have many users and complex assignment rulesVisual view of lead assignment rulesAbility to assign leads via round robinCan automatically match leads to accountsCan filter records by advanced criteria (using fields from the leads or matched account)Automatically can convert leads from a matched account into a contactAuto-merge duplicate leadsMost apps on the AppExchange come at an additional costIt is another application to manageNot ideal if you have a small sales team or straightforward assignment rules.

Lead routing in Salesforce

Here are some additional ways Sales Cloud handles lead routing.


Lead assignment rules

In Sales Cloud, you can set up lead assignment rules to automate the assignment of new leads to your sales team or queues based on the specified rule criteria. 

The rules will execute and evaluate in the numbered order as leads enter Sales Cloud. Each lead assignment rule consists of multiple rule entries that specify exactly how the leads or cases are assigned. When a lead matches the rule, it will be assigned to the correct person or queue. Only one lead assignment rule can be active at a time.

To get started, review this Salesforce help article: Set Up Assignment Rules

Round-robin lead assignment

The round-robin lead assignment rule in Sales Cloud helps you automate the assignment of new leads in an even way to your sales team or queues.

Here’s how the repeating round robin assignment looks if your sales team for lead assignment has 3 members:

  • Lead 1 is assigned to sales person 1
  • Lead 2 is assigned to sales person 2
  • Lead 3 is assigned to sales person 3
  • Lead 4 is assigned to sales person 1
  • Lead 5 is assigned to sales person 2
  • Lead 6 is assigned to sales person 3

To get started, review this Salesforce help article: Create a Round-Robin Lead Assignment Rule

Still not sure what lead assignment method is best? Run through this flow chart to see what the recommended option is for you.

Additional Resources

Complex lead routing with third-party tools

Third-party tools enable you to create complex lead routing rules that go beyond out-of-the-box Salesforce and Pardot lead routing features. Different tools serve specific purposes that may be the right fit depending on what you’re trying to accomplish.

Here are the most common ones.

LeanData

LeanData is a native Salesforce lead matching and routing platform that is easy to use and customize with their visual drag-and-drop interface functionality and complex rule building.

Hot Tip: You can read our full guide to implementing LeanData in this blog post.

RingLead

RingLead is a native Salesforce lead routing, data normalization, enrichment, and duplicate managing platform.

Validity

DemandTools from Validity is a data management platform to help with importing, assigning, standardizing, manipulating, and the deduplication of your Salesforce data quickly.

Feel the Relief of Knowing Your Leads Are In Good Hands

Think you’re a Pardot lead routing pro now? Still have no idea where to start? Either way, tell us about it in the comments! And reach out to Sercante when you need Pardot consultant expertise for extra help and customization.

Original article: 6 Ways to Manage Lead Assignment in Pardot

©2025 The Spot. All Rights Reserved.

The post 6 Ways to Manage Lead Assignment in Pardot appeared first on The Spot.

]]>
https://thespotforpardot.com/2022/01/13/6-ways-to-manage-lead-assignment-in-pardot/feed/ 0 6383
5 Salesforce Campaign Tricks You Should Know About https://thespotforpardot.com/2021/11/26/5-salesforce-campaign-tricks-you-should-know-about/ https://thespotforpardot.com/2021/11/26/5-salesforce-campaign-tricks-you-should-know-about/#respond Fri, 26 Nov 2021 11:38:00 +0000 https://thespotforpardot.com/?p=6180

If you’re new to using Salesforce campaigns, then this blog post is the perfect starting point. Use these 5 tips to make your life easier as you dip your toe into using Salesforce campaigns. Even seasoned Salesforce pros may find a gem they haven’t seen before. Tip #1: View the unique count of records in […]

The post 5 Salesforce Campaign Tricks You Should Know About appeared first on The Spot.

]]>

If you’re new to using Salesforce campaigns, then this blog post is the perfect starting point. Use these 5 tips to make your life easier as you dip your toe into using Salesforce campaigns.

Even seasoned Salesforce pros may find a gem they haven’t seen before.

Tip #1: View the unique count of records in a report

Want to know how many accounts or companies attended an event, webinar or interacted with a marketing campaign? The “show unique count” option within Salesforce reports can be enabled to view this information.

How it works

While editing a report in the report builder, find the column for which you want to count unique values.

  1. Click Show More | Show Unique Count.
  2. Click Save.

A count of unique values appears as a grand total for the whole report and as a subtotal for each group.

Show Unique Count

Each report support up to 3 unique counts.

Example: Campaigns with contacts report

This example shows the unique count of the accounts touched by a specific marketing campaign.

The report is using the “campaigns with contacts” report type and has a filter for campaign name equals (the virtual event campaign).

Example: Campaigns with contacts report

The unique count for account can be pulled by selecting the show unique count option for the account column.

show unique count option for the account column

Running the report allows you to see the total number of records (the number of contacts) and the unique account count (the number of accounts that were touched by the campaign).

total number of records and the unique account count

Tip #2: Add custom fields to campaign members

The campaign member object in Salesforce represents the association between a campaign and a lead or a contact. While some standard lead and contact fields are available for the campaign member object, if you want to view or pull a report for custom fields, you will need to create a new field.

How it works

Create a formula field on the campaign member object that will check if the campaign member is a Lead or a Contact and populate the field with the custom field value.

Navigate to the campaign member object within the object manager and create a new formula field.

create a new formula field
create a new formula field

If your lead and contact fields are picklists, use this syntax for the formula.

IF(ISBLANK(ContactId), TEXT(Lead.Status), TEXT(Contact.Status__c))

If your lead and contact fields are not picklists, use this syntax for the formula.

IF(ISBLANK(ContactId), Lead.Status, Contact.Status__c)

create a new formula field

Add the field to campaign member related list

You can add the new custom field to the campaign member related list by navigating to the campaign object in the campaign manager and selecting your page layout. Scroll to the campaign member related list and click on the wrench icon to select your fields.

Add the field to campaign member related list

Now the custom field displays in the related list for campaign members.

Now the custom field displays in the related list for campaign members

Tip #3: Create a campaigns calendar (without installing an app)

Did you know you can create a calendar based on any custom object in Salesforce – without using an app? Yes, this applies to the campaigns object as well. While there are a couple of limitations to using this feature, it’s a great way to get a view of all your campaigns in a campaign view without purchasing an app from the Salesforce App Exchange.

How it works

Search for “Calendar” in the App Launcher to find the calendar app.

Search for “Calendar” in the App Launcher

Under My Calendars, click on the gear icon to create a new calendar.

Create new calendar

Select the Campaign object from the drop-down and click next.

Give your calendar a name and select the start date (required) and the end date (optional). You can use the standard Salesforce campaign fields for the start date and end date, or you can select a custom field. For example, if you have a “go live” date field, you can use that as your start date instead.

Create new calendar - step 2

You also have the option to add a filter to your calendar. The filter has to be a list view using the campaign object. For example, if you want to have a separate campaign calendar for webinars only, this is what your list view would look like.

Filter campaigns by webinars only
add filter to calendar

Here’s what my calendar looks like:

finished calendar

Click on the gear icon next to your calendar name to change the colour of the campaigns displayed in the calendar.

change the color of campaigns displayed in the calendar

Hover over the campaign name within the calendar to view more information about the campaign.

view more information about the campaign
Limitations

There is one big limitation when it comes to using this feature… the calendar can not be made shareable without using the API. If you want to use this feature, each user will need to create their own calendar. With that being said, there is an idea open to allow sharing via the UI.

If you are looking for more robust calendar functionality, take a look at these apps on the Salesforce AppExchange.

Tip #4: How to automatically create campaign member status values

When a new campaign is created in Salesforce, there are two default member status values: “Sent” and “Responded”. For the majority of your campaigns, you will want to get more granular with your campaign member statuses than the default values. To do this, there are a couple of options:

Tip #5: Customize your campaign page

One of my favourite Lightning features is customizing the campaign page using the Lightning App Builder. The drag-and-drop App Builder allows you to add tabs, reports and instructions to your page.

How to customize your campaign page

To customize your campaign page, navigate to one of your Salesforce campaigns, click on the gear icon, and click on edit page. This will take you to the Lightning Page Builder.

Lightning Page Builder

Note: Editing the page will overwrite the existing page. You might want to create a new custom record page instead of overwriting an existing page.

Check out these 4 changes to make to your campaign page

Questions?

Send me a tweet @jennamolby, or contact the Sercante team for help.

Original article: 5 Salesforce Campaign Tricks You Should Know About

©2025 The Spot. All Rights Reserved.

The post 5 Salesforce Campaign Tricks You Should Know About appeared first on The Spot.

]]>
https://thespotforpardot.com/2021/11/26/5-salesforce-campaign-tricks-you-should-know-about/feed/ 0 6180
Creative Ways to Spice Up Your Pardot Forms: Part 3 https://thespotforpardot.com/2021/11/20/creative-ways-to-spice-up-your-pardot-forms-part-3/ https://thespotforpardot.com/2021/11/20/creative-ways-to-spice-up-your-pardot-forms-part-3/#respond Sat, 20 Nov 2021 14:50:00 +0000 https://thespotforpardot.com/?p=6392

The 3rd and final part of the form customization series is finally here! In part 1, I showed you how to implement the popular floating label technique and how to create searchable, user-friendly dropdowns. In part 2, I showed you how to create a conversational, paragraph-style form and how to create a form on a single line. […]

The post Creative Ways to Spice Up Your Pardot Forms: Part 3 appeared first on The Spot.

]]>

The 3rd and final part of the form customization series is finally here! In part 1, I showed you how to implement the popular floating label technique and how to create searchable, user-friendly dropdowns. In part 2, I showed you how to create a conversational, paragraph-style form and how to create a form on a single line. In this post, I will show you how to add images to your checkbox and radio buttons.

Checkboxes with images

The concept is to hide the default checkboxes and replace them with images. When one of the images is selected, the border and background color of the box will change to let the prospect know the option was selected.

Step 1: Add the images and text to your form

The first step is to add the text and images to the checkboxes within your form. To do this, go to the fields tab of your form and edit or add the checkboxes field. Click on the values tab and add the values. The text in the first box is the text that will be stored in Pardot. The second box is the display text aka the text the prospect will see when completing the form. This is where you would add the images for each option.

The value should look like this:

<img src="YOUR-IMAGE-URL" width="70" /> <span>Checkbox 1</span>

Add your image URL, set the image width (optional) and add your text (wrapped in a SPAN tag).

Here’s what my form looks like once I added the images to the checkboxes.

Now, let’s add some CSS to make it look better…

Step 2: Add the CSS

Add this CSS to style the checkboxes.

/* --- customize the checkboxes --- */
/* Put the checkbox text on one line */
#pardot-form .pd-checkbox label span  {
    display:block;
    float:none;
    padding-top:10px;
}
/* align the new checkboxes */
#pardot-form .pd-checkbox span.value {
  display:flex;
  width:100%;
  gap: 10px;
}
#pardot-form .pd-checkbox span.value span {
  flex-grow: 1;
  flex-basis: 0;
}
/* style the new checkboxes */
#pardot-form .pd-checkbox label.inline  {
    margin-top:5px;
    background-color:#FFF;
    display:flex;
    flex-direction:column;
    border:solid 1px #e8e8e8;
    padding:20px;
    text-align:center;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
    align-items:center;
    cursor:pointer;
}
/* hide the default checkbox */
#pardot-form .pd-checkbox input {
    display:none;
}
/* style the checkboxes when selected */
#pardot-form .pd-checkbox input:checked+label {
	background-color:#e8e8e8;
	border:solid 1px #539c18;
}

Note: I only have ONE checkbox in my form, but if you have MULTIPLE checkboxes in your form this will style all of them. To style only ONE checkbox, replace .pd-checkbox within the CSS to .YOURFIELDNAME

See it in action

Here’s what my example looks like in action.

Radio buttons with images

The concept is the same as the checkboxes example. We’re going to hide the default radio buttons and replace them with images. When one of the images is selected, the border and background color of the box will change to let the prospect know the option was selected.

Step 1: Add the images and text to your form

The first step is to add the text and images to the radio buttons within your form. To do this, go to the fields tab of your form and edit or add the radio field. Click on the values tab and add the values. The text in the first box is the text that will be stored in Pardot. The second box is the display text aka the text the prospect will see when completing the form. This is where you would add the images for each option. The value should look like this:

The value should look like this:

<img src="YOUR-IMAGE-URL" width="70" /> <span>Radio 1</span>

Add your image URL, set the image width (optional) and add your text (wrapped in a SPAN tag).

Here’s what my form looks like once I added the images to the radio buttons.

Step 2: Add the CSS

Add this CSS to style the radio buttons.

/* --- customize the radio buttons --- */
/* Put the radio button text on one line */
#pardot-form .pd-radio label span  {
    display:block;
    float:none;
    padding-top:10px;
}
/* align the new radio buttons */
#pardot-form .pd-radio span.value {
  display:flex;
  width:100%;
  gap: 10px;
}
#pardot-form .pd-radio span.value span {
  flex-grow: 1;
  flex-basis: 0;
}
/* style the new radio button */
#pardot-form .pd-radio label.inline  {
    margin-top:5px;
    background-color:#FFF;
    display:flex;
    flex-direction:column;
    border:solid 1px #e8e8e8;
    padding:20px;
    text-align:center;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
    align-items:center;
    cursor:pointer;
}
/* hide the default radio button */
#pardot-form .pd-radio input {
    display:none;
}
/* style the radio button when selected */
#pardot-form .pd-radio input:checked+label {
	background-color:#e8e8e8;
	border:solid 1px #539c18;
}

Note: I only have ONE radio field in my form, but if you have MULTIPLE radio fields in your form this will style all of them. To style only ONE radio field, replace .pd-radio within the CSS to .YOURFIELDNAME

See it in action

Here’s what my example looks like in action.

Questions?

Send me a tweet @jennamolby, or contact the Sercante team for help.

Original article: Creative Ways to Spice Up Your Pardot Forms: Part 3

©2025 The Spot. All Rights Reserved.

The post Creative Ways to Spice Up Your Pardot Forms: Part 3 appeared first on The Spot.

]]>
https://thespotforpardot.com/2021/11/20/creative-ways-to-spice-up-your-pardot-forms-part-3/feed/ 0 6392
How to Set Up Lead-to-Account Matching in Salesforce Using Flow https://thespotforpardot.com/2021/09/27/how-to-set-up-lead-to-account-matching-in-salesforce-using-flow/ https://thespotforpardot.com/2021/09/27/how-to-set-up-lead-to-account-matching-in-salesforce-using-flow/#respond Mon, 27 Sep 2021 11:58:00 +0000 https://thespotforpardot.com/?p=6181

Establishing a connection between leads and accounts can give you insight into what customers are coming in as leads and tighten sales and marketing alignment. Salesforce Flow can be used to automatically match leads to existing accounts based on different criteria. In this post, I’ll show you how to match leads to accounts based on […]

The post How to Set Up Lead-to-Account Matching in Salesforce Using Flow appeared first on The Spot.

]]>

Establishing a connection between leads and accounts can give you insight into what customers are coming in as leads and tighten sales and marketing alignment. Salesforce Flow can be used to automatically match leads to existing accounts based on different criteria. In this post, I’ll show you how to match leads to accounts based on domain a well as company/account name.

Note: This is a follow up post to ‘How to Set Up Lead-to-Account Matching in Salesforce Using Process Builder and Flow’.

There have been new features and capabilities added to Salesforce Flow since the original post was published on May 26, 2020. You can now achieve lead to account matching in Salesforce using Flow only.

The lead to account matching process

The goal is to populate a related list on the accounts with the matched leads.

populate a related list on the accounts with the matched leads

The matched account will also be shown as a lookup field on the lead.

The matched account will also be shown as a lookup field on the lead.

Here’s a high-level look at what needs to happen to setup lead to account matching:

  1. Lead is matched to an account based on email domain.
  2. If the lead email domain does not match an account email domain, the match will be based on lead company = account name.
  3. A Flow is used to identify the matched leads and update them accordingly.

Create lead fields

Create a new lookup field on the lead to the account called “Account”.

Create lead fields
Create lead fields

Create a new formula field on the lead called “domain”, using the following formula:

SUBSTITUTE(Email, LEFT(Email, FIND("@", Email)), NULL)

Create a new formula field
Create a new formula field

Create account field

Create a text field on the account called “domain”. This is the field we will use to match the account domain to the lead domain. You will need to populate the account with the domain. This tutorial will not cover how to populate the domain on the account level.

Create the flow

Navigate to Setup > Process Automation > Flows and select new flow. Select Record-Triggered Flow from the wizard.

Create new Record-Triggered Flow

Configure Start

Configure the start conditions to occur when a record is created or updated and optimize the flow for Actions and Related Records.

Set the trigger to run on the lead object if email is not empty or if company name is not empty.

Create variables

Create a variable called AccountId

Create new variables

Add a Get Records element to the flow

Drag and drop a Get Records element to the page. This element will look for a domain match based on the domain on the account and the domain on the lead.

Add a Get Records element to the flow
Add a Get Records element to the flow

Connect the start of the flow to the new element.

Connect the start of the flow to the new element.

Add a Decision element to the flow

Drag and drop a decision element on to the page. This will check to see if there is a domain match or not.

Drag and drop a decision element on to the page

The default outcome should just be left empty.

Save and connect the get records element to the decision element.

Save and connect the get records element to the decision element.

Add a Update Records element to the flow

Now add an update records element to the flow. This will update the matched Account lookup on the lead if there is a domain match.

Add a Update Records element to the flow

Add a Get Records element to the flow

Next, add another get records element to the flow to check to see if there is a company/account match.

add another get records element to the flow
add another get records element to the flow

Save and connect the element to the decision element (default outcome).

Save and connect the element to the decision element (default outcome)

Add an update records element to the flow

Lastly, add another update records element to the flow to update the account lookup on the lead if there is a company name -> account name match.

add another update records element to the flow to update the account lookup on the lead

Save and connect the last element to the flow. Your final flow should look something like this:

Save and connect the last element to the flow

Activate the flow

Save and activate your flow!

Test, test, test

Make sure you test! Here is what my testing process looks like:

  • Make sure all the new fields are added to the page layout (at least for now)
  • Find an account to use to test (ex. Burlington Textiles Corp of America)
  • Populate the domain field on the account (ex. burlington.com)
  • Create a new lead using that domain as part the email address (ex. jenna@burlington.com)
  • Ensure the domain field on the lead is populated with the correct domain from the email address you entered (ex. burlington.com)
  • Look at the lead to see if the account lookup is populated with the correct account
  • Look at the account to ensure the lead is populating in the related list
  • Create a new lead where the company name = the account name from your test account (ex. Burlington Textiles Corp of America). The email address for the lead should use a invalid domain name (ex. jenna@test123.com)
  • Look at the lead to see if the account lookup is populated with the correct account
  • Look at the account to ensure the lead is populating in the related list

If you have it set up so your process will run when a lead is created and updated, repeat the steps to test an updated lead. You will also want to test different lead scenarios based on the filters you specified in your process builder. For example, if you have a filter to exclude all @gmail.com email addresses, try updating or creating a lead with an @gmail.com email address to ensure the lead updates as expected.

Questions?

Send me a tweet @jennamolby, or contact the Sercante team for help.

Original article: How to Set Up Lead-to-Account Matching in Salesforce Using Flow

©2025 The Spot. All Rights Reserved.

The post How to Set Up Lead-to-Account Matching in Salesforce Using Flow appeared first on The Spot.

]]>
https://thespotforpardot.com/2021/09/27/how-to-set-up-lead-to-account-matching-in-salesforce-using-flow/feed/ 0 6181
How to Capture Every UTM Touchpoint in Salesforce https://thespotforpardot.com/2021/09/10/how-to-capture-every-utm-touchpoint-in-salesforce/ https://thespotforpardot.com/2021/09/10/how-to-capture-every-utm-touchpoint-in-salesforce/#respond Fri, 10 Sep 2021 12:44:00 +0000 https://thespotforpardot.com/?p=6058

This post was originally published on February 2, 2021. After this post was published, Salesforce released the ability to check if a field has been changed. Previously, the solution to capture every UTM touchpoint in Salesforce was to clear out the UTM field values after the flow ran. The new solution is to use the […]

The post How to Capture Every UTM Touchpoint in Salesforce appeared first on The Spot.

]]>

This post was originally published on February 2, 2021. After this post was published, Salesforce released the ability to check if a field has been changed. Previously, the solution to capture every UTM touchpoint in Salesforce was to clear out the UTM field values after the flow ran. The new solution is to use the is changed feature instead of clearing out field values.

Refreshed and republished on September 10, 2021

The Concept

If a lead or a contact’s fields for UTM Source, UTM Medium and UTM Campaign have a value, run a Salesforce Flow to create a record in a custom object. The process will run again whenever the UTM information is updated.

UTM touchpoints displayed on the lead layout

UTM touchpoints displayed on the lead layout

Record detail page for a UTM touchpoint

Record detail page for a UTM touchpoint

Report preview

Report preview

Dashboard preview

Dashboard preview

Planning

In order for this approach to work, there are 2 things you need to plan for:

  1. UTM fields for the Lead and Contact MUST be set up to be overwritten every time.
  2. What to do if there’s EXISTING UTM data in these fields to prevent data loss.

I recommend you review how your UTM fields are currently populated, what data currently exists in these fields and what reports/automations, etc rely on these fields. You should be able to answer these questions before getting started:

  1. How are the UTM fields populated?
  2. Do the UTM fields get overwritten?
  3. What are we going to do with existing data?

What to do if you have existing data

There are plenty of options on how to get this to work if you have existing data in your UTM fields. It all depends on your current setup. Here are some ideas:

  1. Create new fields named “First UTM Source”, “First UTM Medium”, etc. Rename your CURRENT UTM field labels (not API names) as “Last UTM Source, “Last UTM Medium”, etc. Populate the “First UTM” fields with your current data and use the “Last UTM” fields in your Flow.
  2. Once the UTM custom object is set up, use DataLoader.io to create records using all the existing UTM values.

Create the custom object

Create the custom object. I named by object “UTM Touchpoint”.

UTM touchpoint custom object 1
UTM touchpoint custom object 2

Create your fields

Next, create the custom fields for your custom object.

Field nameField type
LeadLookup (Lead)
ContactLookup (Contact)
UTM SourceText
UTM CampaignText
UTM MediumText
Touchpoint DateDate

You can also create any other fields you want to track using this object. For example, UTM Term or UTM Content.

Create the Flow for Leads

Navigate to the Flow builder and create a new Flow. Select Record-Triggered Flow as your Flow type.

Configure Lead Flow - Step 1

Configure the trigger to run when a a record is created or updated and after the record is saved

Configure Lead Flow - Step 2

Select the Lead object as the starting object and add in the filters that will trigger your flow. For this example, I want to trigger the flow when UTM Source, UTM Medium AND UTM Campaign have values.

Configure Lead Flow - Step 3

Add a decision element to the flow that will check if the UTM values are set.

Configure Lead Flow - Step 4

Now your flow should look like this.

Configure Lead Flow - Checkpoint 1

Add another decision element that will check if the UTM fields are updated.

Configure Lead Flow - Step 5

Add a create records element to the Flow that will take the UTM values from the lead and set the values for the UTM Touchpoint object.

Configure Lead Flow - Step 6

Connect the decision elements and the create records element. The final flow should look like this.

Final Lead Flow

Create the flow for contacts

To create the flow for contacts, click save as on the lead flow and select save as new flow.

Configure Contact Flow - Step 1

Edit the flow to start on the contact object instead of the lead object.

Configure Contact Flow - Step 2

Edit the create records step to update the contact rather than the lead.

Configure Contact Flow - Step 3

Here’s what my completed flow looks like for contacts.

Final Contact Flow

Creating reports

You can create reports by using one of the predefined UTM report types. The report type “UTM Touchpoints” will allow you to pull a report of ALL UTM touchpoints for both leads and contacts.

UTM Touchpoint Report 1

You can group by UTM Touchpoint Date to view all the touchpoints for a specific month, day, quarter, year, etc.

UTM Touchpoint Report 2
UTM Touchpoint Report 3

Questions?

Send me a tweet @jennamolby, or contact the Sercante team for help.

Original article: How to Capture Every UTM Touchpoint in Salesforce

©2025 The Spot. All Rights Reserved.

The post How to Capture Every UTM Touchpoint in Salesforce appeared first on The Spot.

]]>
https://thespotforpardot.com/2021/09/10/how-to-capture-every-utm-touchpoint-in-salesforce/feed/ 0 6058
6 Ways to Use JavaScript to Enhance Your Pardot Forms https://thespotforpardot.com/2021/09/03/6-ways-to-use-javascript-to-enhance-your-pardot-forms/ https://thespotforpardot.com/2021/09/03/6-ways-to-use-javascript-to-enhance-your-pardot-forms/#respond Fri, 03 Sep 2021 14:36:00 +0000 https://thespotforpardot.com/?p=5846

Want to do something with your Pardot form that is not available in the editor? Try using JavaScript! Enhance your forms by using these 6 advanced Pardot form techniques. Learn how to add text between form fields, how to capture URL parameters in hidden fields and more. Adding JavaScript to your Pardot forms Custom JavaScript […]

The post 6 Ways to Use JavaScript to Enhance Your Pardot Forms appeared first on The Spot.

]]>

Want to do something with your Pardot form that is not available in the editor? Try using JavaScript! Enhance your forms by using these 6 advanced Pardot form techniques. Learn how to add text between form fields, how to capture URL parameters in hidden fields and more.

Adding JavaScript to your Pardot forms

Custom JavaScript can be placed within your Pardot forms under Look and Feel > Below Form. Click on the HTML button within the WYSIWYG editor and add in the JavaScript.

1. Add text between form fields

Edit the form field you want to add the text before in the form editor. Click on the advanced tab and add a CSS class with the name “add-text-before”.

Once the class has been added to the form field, you can add the following JS to your form and update the message.

<script type="text/javascript">
function insertBefore(el, referenceNode) {
    referenceNode.parentNode.insertBefore(el, referenceNode);
}
 
var newEl = document.createElement('div');
// replace this line with your message
newEl.innerHTML = 'ENTER YOUR TEXT HERE';
 
var ref = document.querySelector('.add-text-before');
 
insertBefore(newEl, ref);
</script>

2. Redirect to a thank you page based on field values

This tip is from the Pardot Help Docs, but with a couple updates. The article recommends using JavaScript-encoding for variable tags using {js}. I’ve never had success while using this method. Instead using this JavaScript does the trick.

<script type="text/javascript">
  switch('%%Free_Trial_Live_Demo%%') {
  case 'Free Trial':
  document.location='http://www.yoursite.com/thank-you-free-trial/';
  break;
  case 'Live Demo':
  document.location='http://www.yoursite.com/thank-you-live-demo/';
  break;
  }
</script>

3. Use a hidden field to capture page url

Edit the hidden form field, click on the advanced tab and add a CSS class with the name “get-page-url”.

Insert this JS into your form to capture the page url in the hidden field.

Note: This will not work if you have a iFramed form on a web page

<script>
document.querySelector(".get-page-url input").value = window.location.href;
</script>

4. Use a Hidden field to capture page name

Edit the hidden form field, click on the advanced tab and add a CSS class with the name “get-page-name”.

Note: This will not work if you have a iFramed form on a web page.

Insert this JS into your form to capture the page url in the hidden field.

<script>
document.querySelector(".get-page-name input").value = document.title;
</script>

5. Pass URL parameters to a Pardot form

You can use this script to parse out URL parameters and put them into fields within your Pardot form. In this example, I’m passing utm_source, utm_medium and utm_campaign into hidden form fields.

Learn more about UTM parameters in Pardot in this post

<script>
// Parse the URL
function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
    results = regex.exec(location.search);
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
// Give the URL parameters variable names
var source = getParameterByName('utm_source');
var medium = getParameterByName('utm_medium');
var campaign = getParameterByName('utm_campaign');
// Put the variable names into the hidden fields in the form. selector should be "p.YOURFIELDNAME input"
document.querySelector("p.source input").value = source;
document.querySelector("p.medium input").value = medium;
document.querySelector("p.campaign input").value = campaign;
</script>

6. Turn your form labels into placeholder text

There’s currently no feature for Pardot forms that allow you to use placeholder text instead of the label text. So, in this tutorial, I will show you how to add a bit of JavaScript to your Pardot forms to use the field labels as placeholders.

Questions?

Send me a tweet @jennamolby, or contact the Sercante team for help.

Original article: 6 Ways to Use JavaScript to Enhance Your Pardot Forms

©2025 The Spot. All Rights Reserved.

The post 6 Ways to Use JavaScript to Enhance Your Pardot Forms appeared first on The Spot.

]]>
https://thespotforpardot.com/2021/09/03/6-ways-to-use-javascript-to-enhance-your-pardot-forms/feed/ 0 5846