How to – use Page Personalization in Dynamics 365 Marketing


Page personalization uses cookies stored in the user’s browser for identifying the contact, and then fetches values for the contact record using JavaScript.

For page personalization to work –

  • The domain should be authenticated
  • It must use HTTPS
  • Contact should have Prefilling enabled i.e. Prefill Marketing Form field in the Contact record should have the value Allow.
  • Specify the contact fields to be made available.

Below is the marketing form (landing page) that we’d be using.

The form has a Remember Me element in it required for Personalized Pages. It gets automatically added to the form if we enable PreFill for the form.

https://nishantrana.me/2022/11/16/how-to-enable-prefill-for-marketing-forms/

We have only kept Pre Fill enabled for the City field. The other fields in the form have prefilled disabled.

Create a new personalized page, navigate to Outbound marketing >> Marketing Content >> Personalized Pages and add

Personalized page fields to it

After adding the fields, Click on Go live.

Going live generates the JavaScript
code, that we’d paste into our page, in the <head> section of the HTML.

As we have added 3 Personalized page fields, we will have access to the value of only these 3 fields on the page where this script is used, even though our Marketing form can have multiple fields or even if the cookie has other values stored as part of another marketing form.

Below we have added the JavaScript code in the head section and modified it to fetch the value of 3 fields added and also we have the code for embedding the Marketing form.

Lastly, we have a Div element to show the personalized message to the user.

Below is our page

Let us populate the values and submit the details (with Remember me enabled)

Let us refresh the page after a few seconds. This is because in the background we will have the lead/contact record either created or updated based on what we have specified in the Marketing form.

As expected, we have the div populated with First Name, Last Name, and City details using the Personalized Page’s JavaScript.

Also as we had Pre-fill enabled for only the City field, we can see the value automatically populated for it.

Please referhttps://meganvwalker.com/d365-marketing-personalised-pages-on-your-website/

Get more detailshttps://learn.microsoft.com/en-us/dynamics365/marketing/personalized-page-content

https://learn.microsoft.com/en-us/dynamics365/marketing/personalized-page-content#test-your-page-personalization

Hope it helps..

Advertisements

How to enable prefill for marketing forms


Check the previous posts on hosting marketing forms for more details

How to – embed marketing form on an external page

Here we will see Prefill in action.

https://learn.microsoft.com/en-us/dynamics365/marketing/form-prefill#create-a-landing-page-form-with-prefill-enabled

We have created the below marketing form (type – Landing Page) right now (currently Pre-fill is set as default false for the form/fields)

Submit the form –

We can see the contact / lead records created as part of submission.

The contact has Do not allow for Prefill marketing form field

Opening the website we don’t see any pre-fill information as expected.

Now let us enable prefill for the fields and for the form.

Enabling Prefill for form automatically adds the Remember me element to the form. It is tied to Prefill marketing form field on the contact record as we saw earlier and required for prefilling to work.

Let us submit the form, this time with Remember me as true.

We can see Prefill marketing form field set as Allow for the contact.

Load the marketing form page again and we can see the value already pre-filled or populated for the user.

We saw how we can enable prefilling for Landing Page type form, by enabling prefill as true at form and field level and adding the remember me element.

For form type – Subscription Center, pre-filling is already enabled for all the fields regardless of their prefill setting, and at the form level also it is set as true and the field is read-only.

Here we do not have to add a remember-me element.

Here we must include the Do not email element.

Prefill in the case of subscription form

Hope it helps..

Advertisements

How to – use form capture to integrate with external form in Dynamics 365 Marketing


We’d use form capture option when we want to integrate with external form not not created in Dynamics 365 Marketing .

Let us take a simple example to understand how the form capture works.

Check the previous post on embedding the Dynamics 365 Marketing form on an external page – https://nishantrana.me/2022/11/10/how-to-embed-marketing-form-on-an-external-page/

Here we have this simple HTML page having a form in it.

Navigate to Outbound marketing >> Internet Marketing >> Marketing forms

Select Capture Form in the command bar.

Enter the URL of the page which has the form in it.

For the verification process to be successful, we need to copy the form capture code to the web page. We can find the form capture code in the Marketing website record.

Else in the next step, it will check for the script and if not found will give the option to use an existing script or generate a new one to copy to that web page.

Once we have entered the script, we’d get the message that the tracking script is valid on re-running the verification.

It will identify and load all the forms found on the page. Select the form.

Next map the fields in the form with Dynamics 365 Field, and click on Save and Close.

We can see the website and field mapping details in the marketing form record, with the option of Rescan form and Go live.

Let us Go live with the form.

Let us refresh our page which has the form, and submit the details.

Back in the Submissions tab of the marketing form, we can the submitted values as pending initially.

In the Insights, later we can see the form submissions

And Form Visits details

Note – Prefill isn’t supported for Form Capture

Check for more details –

https://vivian.tiiman.com/tip-9-form-capture-quirks-d365-marketing/

https://learn.microsoft.com/en-us/dynamics365/marketing/embed-forms#capture-a-new-external-form

Hope it helps..

Advertisements

How to – add Contact Insights / Account Insights to the form – Dynamics 365 Marketing


We can see the Account Insights / Contact Insights tab added along with LinkedIn Lead Info on the default lead form (as well as contact/account) after we install Dynamics 365 Marketing.

These tabs will be added if you try creating a new form (Main).

But if we have other existing forms (Main), these tabs won’t be added and won’t be available for us to add.

In that case, we need to edit the Form XML to add these sections.

Here we will be adding the Contact Insights tab to one of the existing forms to the Lead.

Using the Form XML Manager (XrmToolBox plugin – developed by my friend Rasheed), get the Form XML of the form where we have the contact insights tab added.

Copy the below details –

Tab – Contact Insights

And the below controlDescription

Going back to Form XML Manager, select the form where we want to add the contact insight tab, get its Form XML and add the above details and publish.

We can see the Contact Insights tab added

Similarly, we can Account Insights, and the LinkedIn Lead Info tab as well.

Hope it helps..

	<tab name="contactInsights" id="{AC28F8C9-4498-47C7-8D9B-2FE028CFBDAC}" IsUserDefined="0" locklevel="0" showlabel="true" expanded="true" labelid="{6905336d-985b-4137-a106-31b1dd4e1560}">
			<labels>
				<label description="Contact insights" languagecode="1033" />
			</labels>
			<columns>
				<column width="100%">
					<sections>
						<section name="insights_section" showlabel="false" showbar="false" locklevel="0" id="{2328D81F-CA70-4A20-8B62-DA36756DA7D8}" IsUserDefined="0" layout="varwidth" columns="1" labelwidth="115" celllabelalignment="Left" celllabelposition="Left" labelid="{29474d06-89ea-41ad-a999-9d96dd95c938}">
							<labels>
								<label description="Insights" languagecode="1033" />
							</labels>
							<rows>
								<row>
									<cell rowspan="1" id="{37367a00-f45e-4ae4-a4a4-5ba1023fdc11}" colspan="1" labelid="{e971ab6b-ea22-4543-bbd5-06e50f11f9f1}">
										<labels>
											<label description="" languagecode="1033" />
										</labels>
										<control id="msdynmkt-lead-insights-banner-control" classid="{F9A8A302-114E-466A-B582-6771B2AE0D92}" disabled="false" uniqueid="{B93040CC-F97E-48D8-8166-5179C8C942CE}" isunbound="true">
											<parameters />
										</control>
									</cell>
								</row>
								<row>
									<cell id="{58B703D6-BBA5-4078-9499-1D5A1FB35932}" showlabel="false" locklevel="0" labelid="{db0b8895-c098-45e5-b95f-f85df882f96d}">
										<labels>
											<label description="Insights" languagecode="1033" />
										</labels>
										<control id="LeadContactInsightsCtrl" classid="{F9A8A302-114E-466A-B582-6771B2AE0D92}" datafieldname="msdyncrm_insights_placeholder" disabled="false" uniqueid="{ADB58B3F-E8A8-432B-BF8C-08196D8F87ED}" />
									</cell>
								</row>
							</rows>
						</section>
					</sections>
				</column>
			</columns>
		</tab>
	<controlDescription forControl="{ADB58B3F-E8A8-432B-BF8C-08196D8F87ED}">
			<customControl formFactor="0" name="MscrmControls.InsightsControl.InsightsControl">
				<parameters>
					<configuration static="true" type="SingleLine.Text">LeadContactInsights</configuration>
				</parameters>
			</customControl>
			<customControl formFactor="1" name="MscrmControls.InsightsControl.InsightsControl">
				<parameters>
					<configuration static="true" type="SingleLine.Text">LeadContactInsights</configuration>
				</parameters>
			</customControl>
			<customControl formFactor="2" name="MscrmControls.InsightsControl.InsightsControl">
				<parameters>
					<configuration static="true" type="SingleLine.Text">LeadContactInsights</configuration>
				</parameters>
			</customControl>
		</controlDescription>
		<controlDescription forControl="{48D797ED-2F85-4D89-A329-69C2A1A0E1DD}">
			<customControl formFactor="0" name="MscrmControls.InsightsControl.InsightsControl">
				<parameters>
					<configuration static="true" type="SingleLine.Text">LeadAccountInsights</configuration>
				</parameters>
			</customControl>
			<customControl formFactor="1" name="MscrmControls.InsightsControl.InsightsControl">
				<parameters>
					<configuration static="true" type="SingleLine.Text">LeadAccountInsights</configuration>
				</parameters>
			</customControl>
			<customControl formFactor="2" name="MscrmControls.InsightsControl.InsightsControl">
				<parameters>
					<configuration static="true" type="SingleLine.Text">LeadAccountInsights</configuration>
				</parameters>
			</customControl>
		</controlDescription>
		<controlDescription forControl="{B93040CC-F97E-48D8-8166-5179C8C942CE}">
			<customControl formFactor="0" name="CxpOrchestrationAnalytics.InsightsBannerControl.InsightsBannerControl">
				<parameters />
			</customControl>
			<customControl formFactor="1" name="CxpOrchestrationAnalytics.InsightsBannerControl.InsightsBannerControl">
				<parameters />
			</customControl>
			<customControl formFactor="2" name="CxpOrchestrationAnalytics.InsightsBannerControl.InsightsBannerControl">
				<parameters />
			</customControl>
		</controlDescription>
	</controlDescriptions>
Advertisements

How to – embed marketing form on an external page


In the previous posts, we learned about website tracking and how to authenticate the domain for external hosting of the form as well as email marketing.

Here we will explore the option of hosting the form on an external page.

Let us start by creating a simple marketing form having a first name, last name, and email fields in it.

Click on Check for errors, if everything is fine then select Go Live.

This shows up in the form hosting tab in the Marketing form.

There we need to first create a new marketing form page record.

Here while creating a new form page, we have associated it with the marketing website we had created earlier.

Just refresh the marketing form page, and it will start showing the already authenticated domains.

Open the form page record created. There we can see a few other options to be configured along with an external hosting format.

If we choose the option of iframe, the style of the form will remain isolated from the rest of the page it cannot take the styling element of the page it is hosted on, and website tracking will not work.

Let us start by hosting it as an iframe option.

Let us run it locally first before deploying the page to our authenticated domain.

Submit the form

Open the Marketing Website record or the Form , we can see the details added to the Visits and  Submissions section of Insights.

Now let us submit it once more from the authenticated domain.

We can see the details in the Form submissions.

Now let us now check the option of hosting it as a script.

Copy and paste the code

If we embed it in the unauthenticated domain, we will get the below error.

Hosting it inside the authenticated domain we get the form loaded correctly.

Submit the details.

Let us again check the Insights tab in the marketing website record or the marketing form. We can see it being tracked in Visits, Form Visits as well as Form Submissions.

Insights tab in the Marketing form – 

Get all the details here – Embed forms on external websites

To learn more about Dynamics 365 marketing – https://meganvwalker.com/category/dynamics-marketing/

Hope it helps..

Advertisements

Marketing forms comparison – Marketo and Dynamics 365 Marketing


Marketo

Dynamics 365 Marketing

We can create forms in Marketo to be used on the landing pages.

There are 4 types of Marketing forms – Landing page, Subscription Center, Forward to a friend, and Event Registration.

Add fields to form

Fields are mapped to the contact and/or the lead table in Dynamics 365 and can be added to the form.

 

We can define input fields that can be used in the form.

The form must be approved before being used on the landing pages.

A form must me made go live before it can be used on the marketing page or embedded on the external site.

Fields labels can be edited, fields can be made required.

Fields labels can be defined, along with default value, field requirement, error message, etc.

Forms can be previewed

Forms can be previewed as shown below.

Select a form theme/edit CSS of the form theme

Inside HTML Designer we can specify the CSS and layout of the form.

Pre-fill – Marketo forms will pre-fill fields with the web visitor information using the cookie.

Form Pre-fill doesn’t work when embedding a form on your page. It only works on the Marketo landing page.



 

Enable pre-filling for forms. Prefilling works when the form is a subscription center form or when the landing page form has a remember me option available when filling in the form.

At form level –

At field level –

Hidden form fields and auto populating the hidden form field

Hidden fields can be auto-populated with different parameter types – Default value, URL, Cookie Value and Referrer parameter

Form fields can be hidden and can provide a default value

Pass hidden data or pre-populate marketing form fields

Setup lookup fields via API

Enable Captcha in Marketo forms.


Add a Captcha element to the form.

Embed form on an external website.

Embed code can be generated for the Approved form.



Form Prefill does not work when using the form embed code on your pages or a Marketo landing page. Form Prefill is only meant to work when the form is used in a Marketo landing page via the Insert Element option.

Once the code is embedded on your website, any changes to the form in Marketo will be pushed to your site upon the form approval. You do not need to make more changes to the code.

Embed the form on an external website.

We can

  • Embed a Dynamics 365 Marketing form on an external page.
  • Use form capture to integrate Dynamics 365 Marketing with a form created externally in your (CMS)

along with the option of publishing a native marketing form on a native marketing page on the Power Apps Portal configured.

 

After designing the marketing form, save it and go live. Open the form hosting tab, and create a new Form page, where we can define additional configuration settings for the forms that will be embedded externally. We will also have to authenticate the domain where the form will be used.

Copy the embed code and paste it on your website page.

We can Enable prefilling on embedded marketing forms on an external website.

Prefilling allows fetching contact information from the dynamic’s database because of which additional security measures are in place for protecting user privacy.

For pre-filling to work below are the requirements –

  1. Domain authentication for the external domain of the website, where the form will be hosted.

  1. The contact record inside Dynamics should have an allow-prefill flag as allow.

The core functionality of the Marketo web form can be extended using Form 2.0 JavaScript API

We can extend marketing form capability using JavaScript API

 

We can also use Form capture to integrate a form created externally.

Select Capture form in Marketing forms, in the dialog specify the URL of the web page, where the tracking script is set up and the form is available for mapping.

Next, it will check for the script / or script can be generated and can be copied to the external webpage.

Followed by selecting the external form on the web page and providing mapping for each of the fields.

Select Go live for the marketing form and it can begin to accept data from the external form.

Prefilling doesn’t work in the case of the form capture option.

 

Additionally – Marketing provides Personalized Page Content

Specify the fields to be used for personalization and select Go Live to generate the JavaScript code.

Copy/Use the JavaScript code in the external web page to access the fields specified.

 

Prerequisite –

  1. The external domain (website) needs to be authenticated.
  2. The page should have the marketing form with a remember-me design element in it. This element is mapped to prefill marketing form field on the contact table.

Hope it helps..

Advertisements