Documentation Center

Marketo limitations

Information about various aspects that you should take into consideration when working with the connector for Marketo.

General

  • For the classic strategy, assets whose content status is Approved with draft will be treated as approved assets. For the program-level translation strategy, these assets will be treated as draft assets.A screen shot of an email asset which has the Approved with draft status.
  • Assets should not contain any special characters. Marketo will retrieve these characters as hex values and CDATA (the way the content is encoded for translation) does not support hex values.A screen shot which shows a landing page with an unsupported special character in it.
  • The XML source file will have < and > encoded as &lt; and &gt;. Those characters need to be decoded in the XML target file.
  • The file type you use to translate content from the XML source file should not encode the special characters < and > as &lt; and &gt;.A screen shot which shows an XML source file with encoded content. Otherwise, the actual value of the element will not be separated from the CDATA tag and the tag will be a part of the element's value, thus malforming the content.

Tokens

  • Tokens can be defined at the campaign folder level or at the program level. At the moment, only tokens defined at the program level are supported.
  • Only personal tokens which have the my.Something_Something format are supported for translation.
  • Only the tokens with the value as Rich Text, Text, or Calendar File are supported. A screen shot in which supported token values (Calendar File, Rich Text, and Text) are highlighted.
  • The default tokens with the {{ lead. Token default }} format cannot be processed because processing them would lead to performance issues; entering a space or changing the format would not work either.
  • Default tokens cannot be translated because there is no API support.
  • For the classic strategy, only emails have some kind of token support. The connector interprets the tokens used at the content section level of an email in terms of replacing the whole token with its assigned default value.

Buttons

  • For emails: Only the buttons defined in the email template by the custom attribute mktoname can be translated. A screen shot which shows a button label defined with the mktoname custom attribute.The value of these attributes must contain one of the following substrings (exactly as they are presented here): "Button Label", "Button Text", or "Link Text".
  • For landing pages: If you want a button to be translated for a landing page, make sure that:
    • The Editing Mode of the landing page template is set to Guided. The other option is Free-form, but Marketo does not allow variable updates on a free-form landing page template.
    • The IDs that define the buttons in the landing page HTML template contain one of the following substrings (exactly as they are presented here): "buttonLabel", "ButtonLabel", "buttonText", "ButtonText", "linkText", or "LinkText". A screen shot of a landing page template in which a button is defined.
    • In some cases, a landing page can have a Guided-type template. In general, when you create a landing page with such a template, always open it the Marketo UI Editor before taking any action using the connector. This is because Marketo needs to map the values of the template's elements to the newly created landing page. If you do not follow this step, the landing page might still be empty and no content will be downloaded as part of the Download step. A screen shot which highlights the elements of a template.
  • Only the buttons defined in the HTML template of an email or of a landing page will be translated. If you add a new button from the email UI, this button will not be translated because it is not displayed in the HTML template of the email or of the landing page.
  • If you want to add a new button, define it at the email template level (or at the landing page template level, when translating landing page buttons).

Snippets

  • The connector supports only Standalone snippets (i.e. the snippets from Design Studio). It interprets them as normal assets, just like emails, landing pages, forms, and templates.
  • The connector can interpret both static and dynamic content (although the appropriate feature needs to be activated for dynamic content).
  • Embedded snippets are not supported (i.e. a snippet embedded in an email or landing page will not be automatically translated through its parent; when translating such an email or a landing page, the embedded snippets will not be translated).
  • For Marketo instances that have a large number of snippets, the performance when working with this type of assets may be slower due to the fact that snippet-related REST API endpoints do not have the option of browsing snippets by their parent folder ID. This means that, at each navigation step, all the snippets would be retrieved and then filtered manually by the right parent ID, in order to be displayed correctly on the navigation panel.

Dynamic content

  • The connector supports working with dynamic content from emails, landing pages, and snippets (for snippets, only if the Snippet feature is activated).
  • For landing pages, there seems to be a visual bug in Editing Mode after cloning a landing page which has dynamic content sections. The contents are placed on the top left corner of the template header and you might have to reposition those sections manually. This will be reflected after a full-cycle translation with the connector, as the upload process includes cloning the asset and then updating the content sections. However, in Preview Mode, the bug should not be reproducible anymore.

Files

Not supported.

Lead database operations

Not supported.

Emails

  • If an email is part of an A/B Test or a Champion/Challenger Test, then it will not be displayed on the navigation UI. At the moment, Marketo does not support the retrieval of these types of emails. A screen shot highlighting an email which is part of an A/B test.
  • In Marketo, you might have version 1.0 email assets. A screen shot in which supported token values (Calendar File, Rich Text, and Text) are highlighted.When working with such assets, the upload process in the connector might be unsuccessful because, as suggested by the following API response, 1.0 emails will no longer be supported near future, thus making the service unavailable. To prevent spontaneous crashes of the connector as a result of this, the use of 1.0 emails will be restricted. Please see the following response from the Marketo API: This is a v1 email asset. API support for modifying v1 emails is being dropped, and this operation will not work on v1 emails in the future. To avoid service interruptions, upgrade this and related assets by editing them in the User Interface.
  • According to Marketo, emails can be broken down from their templates. This can happen when editing the email template (in the UI Editor, open an email and select Edit Code) by performing the actions listed below (1, 2, and 3). For the program-level strategy, these emails will be interpreted by working with the full HTML content of the email (through specific Get Email Full Content and Update Email Full Content API endpoints). However, for the classic strategy, this behavior is not supported yet. Thus, when working with such an email, only a new, empty email will be created when uploading back to Marketo using the connector.
    1. Changing anything in the code outside of an Element or Module.
    2. Adding or changing the non-mkto attributes (for example, "id" or "style") of any Element outside of a Module.
    3. Deleting an Element that is outside of a Module.
  • The connector checks whether or not an email sent for translation was created from a template. If it does not find any template, it will consider that it was created starting from the default template. After the email is translated, during the upload process, the connector will match the templates, compare the fields, and the translated email will not be integrated. As a solution, add a customer-created template in that email, so that the connector can recognize it and upload the translation correctly.

Forms

  • The following elements of a form field can be translated: label, instructions, hint text, default value, and validation message. Also, in the case of the Select field type, the Display Value that will be displayed in the drop-down list can be translated.
  • If Button Feature Translation is enabled, the value of the Submit button and the value of the Waiting label are translated.
  • Fields which have the Rich Text type are not translated.
  • At the moment, the implicit handling of attached Thank You pages for a given form is not supported.
  • Marketo does not retrieve forms that have no status (the status is not displayed on the right side of the UI when selecting a form). Thus, they will not be displayed at the navigation level. A screen shot of a form that has no status.
  • Forms that contain duplicate fields will not be eligible for a full cycle translation using the connector. This is because a form that contains duplicate fields means that those fields will have the exact same field ID; when trying to update one of those duplicate fields using the according field ID, the Marketo API will respond with a 611 - System Error because it cannot distinguish between duplicate fields, as they have the same field ID value.

Landing pages

  • RichText contents and HTML contents are translatable.
  • However, forms and other types of content that are placed in a landing page cannot be translated.
  • If there are no RichText sections and no HTML sections, the landing page will have no suitable content for translation. In this case, the download process will not work.

Templates

  • In case of a content update (i.e. re-upload), make sure that the target template to update has its HTML syntax correct. This applies to both email templates and landing page templates. To verify that the HTML syntax is correct, open the template in the Marketo UI Editor and select Template Actions > Validate Syntax / Validate HTML. For landing page templates, this option is only available for Guided templates. If this isn't verified, then the update process will fail. A screen shot which highlights the Validate HTML option for templates.
  • Marketo does not support social content for landing pages that have a Guided-type template.
  • At the moment, the connector does not have pagination retrieval implemented for email templates and landing page templates. The maximum number of templates that can be retrieved from a folder is 200. This means that if a folder has more than 200 templates, the connector will retrieve only the first 200 templates and only those will be displayed on the navigation panel.

Marketo Rate Limit API and Concurrency Limit

  • API access per instance is limited to 100 calls per 20 seconds.
  • The maximum number of concurrent API calls is 10.
  • This information needs to be taken into account in a more general manner by everyone who is using the connector. The connector does not have a proper knowledge of these two conditions. If someone makes too many calls to the API through the connector, this may cause performance issues and service interruptions.
  • If the connector does not properly during the upload process, especially when the translation job contains many files (more than 4-5), re-initiate the upload afterwards (once, twice, multiple times—depending on how many files the job has). The connector has a mechanism that will bypass the problem caused by the API Rate Limit at the upload step.

Program Level Strategy

After you upload the target content into Marketo, select Edit Draft first to check the content. After that, you need to approve the target language to be applied.

Localization Strategy

The localization strategy makes use of the segments applied to the dynamic content that a section can have, to enable a way in which content can be localized and translated.

With this strategy enabled, you will be able to select which segment (locale) you want to translate. Only the content from dynamic sections will be sent to translation.

By default, the segment names need to follow the four-letter language code standard (for example, fr-FR). If this not possible, make sure you provide an equivalent mapping for them.

Personal tokens are also sent to translation and will be pushed back into the program with the same name, followed by the equivalent target language appended to the name.