Need to reduce the barriers to meeting bookings? Want to send your valuable leads directly into a meeting booking page directly from an email? In this blog post, I will walk you through using Dynamic Chat and Conversational Flows to trigger a meeting scheduling widget when someone clicks an email link so you can build a conversational experience to get your leads to sales calendars faster.
First is to create your Conversational Flow that will handle the meeting booking. This should be as minimalistic as possible; a welcome message and a meeting booking card. Feel free to add an Action card or Goal card if needed, but keep the barriers to booking to a minimum!
Currently a Conversational Flow cannot start with a Meeting Booking card but we are looking to allow it in the future.
After you Publish your Conversational Flow, head to the Settings tab and the Conversation Trigger section. This is the code that lets you invoke the Conversational Flow using Javascript and have the modal with the Meeting Booking card appear on the page.
In this use case, we want the modal to appear when the visitor lands on the page but only if they're coming through the link in the email. We can use a bit of Javascript to modify the "On page load" event snippet to do this. You should work with your developer to develop this for your website; in my example I am going to use ChatGPT for assistance as it can do small JS snippets fairly easily. In this example, I am going to use a JS snippet that:
<script>
// Check if the 'sp' parameter is present in the URL and has a value of 'meeting'
if (getUrlParameter('sp') === 'meeting') {
window.addEventListener('load', function() {
window.AdobeDX.conversations({
id: 'xxxx-example-con-flow-ID-xxxx',
type: 'popup',
});
});
}
// Remove the 'sp' parameter from the URL
if (history.replaceState) {
const urlWithoutParam = removeUrlParameter(window.location.href, 'sp');
history.replaceState(null, null, urlWithoutParam);
}
// Function to get a specific parameter value from the URL
function getUrlParameter(parameterName) {
const urlSearchParams = new URLSearchParams(window.location.search);
return urlSearchParams.get(parameterName);
}
// Function to remove a parameter from the URL
function removeUrlParameter(url, parameterName) {
const urlObject = new URL(url);
urlObject.searchParams.delete(parameterName);
return urlObject.href;
}
</script>
This should go on the page you want your leads to be linked to when they click the meeting booking link in your email. Make sure that the Dynamic Chat script is also loaded on that page.
Almost done! Now you just need to set up your email and get ready to send it to your leads. Don't forget the most step: set up your URL parameters! Remember, in Step 2 we set up the Flow to only trigger if the page is visited with the specific URL parameter "sp=meeting" to ensure that they have to come through a link you sent them in the email. Ensure that your link to the page in your email has that parameter so the Flow triggers correctly.
That's it for implementation! You should do a full end-to-end test to make sure:
I have a small example set up here (it does not have the meeting booking card):
With the URL parameter: https://650-xcr-005.mktoweb.com/lp/650-XCR-005/Launch-a-meeting.html?sp=meeting
Without the URL parameter: https://650-xcr-005.mktoweb.com/lp/650-XCR-005/Launch-a-meeting.html
Observe the different behavior between the two links!
Every Marketo Engage instance comes with a Dynamic Chat Select license with a lifetime limit of 100 Conversations in a Conversational Flow (in this circumstance, a Conversation would include triggering a Conversational Flow), so you can test out this feature to see if it works for your business. Upgrading to our Dynamic Chat Prime package will unlock the full power of Conversational Flows with a much higher monthly limit, as well as access to other features like Smart List audience targeting in Marketo Engage Forms.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.