top of page
Writer's pictureNaveen VM

Salesforce Marketing Cloud Interactive Forms And Its Capabilities

Updated: May 14, 2021

As part of March 2020 release, Salesforce Marketing Cloud has introduced a new feature called 'Interactive Form blocks' which can be used in Emails. This feature allows email recipients to input their responses within the mail client itself nullifying the need to visit any other external sites. This will significantly shorten the workflow, leading to an increase in customer engagement.


Once the recipient enters data in the email, the results will be captured in Data Extensions within Marketing Cloud. But wait- there’s more! Read on to learn more about the other benefits of this new feature.


Technical Capabilities Post Submission of Interactive Form:

  • The submitted data is stored in Data Extensions instantly.

  • You can send a real time email in response to the customer submitting their data to Marketing Cloud.

  • Once their data is submitted, you can add this recipient directly into Journey Builder.

  • You can add/update the same submitted record in Salesforce.

Interested?! To get started, we first need to understand how the Interactive Form works. So, let's get started.


Note:

If at any point of time if you get stuck, there is a module on Trailhead for Interactive Email Content.

I have outlined the below steps at a very high level. Our focus would be achieving other capabilities in Interactive Forms.


Step 1: Create a Cloud Page with the 'Interactive Email Page' Type:

  • Go to Web Studio > Cloud Pages > Create > Interactive Email Page

  • Give a Name for the Cloud Page and click on 'Create'

  • Click on the Email Form. Select the option most suitable for your use case.

  • Make sure you publish this page.

Interactive Form Cloud Page
Interactive Form Cloud Page

Step 2: Add the Interactive Block in Template Based Emails

  • Go to Content Builder > Click on Create template based email.

  • Drag & Drop the Email Form from the Interactive Content section.

  • You can start from scratch, or start with a predefined template. For this example, I have choose a Rating template.

  • In the section 'Cloud Page Destination', select the cloud page we published in the previous step.

  • In the 'Response Capture' section, you can select an existing Data Extension or choose to create a new one. This is where your captured responses will be stored.

  • Map all the form fields to their corresponding Marketing Cloud fields. In the below screenshot you can see that I have mapped the %%_subscriberKey%%. If the Subscriber Key in the sendable Data Extension is Contact ID, then in Data Extensions it will be stored as Contact ID via the hidden field.

Interactive Form Email Block
Interactive Form Email Block

Step 3: Set up Fallback content


It’s important to note that Interactive email forms will not work on all the email clients. For example, in Outlook the form render. In that case you would need to set up a fallback content.

A good idea would be to set this content block as ‘none’ or use a content block with an action button linked to a cloud page.


To do this, go to the ‘Design’ tab within the interactive form and select your content block or set it as none.


Step 4 : Send an Email and submit the response


When you send this email from Marketing Cloud and the recipient enters their response within their inbox, the data gets added into the Data Extension. You will then be navigated to a Cloud Page (or external URL), depending upon the setting you choose in Cloud Page.


Testing Interactive Forms in all Email Clients:


You can use litmus to test your Interactive Form and its performance in different email clients.

Here is the link which has been used to test the review form - Litmus Test Review Form Link.

  • You can see that in all of the Outlook versions it is not rendering.

  • In Gmail it doesn't support some CSS attributes that were used to build the Interactive Forms. You can find more information on Salesforce help on Interactive form.

  • As a workaround, you can add the radio buttons in vertical alignment instead of horizontal.

How Interactive Form is Working Behind the Scene:


Interactive email forms use existing Marketing Cloud infrastructure and encryption. Which means that it uses AMPscript to add the records into the Data Extension.


If you go to the Email and view it in Code view, you can find something like this:

%%[
   VAR @CPID, @deExtKey, @encodedDeExtKey, @CPURL, @qsStart, @qsValueStart, @qsValue, @unmappedFields
   SET @CPID = "241"
   SET @deExtKey = "A48A2C8F-8B97-4408-B156-81CA0EF01836"
   IF (@CPID == "undefined") AND (@deExtKey == "undefined") THEN
    RaiseError("Please select a CloudPage and Data Extension and assign all fields to data attributes on the Interactive Email Form Block.")
   ELSEIF (@CPID == "undefined") THEN
    RaiseError("Please select a CloudPage on the Interactive Email Form Block.")
   ELSEIF (@deExtKey == "undefined") THEN
    RaiseError("Please select a Data Extension and assign all fields to data attributes on the Interactive Email Form Block.")
   ENDIF
   SET @encodedDeExtKey = URLEncode(@deExtKey,1,1)
   SET @CPURL = CloudPagesURL(@CPID,"ic_deN",@encodedDeExtKey)
   SET @qsStart = IndexOf(@CPURL,"?")
   SET @qsValueStart = Add(@qsStart, 4)
   SET @qsValue = Substring(@CPURL, @qsValueStart)
  ]%%

Let's Debug the Interactive Form:


@CPID - Is the Cloud Page ID , which we have published initially.

@deExtKey - Is the external key of the Data Extension in which we need to store the records.


RaiseError function is used to suppress or cancel the email send when unexpected errors occur. In this case, this error will occur when no Cloud Page or Data Extension is added to the Interactive Form.


URLencode function is used to the encode the string values with as same as application/x-www-form-urlencoded media type.


CloudPagesURL function will link to a Cloud Page with encrypted values. The major benefit of using the Cloud Page URL is that you can access this via personalization strings from Marketing Cloud. In the case of an Interactive Form, this function is used to redirect it to a Cloud Page with encrypted parameters of email.


Here is where the fun begins. You can get the subscriber key , email address and other personalization strings from the encrypted URL.


Send a Real Time Email Once a Customer submits the Interactive email form:


Remember the Cloud Page you have published initially? In that Cloud Page, you can actually add an AMPscript to get the subscriber key and email address like below.

%%[
Set  @subscriberkey = [_subscriberkey]
Set  @emailaddr = [_emailaddr]
]%%

You know which Data Extension your values are stored in or any other data extensions in which all the fields are present. You can use Lookup Rows function to fetch the other fields.



Add the Subscriber to the Journey Builder:


Once the user submits the form you can use the above instructions to fetch the subscriberkey and add them into the Journey Builder via Fire entry event API.



Add/Update Salesforce Objects:


Once the recipient submits their data, you can use the CreateSalesforceObject function to add a record to an object or the UpdateSingleSalesforceObject function to update a record in Salesforce.


Similarly, you can use Server Side Java Scripts (SSJS) or any other AMPscript functions in the same Cloud Page once you retrieve the subscriber key. The logic is still the same.


Please feel free to comment your thoughts/queries.


Happy Learning ! Share the Salesforce!



5,697 views1 comment

Recent Posts

See All

1 Comment


Pransh P
Pransh P
Apr 05

Hi, Am trying to fetch the value which was submitted in the interactive form on the Thank you page. And the field is somehting else than the subscriberkey or email. I see blank values when i try to display it. Can you please suggest, how can i pull the value submitted on interactive form and display it on thank you page?

Like
bottom of page