Platforms

Changes to Marketo’s URL Structure: What You Need to Know

BY: Crystal Pacheco | Senior Web Developer

PUBLISHED: 1/19/2021

Did you catch Marketo’s announcement about the upcoming changes to Design Studio URLs? Or better yet, do you know the impact it will have on your organization?

 

In case you missed the official statement, Marketo announced that beginning August 2023, Marketo will be provisioning new Marketo Engage subscriptions with a new URL structure.

This sounds big…is it?

 

Understanding Marketo’s URL Structure Change

 

While Marketo’s announcement may sound a bit random or overwhelming, the URL structure change is good news as it provides a more secure environment for hosting your data.

 

As Marketo explains, “When a Marketo Engage subscription is not configured with a branded CNAME, Design Studio assets use a common hostname shared among all customers on the same pod. This behavior can be exploited in a phishing attack where a user cannot be sure a link to a Marketo Engage hosted asset belongs to the business they expect it to belong to. By updating each instance to use its unique hostname, it is clearer to users the destination of URLs they are accessing.”

 

However, CNAME or no CNAME, if you have Marketo forms embedded outside of Marketo and you don’t currently have SSL enabled for your Marketo instance, you will need to check and likely update your embed scripts as well. (Form embeds for Marketo instances with SSL will automatically be forward-compatible, per a Marketo update from October 2020.)

Additionally, if you have hard-coded links to any Design Studio assets (landing pages, images, or file assets) that refer to the Marketo hostname and not a custom CNAME, these will also need to be updated.

 

What is a CNAME?

 

A CNAME is a Canonical Name Record or Alias Record – it maps one domain name (an alias) to another domain name, considered canonical. As an example, MERGE's website has a CNAME that redirects “www.mergeworld.com” to the corresponding page on “mergeworld.com” without the “www.”

Most Marketo customers will add a CNAME for their landing pages during their initial implementation – for example, in the URL http://pages.example.com, “pages” is the CNAME used to alias Marketo landing pages to a friendlier URL for the domain example.com.

If you are not using a CNAME, your landing page URLs currently look something like this:

http://na-sj01.marketo.com/lp/123-ABC-456/unsubscribePage.html

Once Marketo flips the switch on this change, if you haven’t assigned your own CNAME, one will be assigned to you, using your unique Munchkin ID. That same landing page URL would then look like this:

http://123-ABC-456.mktoweb.com/lp/123-ABC-456/unsubscribePage.html

And, you guessed it…any hard-coded reference you have directing to your old Marketo assets will not work. Instead, you’ll have a plethora of 404 page not found errors and broken images. Not good.

The Impact of CNAME Changes


Per Adobe’s notice about the upcoming changes, links to images inserted via the landing page editor will continue to work, as will relative URLs (which do not include the full address and only include the location following the address).

Additionally, Marketo does say they’ll allow a grace period for updating your URLs, “Existing URLs and references will continue to work after the migration to the new URL structure. However, in 2022, we will deprecate the old URL structure in use today. More details on our deprecation timeline will be provided in March 2021.”

The bottom line: No one wants to deal with broken links. As such, I recommend:

  • Assign a CNAME to your Marketo instance as soon as possible if you don’t have one. You can create one by following Marketo’s CNAME instructions.
  • If you do not currently secure your Marketo landing pages with SSL, identify all embedded forms that do not use the CNAME in the embed code (this is the default, if you don’t have SSL) and update them to use the CNAME version.
  • Identify any hard-coded URLs that do not use a CNAME located within asset templates within Design Studio, editable zones of assets, program tokens, or other websites and update them to use the CNAME version of the URL.

 

Updating Assets with Your Marketo CNAME

 

Once you’ve assigned a CNAME to your Marketo instance, now comes the fun part…making the updates.

Marketo Forms


If you have any embedded Marketo forms used on an external website and don’t have an SSL certificate assigned to your Marketo instance, update the code to reference your Marketo CNAME URL.

For example, your current embed code may look like this:

<script src=”//app-sj01.marketo.com/js/forms2/js/forms2.min.js”></script>

<form id=”mktoForm_1234″></form>

<script>MktoForms2.loadForm(“//app-sj01.marketo.com”, “123-ABC-456″, 1234);</script>

If your landing page CNAME was pages.example.com, you would want to update the embed code to look like this:

<script src=”//pages.example.com/js/forms2/js/forms2.min.js”></script>

<form id=”mktoForm_1234″></form>

<script>MktoForms2.loadForm(“//pages.example.com”, “123-ABC-456”, 1234);</script>

An added bonus: updating your CNAME helps resolve an issue with Marketo forms getting blocked on Firefox and Ghostery. Previously, HTTP Marketo forms embedded on an HTTPS website were not displayed at all or, at best, were flagged for being insecure. (For more on this topic, Marketo guru Sanford Whiteman wrote this excellent blog post, Marketo Forms vs. Tracking Protection.)

Landing Page and Email Templates


Any of your landing page or email templates with hard-coded URLs that point to a non-CNAME-aliased URL will need to be updated so that all your URLs point to your CNAME URL. In other words, roll up your sleeves and start copy/pasting! And don’t forget about scripts being hosted in your design studio, either. All references to assets hosted by Marketo without a CNAME need to be updated.

For example, if you have a non-CNAME link to your logo hard-coded in a template, it may look like this:

http://na-sj01.marketo.com/rs/123-ABC-456/images/acme-logo.png

If your landing page CNAME was pages.example.com, you would want to update the URL to look like this:

http://pages.example.com/rs/123-ABC-456/images/acme-logo.png

My keyboard shortcut: inside a landing page or email template, I like to do a CMD+F (Mac) or a CTRL+F (PC) to find the URL and replace it with the new one. If you’re afraid of breaking something, clone the landing page/email template first, make your edits there, test it to make sure everything is working correctly, and then apply it to the real landing page or email template.

Keyboard shortcut: inside a Marketo email or landing page template, use CMD+F (Mac) or CTRL+F (PC) to find a hard-coded URL and update it with your CNAME URL.CLICK TO TWEET

 

Note: Updating a landing page or email template with existing approved landing pages or emails will go into approved with draft mode. Hence, your changes won’t go into effect until you approve them again!

 

Caution! In the past, approving an email template with just over 500 emails in it has worked on occasion, but you’re pushing your luck on this update, per Marketo’s thresholds. It’s better to start a new email template.

Don’t Forget to Update URL References Inside Editable Zones

 

Once your landing page and email templates are updated and approved, your work isn’t done yet! Remember, updating a Marketo template doesn’t overwrite anything editable in a landing page or email. In other words, if you had any Design Studio-hosted images, files, or PDFs referenced inside an editable zone in a landing page, snippet, email, or form, that too will need to be updated manually to the new URL structure.

 

For example, if you had manually inserted a link to a PDF file inside a rich text element or a CTA button using a non-CNAME URL, it would need to be updated. Unfortunately, there are no simple shortcuts here. 

If you have these links inside of program tokens, you’ll need to update them there too.

On the bright side, the updates provide a great opportunity to conduct an audit of all your assets. See a landing page or email you no longer use? Archive or delete it! Now is the perfect time to get rid of old test pages that clutter your workspace.

When all is said and done, you’ll have a friendly URL that better represents your company name. Anyone who lands on a landing page with a branded URL will see that the page is more trustworthy, especially if you have that nifty lock symbol in the address bar indicating secure content.

 

And if you’re wondering how to get the lock symbol— you get it if all your assets are HTTPS hosted. Contact your Marketo account representative to add SSL encryption to your landing pages.

Summary

 

We’ve covered a lot in this post— and special thanks to Justin Norris for collaborating on the content.

To summarize your action items, your first step is to get a CNAME if you don’t have one already. Then start auditing your assets and making your updates accordingly— while the updates may seem like a lot of work, in the long run, you will come out ahead…trust me!

Need help eliminating Marketo infrastructure uncertainties, safeguarding against campaign errors, improving marketing performance, or executing high-volume campaigns? Our team of Marketo consultants can help— schedule a call now!