Knowledgebase

Sort by:
Issue You receive the "Subject is empty" error when attempting to approve an email which contains an emoji character in the subject line, and elsewhere in the email, emojis may fail to render. Solution Marketo can render any Unicode character up to 5.2 and any ASCII character, but this does not encompass emojis. The Marketo email editor will strip out any unsupported symbols. This is because we cannot guarantee the consistency of their appearance across platforms, as not all clients can render all emoji. Marketo only supports the text symbols that are generally then converted into emoji's by the recipient client or operating system. The basic symbols in a list such as https://www.copypastecharacter.com/symbols should work, as they are ASCII characters and not reliant on extra encoding. These are a set of accepted text symbols that will universally work on all clients and many will convert them to emoji. Just highlight the symbol from  https://www.copypastecharacter.com/symbols, copy and paste it into your email. Alternately, you can work around this by q-encoding the emoji in UTF-8 format, which will render a string of code to add to your subject line. This code tells the email client to render the desired emoji. All you need to do is copy your desired emoji and run it through a Unicode to UTF-8 translation tool, such as https://onlinetools.com/unicode/convert-unicode-to-utf8. As an example, say you want to send a Happy Birthday email to a lead. You could copy the  (birthday cake) emoji and run it through a translator to yield the code "=?utf-8?Q?=F0=9F=8E=82?=" Entering this code in your subject line without the quotation marks will render the emoji on the client's end, and render it in the design most compatible with their device/browser. With any email design, it's always important to test before a live send to confirm it appears the way that you expect it to.
View full article
Issue Description Issue in delivering Marketo Email (especially for mimecast users). Email get bounced with Error: 550 Rejected by header based Anti-Spoofing policy Issue Resolution This error can happen if: You have not properly white listed the Marketo IPs You have an ssue with DKIM/SPF set up and configuration Please whitelist the set of Marketo IPs found in the doc below and make sure SPF and DKIM are set up correctly for your email domain https://docs.marketo.com/display/public/DOCS/Configure+Protocols+for+Marketo
View full article
Here it is: Your guide to understanding merges in Marketo, in Salesforce, and how the two interact. Merging Two Leads We begin with two records in Marketo which have been synced to Salesforce. Both are leads in Salesforce, not contacts. Lead A, Marky Marky, has a Marketo ID of 1001446 and an SFDC ID of 00Qi000000vJ0hK. Lead B, Markee Marquee, has a Marketo ID of 1001447 and an SFDC ID of 00Qi000000vJ0hU. We wish to merge these leads in Marketo. In this example, I first select Lead B, and then hold SHIFT to select Lead A as well. Then right-click in the highlighted area to bring up the Lead Actions drop-down (or click Lead Actions at the top of the screen), and select Merge Leads from the choices. Now I see the Merge Leads dialog box, where we decide which conflicting field values we want to win. We could click the box next to "Lead 1" if I want all of Markee Marquee's values to win. Instead we check the box next to "Marky" because we want that to be their first name, rather than "Markee". Then we click merge. Note: whichever record was most recently updated will be pre-checked to win field conflicts. Here's the result. Note how the remaining single lead has the ID 1001447, that of Lead B, the first one we selected. The first record you select is the target record - this records remains while the other record is deleted, it's field values, activities, and program memberships merged into this winning record. The leads are also merged in Salesforce, and the remaining record there has the ID 00Qi000000vJ0hU (Lead B) as we would expect. Merging Leads and Contacts Here we begin with a lead and a contact. We have a lead, Marky Marquee (Marketo ID1001447, SFDC ID 00Qi000000vJ0hU), and a contact, Joe Hill (Marketo ID 1001448, SFDC ID 003i000002KAFGa). We first select Marky Marquee (the lead) and then select Joe Hill (the contact), and conduct the merge as we did above. This time, however, the second record we clicked, Joe Hill, shows up as "Lead 1". This seems to contradict what we said earlier, but it's happening because the second record is the contact, and the contact is always going to be the target record. I want Marky's name to win out, so I check their First and Last Name and then click Merge. Note: this will cause an error if the Marketo sync user in SFDC doesn't have the Convert Leads permission. Note that the remaining record has the ID 1001448, the ID of the contact, even though that wasn't the first record we selected in Marketo. The contact is always the one which remains. Program Memberships Here we have two leads: Dexter Science (ID 1001451) and James Frankough (ID 1001452). We add James to two programs, Program Example 1 and Program Example 2. We can see this in their activity log: Now we merge the records, selecting Dexter first (so they'll be the winning record), but we check James's values for the First and Last Name. Below is their activity log after the merge. Notice that there are new Change Program Status activities - because the target record in the merge was 1001451, but the programs were associated with 1001452, the system has to copy their program statuses over during the merge. If you double-click one of those activities, it gives "Lead merge transferring program membership (transfer)" as the activity's Reason. Activities caused by merges can trigger campaigns. For example, suppose there is a smart campaign with the trigger Program Status Changes, for an old program with no activity in months. Activities caused by a merge like this could trigger such a campaign. To prevent this from triggering campaigns, we can add Reason as a constraint: Campaign Memberships Next, we have two leads: John Doe (ID 247) and Johnathon Doe (ID 248). We've associated John Doe with two SFDC Campaigns: Campaign Example 1 and Campaign Example 2. When we merge John Doe into Johnathon Doe, since the target lead is ID 248 and the campaigns are associated with ID 247, it has to copy them over - just like it did with campaign memberships. However, unlike with program memberships, it does not provide a Reason in the Add to SFDC Campaign activity following the merge, meaning there's no easy way to prevent this from triggering campaigns which use the Added to SFDC Campaign trigger.
View full article
As of August 1, 2023, this article has been retired. While this page will no longer be updated, Adobe posts all reporting related to service incidents on status.adobe.com. To stay up to date on service incidents and maintenance windows based on Adobe product and/or geographic region, please subscribe to notifications at status.adobe.com by following these step-by-step instructions (How to Subscribe to Status Page Notifications).
View full article
FAQs Included in this Article: Overview Are RTP campaign designs responsive Can you see how your RTP campaigns will be displayed on multiple devices Can campaigns be displayed only on one page Can I insert JavaScript to RTP campaigns Can RTP campaigns be blocked by ad blockers or JavaScript blockers Does marketo RTP support animated GIF files Does RTP impact SEO Does RTP support HTML5 How does Any Page in the Target URL field work How does RTP A/B testing work How accurate is RTP's reverse IP geolocation targeting How to use the User Context API segmentation What are the recommended sizes for RTP campaigns What is a conversion in RTP What is the limit of organizations you can target for an RTP campaign What is the limit of names allowed in the 'Organizations' criteria What is the limit of rows exported in an Excel export What is the limit of Zip Codes allowed What is the limit of segments allowed   Overview Segments and campaigns are powerful tools in the Web Personalization platform for targeting groups of potential leads and pushing them relevant content. Segments allow you to target your audience based on demographic fields like organization, location, and lead status, or based on behavioral fields like number of visits, mobile device used, or search terms used. Campaigns use segments to personalize your marketing efforts, allowing you to deliver relevant content to specific segments of your audience. This doc will answer some of the most frequently asked questions about segments and campaigns in RTP. If you would like to first learn the basics of using segments and campaigns, read through this collection of documents that will get you started: Getting Started (RTP)     Are RTP campaign designs responsive Yes. This means that RTP campaigns will work on mobile devices and will adapt to the sizing of mobile websites. Only Dialog and Widget campaigns are affected by screen sizes, as In Zone campaigns behave as embedded parts of the website. There are RTP Mobile Templates for fitting dialog campaigns to all mobile screen sizes.   Furthermore, in the segment editor, you can segment by mobile device type and manually create campaigns that appear differently on different devices.     Can you see how your RTP campaigns will be displayed on multiple devices In the campaign editor, you can use the preview tool to view how an RTP campaign will look. This tool will allow you to change the view settings to preview your campaign on all different kinds of devices with different screen sizes.     Can campaigns be displayed only on one page Yes, this can be done by using the "Include Pages" field in the segment editor        Go to the Segments page and hit the Edit button on the segment associated with your campaign        Use the Include Pages field to enter the specific page that you wish to have the campaign display on        You can also use this field to include any page with a specific keyword in the URL. To do this, use wildcard characters (*) which will match any sequence of characters. For example, "*product*" will match any URL that contains the keyword "product".     Can I insert JavaScript to RTP campaigns The RTP's campaign editor supports any standard and valid HTML, JavaScript, or CSS codes. Invalid codes will be stripped off the campaign's HTML   While using valid HTML, JavaScript, or CSS will work as expected, the use of jQuery can be problematic. Campaigns generally load very fast, especially In Zone campaigns, and they will often load before jQuery even exists on the web page. This can cause error messages in the developer's console or issues loading the campaign. If you need to use jQuery on your page, contact Marketo Support and we can try to come up with a simple workaround. Advanced solutions will need to be developed by a third party developer or the PS (product services?) team.     Can RTP campaigns be blocked by ad blockers or JavaScript blockers Basically, no. For a more in depth answer, please see Web Personalization (RTP) - Can RTP Campaigns Be Blocked by Ad Blockers or JavaScript Blockers     Does marketo RTP support animated GIF files Yes, we do support both static and animated GIF files in RTP campaigns. We do still recommend you preview and test the campaign to assure that the GIF appears as you hoped it would.     Does RTP impact SEO RTP does not affect any SEO performance and in some cases it can even improve SEO ranks due to longer website engagement. Search engines use robots to crawl through the content of web sites, which happens before RTP runs campaigns and personalizes content. This means that content from RTP does not get picked up by the search engines' robots, and will not contribute to a web page's rank. In many cases, RTP will actually improve a web page's SEO rank. Since RTP can increase engagement among a page's visitors, it can improve behavioral metrics like average time on a site, pages per visit, etc.     Does RTP support HTML5 Yes, all campaign types in RTP support HTML5.     How does Any Page in the Target URL field work The "Any Page" option in the target URL means that once the visitor matches the target segment, the campaign will be shown regardless of which page they are on within your web site.     How does RTP A/B testing work A/B testing a campaign consists of deploying slightly different versions of a campaign to test which version performs the best. To learn how to A/B test a campaign, see AB Test Your Web Campaign   The test works by randomly selecting a certain percentage of users to see one version of the campaign, and the rest see the second version. If the campaign is set to be Sticky (you can find this option in the campaign editor, shown below), the visitor will see one version of the campaign for their entire session on your web site. This means if the user is first shown campaign B, they will keep seeing campaign B until the end of their session. In that visitor's next session, they may see either campaign A or B.   If the campaign is not Sticky, the visitor will only be shown the campaign once during their session, whether that be campaign A or B. In their next session, they will again only be shown the campaign once, and again it could be either campaign A or B.     How can RTP recognize the search term When you visit a web page, your browser will keep track of the URL of web page that you were on directly before getting to that page. This is known as the "referral" URL. With the referrer URL, it is relatively simple to extract the search terms.   RTP uses this ability to extract search terms from the referral URL to determine the search terms used and record them in Marketo.   Unfortunately, Google has recently begun to withhold and encrypt much of this data, making it impossible for RTP to extract the search terms in some cases. For now though, you will still be able to get all search terms from other search engines like Yahoo and Bing.     How the RTP industries and organization groups are defined Industries In the segment editor there is an option to target visitors that come from specific industries, including: Agriculture & Mining Business Services Computers & Electronics Consumer Services Defense Education Energy & Utilities Financial Services Government Healthcare, Pharmaceuticals, & Biotech Manufacturing Media & Entertainment Non-Profit Other Read Estate & Construction Retial Software & Internet Telecommunications Transportation & Storage Travel Recreation and Leisure Wholesale & Distribution   Marketo uses advanced machine learning algorithms to determine the industry based on data from _____. Marketo also uses keywords in the organization's name to get a better match for its industry. For example, an organization named "UCSF Medical Center" probably belongs to healthcare just based on the name itself, and "Stanford University" probably belongs in Education.   Organization Groups You can also target visitors in companies of various sizes, or Organization Groups, including: Fortune 500 Fortune 1000 Global 2000 Enterprise SMB   Marketo uses Forbes' annually updated lists to determine companies in the Fortune 500, Fortune 1000, and Global 2000 groups. Enterprise companies are defined as those with more than 1,000 employees and revenue greater than $250 million. SMB companies are all (non-ISP) organizations that are not defined as any of the above.   For more information on segment categories, visit: https://docs.marketo.com/display/public/DOCS/Using+Web+Segments     How accurate is RTP's reverse IP geolocation targeting IP based geo-location targeting has a 95% accuracy rates for country level and around 85% for states. For ISPs (Internet Service Providers) it is less accurate, because they often use different physical proxies and change their routing more often. Over time we follow the changes and update our database continuously.     Is it possible to redirect target visitors to specific pages Please see Web Personalization (RTP) - Redirect Targeted Visitors to Specific Pages     Is it possible to use segmentations from the Lead Database in RTP Currently this is not a feature that RTP supports. However, see this document if you wish to implement a work-around.     Is there a way to restore a deleted campaign There is no way to restore a deleted campaign in RTP. However, if you need to restore a deleted campaign, contact Marketo Support and it can be done if it was recently deleted. Unfortunately even restoring the campaign through Marketo Support will not restore the campaign's performance statistics.     RTP or CMS campaigns - which will win CMS campaigns are generally injected to the web page, meaning it runs before the page loads. RTP, on the other hand, runs as the page is loading. Since RTP campaigns run after CMS campaigns, they will override the CMS campaign and the page will only show the RTP campaign.     How to use the User Context API segmentation The User Context API is a very advanced and technical functionality. All of its documentation can be found here, on the Marketo Developers database.     What are the recommended sizes for RTP campaigns Of course the size of your RTP campaigns is up to your discretion, but here are our recommendations for various types of campaigns: Dialog (Square Pop-up): 250 x 250 pixels Widget (Medium Rectangle): 300 x 250 pixels For more standard sizes: https://en.wikipedia.org/wiki/Web_banner#/media/File:Standard_web_banner_ad_sizes.svg     What does the "Marketo Email Campaign" option mean When creating a segment with the filter "Marketo Email Campaign", the segment will only match visitors that visit your website after clicking an email in the specified campaign.       What happens when a visitor qualifies for more than one campaign When a visitor qualifies to see more than one campaign, depending on the types, you may see multiple campaigns on the page or only one. Below is a table explaining what happens when a visitor qualifies for two campaigns:     When only one campaign is to be shown, the campaign that is displayed is chosen randomly between the two. When a visitor qualifies for two In Zone campaigns with the same Zone ID, the campaign that is displayed is also chosen randomly.     What is a conversion in RTP A direct conversion is a visitor that became a lead after clicking on an RTP campaign. In a summary report, you will see the Direct Lead Conversion Rate, which is simply the percentage of clicks on the ampaign that lead to direct conversions.     What is the limit of organizations you can target for an RTP campaign There are no constraints on the number of organizations included in a campaign.     What is the limit of names allowed in the 'Organizations' criteria The limit is 100 names. It is a best practice to use dynamic lists instead. Dynamic lists will generally perform better because they are designed to index and handle larger lists.   What is the limit of rows exported in an Excel export By default, RTP limits the number of rows in an Excel (CSV) export to 100.  If you need more rows than that, you can increase it by going to User Settings and changing the value for 'Number of Rows in Excel Export.'  The maximum allowed is 10,000 rows     What is the limit of Zip Codes allowed You can enter up to 6,500 zip codes. They must be separated by semicolons (01234;12345; etc.)     What is the limit of segments allowed The segment limit varies: it can be 30, 60, or unlimited depending on your Marketo subscription type. If you have reached your subscription's limit, you will want to clear out segments that are not being used.   If you get an error message saying you've reached your limit, yet you believe your subscription makes you eligible for more segments, contact Marketo Support.
View full article
Required Profile Permissions for Marketo Synchronization API Enabled Manage Public Documents Manage Public Templates Edit HTML Templates Edit Events Edit Tasks Convert Leads Transfer Lead* Transfer Record* Enable Read/Create/Edit/Delete access on the following required Standard Object Permissions: Opportunities Contacts Leads Accounts Campaigns (if you choose to enable campaign sync) From the Profile Detail page, click Edit and complete the steps in this section.In the old profile layout the following should help: Enable the following Administrative Permissions: API Enabled Manage Public Documents Manage Public Templates Edit HTML Templates Transfer Record * Enable the following General User Permissions: Edit Events Edit Tasks Convert Leads Transfer Lead* Enable Read/Create/Edit/Delete access on the following required Standard Object Permissions: Opportunities Contacts Leads Accounts Campaigns (if you choose to enable campaign sync) Click Save to save your changes and return to the Profile Detail page. Enable Read access on any custom objects that you'd like to sync with Marketo. Marketo only supports syncing of custom objects associated with leads, contacts, and accounts. For merging leads, this profile needs Edit and delete access on the lead object and on all objects (standard and custom) that your Leads and Contacts use.   *Transfer Lead and Transfer Record are optional but may be required if you wish for Marketo to be able to change the owner of a record   You must add each field you want synced to Marketo to your page layout; all other fields will not be synced.  If you use other editions of Salesforce, Marketo will sync down all fields that the sync account has permission to access (whether or not they're in the page layout).    
View full article
Issue Description REST API call, Get Lead Activities, is returning 603 error   Issue Resolution Error 603 refers to 'access denied' where authentication is successful but the user doesn’t have sufficient permission to call this API. Additional permissions may need to be assigned to the user role. http://developers.marketo.com/rest-api/error-codes/   Go to Admin > Users and Roles Select API User and identify what role it is assigned to (e.g. API role) Go to Roles and check the permissions assigned to the API role Check to see if the API role does not have 'Read-Only Activity' or 'Read-Write Activity' permission In order to make a Get Lead Activities REST API call with the API user, the API role of the user must be modified to have permissions to  'Read-Only Activity' or 'Read-Write Activity'. If you use Workspaces and Partitions, make sure the API User has the necessary access. Is this article helpful ? YesNo
View full article
This article describes how to use Marketo email templates. Templates allow you to "write once, publish many times." Email copy writers can use a single template for emails, ensuring that you, as the template editor, have control over the structure of emails. IMPORTANT: You should be proficient with HTML before you create Marketo email templates. Customers have the option of bypassing email templates and paste in fully made emails into the email editor directly.  If would rather not use the Marketo template system, you can replace your email template's HTML with the Replace HTML function in the HTML Tools pulldown. Creating a New Template From the Design Studio, use the New menu to create a New Template: The Create New Template window opens. Enter a New Template Name and optionally add a description.  Click Create when you're done. The Email Template Editor opens in a new window, showing the Preview tab. Note: If you receive a browser warning about pop-up windows, choose to allow all popups from the Marketo domain. From the Email Template Editor window, click the HTML Source tab. Replace the HTML in this window with the HTML for your template. Click the Preview tab to see what your template looks like. Making Sections of Your Template Editable Right now, the content of the template is NOT editable. You will want to make sections of the email editable for the copy writer to update. While at the same time, you will want to keep sections of the email unchangeable, like a company logo, headers and footers, style elements, etc etc. Put a <div> or <span> tag around the the area of the text you want to make editable, give it a class of mktEditable and include a unique id like this: <div class="mktEditable" id="somethingUniqueWithNoSpaces"> Content you want to be editable.  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div> IMPORTANT NOTE: You must use a <div> or a <span> tag to wrap your text. All other tags may cause errors.  Always use a unique ID for each section. After you add this HTML around the area of the text, go to the Preview tab and click the Show Edits button in the menu bar. The editable parts will be highlighted in yellow. You can make additional sections editable also, but make sure you assign each one of them a unique id in your HTML. Copy writers will be able to use this template to create their emails. Adding Tokens A token is a dynamically updated field you can add to your email that will select information from the database. In the following example, we selected the First Name and Last Name tokens to add to the email. All the leads who are sent this email will have their first and their last names automatically inserted when it is sent to them, making the email more personalized. From the Email Template Editor, click the HTML Source tab. From the Palette, search for the desired token using the Quick Find box.  Example: First Name Drag the tokens to the section of the HTML where you wish the text to render.  Then replace the default value with the text that you want to appear if there's no field value. Click the Preview tab to see how the tokens appear in the email. The edited text now appears in the email. What if the value of the token is empty? In this example, if your database does not have the first or last name for the lead, then nothing would appear in that space in the email. However, you could edit the tokens to have a default value to say something like "Valued Customer" in case the token does not have a value to render.  Just replace the text "edit me" with the desired default value. Note:  When you send a test email, the default values will always be used. Validating the HTML Before you send the email, you should make sure you are using valid syntax with no errors. IMPORTANT NOTE: HTML Errors will cause your spam score to go up.  Ensure deliverability with valid markup.  A common error is to miss an alt="alternate text for an image" attribute in an image.  Most email clients block images, so this is a critical error to avoid. From the Template Designer, click Validate HTML. The HTML Validation Summary window appears. In this particular example, the template is missing a </div> tag in line 63 column 29 of your template, so the window shows a syntax error. Click the OK button. Go back to the HTML Source tab and fix the error. Click the Validate HTML tab again. If you fixed the HTML syntax error, you should see the following window: Sending a Test Email From the Template Designer, click Send Test Email. The Send Test Email window appears.  Either enter valid email addresses in the Send To field separated by commas (,) or pick a set of previous recipients using the pulldown. Click the Send button when done: The email should take a few seconds to arrive.  It may take longer depending upon how it is processed by your mail server. Approving the Template When you are done with your changes to the template, you need to save it. From the Template Editor, just above the Palette, click Save & close to close the template. Note: You do not have to click Save & close to save the template. It saves automatically while you are working on it. The template has not yet been approved. Until it is approved, it cannot be used by any copy writers. To approve the template: Click the Design Studio tab. Right-click the template in the left tree. Select Approve draft. Look at the template in the Design Studio in the left tree. Approval is indicated by a check next to the template name. Your template is now ready to go.  You can move on to creating emails in Marketo based on that template. Best Practices for Creating Emails Use the Marketo B2B Marketing Resources to learn best practices for created targeted email campaigns.
View full article
Issue A webhook that looks to be structured the same as other functioning webhooks is failing with HTTP Error 400: Bad URL request. Solution A 400 error message usually means that the request was malformed. In other words, the data stream sent by the client to the server wasn't formatted in the exact way required by the receiving service.  You will need to work with the service you are trying to reach to figure out the exact cause of the error with the webhook.
View full article
Included in this article Questions What is the architectural change Marketo is making? Today, we have two packages in the Salesforce AppExchange: The Marketo Lead Management (MLM) Package The Marketo Sales Insight (MSI) Package When installed, the MLM package auto creates a set of fields in Salesforce. Marketo populates these fields with data as a part of our regular sync. The MLM package is not currently required for syncing. However, it has been a prerequisite to install before you install the MSI package. The MLM package has reached the end of life and is going to be retired. The MSI package will no longer be dependent on the MLM package and our customers will be able to directly install the MSI package. As a result, Marketo will stop updating the fields created by the MLM package. The configuration change will begin on August 15th and will be staggered out over the next 6 months. If some or all of the fields created by the MLM package are important to your organization, you can recreate them by following the instructions here: Adding Marketo Fields to Salesforce How will the primary Salesforce integration affected? It won't be. Marketo continues to invest in and create value for customers through our strategic partnership with Salesforce.com.  Because of this, we’re excited to share some news with you on our continued commitment to our partnership. Please see the documentation here for more information: Marketo Continues Best-In-Class Integration with Salesforce for Customers We never installed the MLM package. Does this change affect us? No, it does not. Do I need to uninstall the MLM package from my Salesforce instance? No. Marketo will simply not update the fields created by this package. If you prefer to uninstall the MLM package, that’s fine too. There will be no impact to the data in those fields. If I do uninstall the MLM package, should I do that before or after recreating the new fields? It's best to recreate the new fields prior to uninstalling the MLM package. What should I be aware of before making these changes? We've prepared lots of documentation (found at the bottom of the doc here) that should be reviewed prior to making the configuration changes here. Some customers may have other dependencies on the affected fields, (such as Workflows, ApexTriggers, other AppExchange packages, Formula Fields, or Reports), so these should be evaluated before making the changes. Check out our documentation here for more detailed information: Changes to Marketo Salesforce Sync – Preventative Troubleshooting Is there any data loss? No, the fields in the MLM package consist of marketing data that will continue to exist in your Marketo instance. If you would still like to have them in Salesforce, you can create new fields, and Marketo will sync the data to Salesforce. Instructions to create these new fields are documented here: Adding Marketo Fields to Salesforce  What if I do nothing? Both MSI and your sync will continue to work. However, once the sync of data is shut down on January 31st, 2017, Marketo will no longer be able to update the fields that were created by the MLM package. This can result in stale data in Salesforce, as data for these fields will continue to change in Marketo, but will not be pushed to Salesforce. Do we need to create all the fields? We only care about Lead Score. Since we are sun setting the MLM package, there is no longer an “all or nothing” proposition. You can create just the fields you want in Salesforce. Can we create a few fields now, and a few later? Yes, you can create some of the fields now, and some later when/if you need it. What happens once we create these new fields? Once you create these new fields, Marketo will automatically recognize these fields in the next sync cycle and map them to the appropriate Marketo fields. Marketo then starts a background process independent of the regular sync to update Salesforce with values from Marketo. For example: You create a new field in Salesforce for Lead Score on the lead and the contact. The API name for this field per our instructions is mkto71_Lead_Score__c In the next sync cycle, Marketo detects that this field has been created and automatically maps it to the Lead Score field in Marketo. A background process is kicked off automatically to start populating these new fields in Salesforce with the appropriate Lead Score from Marketo. Once the “backfill” is done, a notification is sent to the Notification Center letting you know that this process is complete.  Think of the backfill process as an initial sync where we push data for these fields into Salesforce.    How long will it take for Marketo to complete this “backfill”? It is tough to give an exact timeframe. To a large extent it depends on the number of records Marketo needs to update in Salesforce. As a rule of thumb we expect to update at roughly the rate of 10K records per hour. Will this affect my Salesforce sync backlog? The backfill process is separate from our regular sync queues and will not be affected by any backlog there may be in your instance. However, when Salesforce is updated with data during the backfill, it will change the SysModStamp of the records updated. This in turn will require our regular sync to check if any of the other fields have changed on these records. This check is done as a part of the regular sync and could have an impact on your backlog for a short period of time.  For a particular field eg: Lead Score, do we need to create it both on the Lead and the Contact? While not absolutely required, it is highly recommended that for any field that you need, it is created on both the Lead and the Contact. Don’t forget to setup the conversion mapping in Salesforce too. Is there any change to MSI? Your MSI package has already been patched to remove the dependencies it has on the MLM package. This will allow you to uninstall the MLM package if you want to. Additionally, if you currently use the “Debug Mode” setting in Sales Insight Config (very rare), the mouse over on Stars in the Best Bets sections will no longer show the Lead Score. I have some other questions not covered here. How do I get them answered? Discussion thread We've created this discussion thread in the community to address any questions you may have. This discussion thread will be monitored by the Marketo team to ensure you get answers to your questions: Changes to Marketo Salesforce Sync – Questions and Discussion Recap Summary Now that the changes have been completed, and the deprecation date has passed, this doc will give you the overview of what has happened: Changes to Marketo Salesforce Sync - Recap Summary Overview Documentation This doc will give you a high level overview of what the configuration changes are and what to expect moving forward: Changes to Marketo Salesforce Sync - Overview  Release Schedule The release is being staggered over the course of 6 months. This doc will give you exact details so you can know precisely when your Marketo instance will be updated: Changes to Marketo Salesforce Sync – Release Schedule Under the Hood Documentation This doc will give you all of the nitty gritty details of exactly what is happening. If you're looking for in depth technical details, this is the go-to doc to check out! Changes to Marketo Salesforce Sync – Under The Hood Recreating Affected Fields There are different versions of Salesforce, but don't worry, all of the details on how to recreate the affected fields as well as a video tutorial can all be found in the documentation here: Adding Marketo Fields to Salesforce Preventing Problems In Salesforce Recreating the new fields in Salesforce can cause your Workflows, Apex Triggers, Reports and AppExchange apps behave differently. They'll need to be updated and this doc will show you what to watch out for: Changes to Marketo Salesforce Sync – Preventative Troubleshooting Contact Marketo Support If you would prefer to talk to someone live, please contact Marketo Support over any of the channel listed here: Contact Marketo Support
View full article
Included in this article Overview Marketo's Live Chat offers a great way to get the help you need. Chat live with Marketo experts and we’ll answer your questions, point you to detailed support resources, or open a support case. Our Live Chat Support feature is a convenient way to connect with us. Live Chat Availability Marketo Live Chat is available around the clock during the week on a 24x5 schedule, excluding regional holidays. Access to Live Chat depends on your support level as shown below: Online Business Premier Elite Support Portal X X X X Live Chat X X X X Phone X X X Starting a Live Chat Session Your Authorized Support Contacts can start a Live Chat session by visiting the Support Portal at support.marketo.com. Locate and click the Live Chat link or button to initiate a chat session. If you do not see this panel in the Support Portal, you may not be an Authorized Support Contact. Please contact your Marketo admin to manage your authorized contacts. Where to Locate the Live Chat Button The live chat option will appear on the Support page in the Community and will also show up in the Case Connector when logging a case online. Support Additional Questions Have additional questions about Live Chat or other support features?  Please feel free to contact us at marketocares@marketo.comsupport@marketo.com Want to upgrade your Service level? Please contact your Marketo Account Manager.
View full article
If you ever need to change your CNAME there are a few things you should consider. Old Links In order to ensure that old links sent out via email are not broken, you should: Remove the old CNAME Setup your new primary CNAME Add the old one back in as a domain alias. You can use Add Additional Landing Page CNAMEs for detailed instructions on adding a secondary CNAME. This will allow all old links to still be functional. Cookies Our recommendation is to change the sub-domain so that cookies can be shared. If you change the top level domain itself, the cookies cannot be shared and every lead would have to re-introduce itself to the new domain by either clicking on a link in an email or filling out a form. Same top level domain go.mycompany.com > info.mycompany.com Good! Cookies are shared. Different top level domains go.mycompany.com > go.mynewcompany.com Bad! Cookies are not shared.
View full article
Issue This describes the difference in how filter logic applies to triggers and filters in a Smart Campaign Smart List. Solution Issue Resolution You can view the video on this here. Filter logic in a Smart List only applies to filters (the green criteria) and not triggers (the orange criteria.) If you have multiple triggers in a Smart Campaign, they will always operate on ANY/OR logic, which is to say, only one of the triggers needs to fire in order for the Smart Campaign to run. The filter logic you select, whether it is AND, ANY, or Advanced, will be used to further filter the leads after the trigger has fired.
View full article
Please ensure that you have access to an experienced JavaScript developer. Marketo Technical Support is not set up to assist with troubleshooting JavaScript. Summary: Say you want to validate a custom field before someone submits a Marketo form on a Marketo landing page, then let Marketo do it's standard validation. You can do that by overriding the formSubmit function in Javascript.  You can override it with a Custom HTML element for a single page; you can also add this Javascript to your landing page template so it affects many landing pages. First, build a Javascript function to execute your custom validation (formIsValid() in the example below).  It should return a value of "true" if the fields validate. If not, return false. Open the landing page for editing and drag a Custom HTML element onto the web page.  Paste in this Javascript and add your custom validation to the formIsValid() function. <script type="text/javascript" src="/js/public/jquery-latest.min.js" language="Javascript"></script> <script type="text/javascript">      // set no conflict mode for jquery   var $jQ = jQuery.noConflict();   function myFormIsValid() {     var thisIsValid = true;     // Put your custom validation here.     // If anything goes wrong, set thisIsValid to false.         // for example, show an error message if the email contains "bob"     if ($jQ("#Email[value*=bob]").length > 0) {        Mkto.setError($jQ("#Email ~ span").prev()[0],"No Bobs allowed!");        thisIsValid = false;     } else {        Mkto.clearError($jQ("#Email ~ span").prev()[0] );     }     return thisIsValid;   }   function formSubmit(elt) {     if (!myFormIsValid()) {        return false;     }     return Mkto.formSubmit(elt);   } </script> Here's another example that checks if a required checkbox, such as a terms of service agreement, is filled before submitting: <script type="text/javascript" src="/js/public/jquery-latest.min.js" language="Javascript"></script> <script type="text/javascript">      // set no conflict mode for jquery var $jQ = jQuery.noConflict(); function myFormIsValid() {     var thisIsValid = true;       // show a message if they fail to check the box     if ($jQ("#TermsOfServiceAgreement").attr('checked') != true) {        Mkto.setError($jQ("#TermsOfServiceAgreement ~ span").prev()[0],"Please agree to the terms above.");        thisIsValid = false;     } else {        Mkto.clearError($jQ("#TermsOfServiceAgreement ~ span").prev()[0]);     }     return thisIsValid; } function formSubmit(elt) {     if (!myFormIsValid()) {        return false;     }     return Mkto.formSubmit(elt); } </script> Follow these instructions if you want to retrieve the form fields via Javascript: Setting or Getting a Form Field Value via Javascript on a Landing Page The example above also shows you how to set an error field If you want to set or clear an error message on a field, you can use these two functions in your validation function. Note: These only work on form fields from the Marketo form designer. Replace the highlighted yellow bits below: Email -- the ID of the field where you want to show an error error message -- the text you want to display for this error           // error -- highlight the field           Mkto.setError($jQ("#Email ~ span").prev()[0], "error message");           // no error -- clear the field           Mkto.setError($jQ("#Email ~ span").prev()[0]);
View full article
What is Marketo’s Marketing Calendar? What are its benefits? What features does Marketing Calendar include? Is it free or do I need to pay for it? How do I get or buy Marketing Calendar? As of our August release: 1 week after our August release How do I know if Marketing Calendar has been turned on? What is the Program Schedule View? Will I need a services package to implement Marketing Calendar? Is this article helpful ? YesNo
View full article
Double opt-in is the gold standard of email permission. Also known as confirmed opt-in or COI, this practice is where a person fills out an opt-in form and is then sent an email and must click a confirmation message before they are added to the mailing list. Here are some great reasons to use double opt-in: Protects against typos and bots Protects against spamtraps Reduces bounce rates, improves deliverability Required in some regions Increases engagement rates   If you'd like to set up double opt-in with Marketo you can do this with the use of the Marketing Suspended function. Marketing Suspended is a status that is functionally equivalent to Unsubscribe - Marketo will not send these leads marketing emails, but will send them operational emails. You'll need an opt-in form and a pair of trigger campaigns. First, set up a trigger campaign such that, when the form is filled out, the flow has a Change Data Value to mark the lead as Marketing Suspended, and then a Send Email step to send an operational email that you will use to confirm their request to join your mailing list. Your confirmation email should be short and to the point, and make sure to set it as an operational email. We recommend that it is clearly branded, use a simple subject line such as "Confirm Your Request to Join Our Mailing List" or similar, and include a link within to a simple confirmation landing page. Set a second trigger campaign such that whenever someone clicks the confirmation link to the confirmation landing page, the flow will change data value Marketing Suspended new value is false. A follow up flow should be set up that if the recipient doesn't activate the link in the confirmation email the address is either deleted or set to Blacklist within the database after a reasonable timeframe, usually 2 weeks.  The Blacklist status will ensure that no email is set to that lead until they have completed the subscription process. This prevents future operational emails from being sent to this email address unintentionally. That's it!  Now, when someone fills out your opt-in form, they will be set to Marketing Suspended until they click the confirmation link in your operational confirmation email. You'll be well on your way to increasing the quality of leads on your mailing list by implementing this simple process.
View full article
  What’s changing? Previously, customers could choose whether they wanted to secure their pages and tracking links via SSL. The responsibility of procuring, maintaining, renewing, and securely sending the certificates to Marketo lie entirely with the customer – Marketo just hosted them. In 2017, Chrome and Firefox announced they would begin flagging any unsecured pages with clear ‘NOT SECURE’ warnings in their 2018 releases to encourage the use of SSL, and even distrusted certificates from certain providers. This essentially designated the certificate as a foundational security necessity to prevent customers fleeing from unsecured sites.   This change reinforced the increasing need for companies to protect their data and mitigate against online security threats. Recent studies have shown that ~45% of organizations are targets of Distributed Denial of Service (DDoS) attacks, typically lasting a few hours, and potentially costing companies not only lost revenue, but also customer data and overall trust. [1]   Simply put, an SSL certificate just isn't enough anymore, which is why Marketo updated how we manage SSL certificates and the overall security of our customers' landing pages with the introduction of Secured Domains, a comprehensive managed service, in early 2018.   How is Secured Domains different than an SSL certificate? In contrast to our previous solution, Secured Domains is less focused on the SSL certificate itself, and rather the security and performance benefits gained from our partnership with Cloudflare, an industry leader in secure solutions. Secured Domains not only includes the necessary SSL certificates, but, more importantly, provides robust security protection thanks to the investment made to secure our servers, which host Marketo landing pages, behind Cloudflare’s trusted security infrastructure.   With Cloudflare’s enterprise-grade tools securing our servers, we protect against security vulnerabilities and attacks on your Marketo pages. Once Secured Domains is implemented for your instance, your domains will be protected via the following:   Managed Web Application Firewall (WAF): keeps your pages secure by filtering and deflecting malicious attacks DDoS Protection:  keeps your pages live by absorbing attacks and preventing the pages (and Marketo's infrastructure) from crashing Content Delivery Network (CDN): a load balancer to distribute page views based on geolocation, which allows landing pages to load more quickly   Secured Domains also shifts the ownership of SSL certificates onto Marketo, which eliminates the hassle of Marketing & IT teams having to manage them and, because they renew automatically, you no longer need to worry about your landing pages crashing due to an expired certificate. The certificates are provisioned by Cloudflare and authored by DigiCert at an enterprise-level offering. For more information, please see our Overview & FAQ: Secured Domains for Landing Pages.   How do I learn more about Secured Domains? If you’re an existing customer, please contact your Marketo Customer Success Manager to add Secured Domains to your subscription. As of September 2019, a base Secured Domains package, which secures your first landing page domain and first tracking link domain, is now included automatically upon your next Marketo renewal. If you are unsure how to get in touch with your Customer Success Manager, please contact CustomerCare@marketo.com.   If you’re considering Marketo for your marketing automation solution and would like more information on Secured Domains and how it can improve your site security and performance, please contact GRP-Marketo-Sales@adobe.com.     Note Due to the security and risk mitigation enhancements we've made to protect Marketo servers, all customer domains are now hosted on Cloudflare. Marketo customers will be required to use the auto-renewing SSL certificate included with Secured Domains unless an exception is granted (more information on exceptions can be found in the FAQ). If you use more than the 1 landing page domain and 1 tracking link domain covered under the base offering, additional domains may simply be added on a la carte - talk to your CSM or Sales contact for pricing details.   [1] Tim Matthews, Imperva, DDoS Impact Survey Reveals the Actual Cost of DDoS Attacks, 12 Nov. 2014  
View full article
Issue You want to run a report that will show you which leads/people clicked on links within a specific email.     Solution The Email Performance report will show click rate and what links are in emails, but not which specific leads leads clicked on a link. To see that, you can instead create a Smart List. Using the filter of "Clicked Link in Email," you can then pick the desired email and the results of the Smart List will show you which leads clicked a link in the desired email.
View full article
Included in this article   Overview Sync Filters for Existing SFDC Integrations Sync Filters for New SFDC Integrations Overview It is often necessary to prevent specific leads from syncing between Marketo and SFDC. There are a few different ways this can be done, such as sharing rules on the SFDC side, but the most effective way is through a Marketo Custom Sync Filter.   A Custom Sync Filter uses a custom field to mark each lead record to indicate whether that lead is allowed to sync between Marketo and SFDC. Here’s how to get it set up!     Sync Filters for Existing SFDC Integrations   If you already have an SFDC integration in place but want to stop some already-synced leads from continuing to sync, this section will show you how to make that change.   1. Create a new custom field in Salesforce. The Marketo bi-directional sync will automatically identify the new custom field and map it between Marketo and Salesforce. The best field type to use is a Checkbox field within Salesforce and the field will need to be created on the Salesforce Object that needs to be filtered (i.e. Lead, Contact, or both). Once the field has been created in Marketo by the bi-directional sync, it will be listed under Admin > Field Management.   Note: A Custom Sync Filter field can also be created on the Account object to dictate whether an account is allowed to sync. This sync filter will be applied independently from the Lead/Contact sync filter.   2. Update the records in Salesforce with the corresponding value you need to indicate whether the record should sync or not. Sync filters can be set up in two ways—a True/Checked value can indicate that a record is allowed to sync, or a True/Checked value could indicate that a record is not allowed to sync. This choice is up to you.   3. The Custom Sync Filter can now be implemented. Contact Marketo Support and request a Custom Sync Filter be activated. Be sure you include the custom field name, which configuration you need (checked=sync vs checked=don’t sync), and all records have been populated with the correct values. Once it has been applied, you’re all done!     Sync Filters for New SFDC Integrations   If you are setting up a new SFDC integration with Marketo, you can set up the sync filter as part of the integration process. This will let you designate which leads and contacts are ever allowed to sync, but this must be done in the middle of the initial SFDC sync process.   1. Create a new custom field in SFDC. The best field type to use is a Checkbox field, and you’ll need to set it up with the same name on both the Lead and Contact objects. Note: A Custom Sync Filter field can also be created on the Account before the initial sync, and it will be applied in the same way.   2. Update the records in Salesforce with the corresponding value you need to indicate whether the record should sync or not. Sync filters can be set up in two ways—a True/Checked value can indicate that a record is allowed to sync, or a True/Checked value could indicate that a record is not allowed to sync. This choice is up to you.   3. Begin your Salesforce Sync Setup but do not finish it. There are two sets of Salesforce Sync installations, one for Enterprise/Unlimited Edition and the other for Professional Edition. For both Enterprise/Unlimited and Professional Edition versions, three documents correspond to the three different steps: “Step 1 of 3”, “Step 2 of 3,” and “Step 3 of 3”. For both versions, complete all steps of “Step 1 of 3” and “Step 2 of 3”. When you get to “Step 3 of 3”, you will only do the first half of the steps and then stop. Complete the sections “Retrieve Sync User Security Token” and “Set Sync User Credentials,” and then stop there. Do not proceed to start the sync.   4. This is when the sync filter needs to be implemented. Contact Marketo Support and request a Custom Sync Filter be activated. Be sure to include the custom field name, which configuration you need (checked=sync vs checked=don’t sync), and note that all records have been populated with the correct values. Once it has been applied and the Marketo Support case is resolved, you’re done and can start your initial SDFC sync!
View full article
So you’ve now used the previous document (Getting Started With Guided Landing Pages:) to download a template from our library and set it up in your Marketo instance, you have even used it to make a landing page or two and you’ve customized those landing pages, all of which is fantastic news! Good job!   But now you’re looking at the template and things need to be changed: That’s a good start, but the Elements on the page may not seem “right” to you. We have an image on the left, a text headline on the right and a form below the text headline.   What if that’s NOT the layout you intended? What if, instead, you wanted the headline at the top, centered on the page and the image and the form side by side below the headline?   All of the elements on the template can be added, removed, re-ordered, changed up, switched out and modified. Doing so, however, absolutely requires knowledge of HTML. As stated before, if you are not comfortable editing HTML and do not have a resource available to you, please reach out to services@marketo.com, they are able to assist with any sort of coding needs.   Editing a Template:   Let’s go back to the template we created before and edit it and see what we can do about that image, form and headline.   Every object on a Guided Template is called an “Element”, you can see a list of the elements being used on any given page in the right hand pane of the landing page editor. However, that’s not all the elements that can be used on a landing page.   The full list of template elements can be found here: https://docs.marketo.com/display/public/DOCS/Create+a+Guided+Landing+Page+Template   So looking at that list, and knowing we want to change the layout of a text headline, image and form, the Elements we should be looking for are marked like this: class: "mktoText" class: "mktoImg" class: "mktoForm"   That seems easy enough, let’s look at the code and see what we can see.   Scrolling down through the code you will see first a bunch of variables defined. Variables are another sort of item that can be changed on a responsive landing page, please see Editing Marketo Guided Landing Page Templates, Pt. 2 - Variables:  which follows this one. Following that is a bunch of CSS code. CSS stands for “Cascading Style Sheets” and is a way of formatting the same thing over and over again, kind of like setting a font in a word processor. You wouldn’t want to have to re-set your font and size every time you start a new paragraph, right? CSS helps maintain a consistent look and feel across the entire document. Following the CSS, we get to the main section of the template, the <body> section. The <body> tag typically contains what you and I would consider to be “THE” web page. Everything above the body helps define how the web page looks and feels, but the <body> contains the actual content.   Sure enough, right there inside the <body> tag on lines 290 to 295 are the Elements we’re looking for: Each of the Elements we want to re-order are located inside <div> tags. A <div> tag is just a way of separating out one part of the page from the rest of the page. This section is marked as being “special” and the “class=” attribute is telling us in what way this section is special.   Each section starts with <div and ends with </div> closing it off. In HTML it’s important to close elements that have been started, so if we’re going to change the order of things, it’s important to select the entire section, from the <div to the </div>   More on HTML <div> tags here: http://www.w3schools.com/tags/tag_div.asp   HTML renders everything from left to right and from top to bottom. In the code, we are first defining the mktoImage, following that with mktoText and finally with mktoForm. That’s why the objects appear on the landing page in that order: In order to change the layout in a specific way, we will have to take each of the <div> tags containing elements and place them in a table. A table is a way in HTML to order things in terms of rows and columns. The <table> tag is one of the oldest tags in HTML and works on pretty much every HTML capable device.   More on the <table> tag here: http://www.w3schools.com/tags/tag_table.asp   Wrapping the Elements in a table is pretty straightforward. Copy the code to a text editor:        <div class="mktoImg col-lg-6 col-md-6 centered" id="primaryImage" mktoName="Primary Image" style="min-height:100%;" mktoImgClass="expandToFit"></div>      <div class="col-lg-6 col-md-6 centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's Adventures in Wonderland</h1></div></div>      <div class="mktoForm" id="primaryForm" mktoName="Primary Form" style="margin-bottom:40px;padding:10px;min-height:80px;"></div>   Step 1 is to change the order, we want the text to come first:        <div class="col-lg-6 col-md-6 centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's Adventures in Wonderland</h1></div></div>      <div class="mktoImg col-lg-6 col-md-6 centered" id="primaryImage" mktoName="Primary Image" style="min-height:100%;" mktoImgClass="expandToFit"></div>      <div class="mktoForm" id="primaryForm" mktoName="Primary Form" style="margin-bottom:40px;padding:10px;min-height:80px;"></div>   Step 2 is to wrap the content in a table. Inside the <table> tag are special tags that define the rows and columns. <tr> sets up each row and as you saw with the </div> tag is marked with a </tr> ending the row.   <td> defines each column, I know it’s confusing having <tr> where “r” clearly means “row”. You’d think it would be <tc> for column, but trust me, it’s <td>.   More on <tr> and <td> here: http://www.w3schools.com/tags/tag_tr.asp http://www.w3schools.com/tags/tag_td.asp   <table>      <tr>           <td>                <div class="col-lg-6 col-md-6 centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's Adventures in Wonderland</h1></div></div>           </td>      </tr>      <tr>           <td>                <div class="mktoImg col-lg-6 col-md-6 centered" id="primaryImage" mktoName="Primary Image" style="min-height:100%;" mktoImgClass="expandToFit"></div>           </td>           <td>                <div class="mktoForm" id="primaryForm" mktoName="Primary Form" style="margin-bottom:40px;padding:10px;min-height:80px;"></div>           </td>      </tr> </table>   This is the basic structure of the table. There are going to be some tweaks needed, but let’s see how this looks first. Put this in place of the code currently in the template like so: The indented tabs here aren't JUST for readability. The Guided Template Editor has build in code validation and it will return errors if you try to have your elements on the same line as the TD's and TR's. Make sure each item is on it's own line.   Go back and re-approve the draft and then edit the landing page we made before. It’s not pretty, but that’s OK. First we have to get the structure the way we want it, making it look pretty is the very last thing we do.   What we have here is the text headline on the top, which is great. The image and the form are below, left and right, respectively, side by side. That’s just what we wanted.   The problem is that we have a row with one column on top of a row with two columns and that has skewed things slightly. Fortunately this is an easy fix. We just need to take the single column in row 1 and make it stretch across both columns in row 2.   To do that, we add an attribute. Attributes modify the way tags behave.   In the template go back to the code we inserted and find the <table> tag where we set the whole thing up. First we’re going to control the width of the table:        <table width=”100%”>   This tells the browser to render the table at 100% the width of the screen.   Now find the <td> tag that contains the text element.             <td>                <div class="col-lg-6 col-md-6 centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's Adventures in Wonderland</h1></div></div>           </td>   Add the following attribute like so:             <td colspan=”2” width=”100%”>                <div class="centered"><div class="mktoText" id="primaryBodyHeader" mktoName="Primary Header"><h1>Alice's <br>Adventures in <br>Wonderland</h1></div></div>           </td>   So what we’ve told it here is to span two columns and take up 100% the width of the table, and since the table is already 100% the width of the screen, this should fit the page as well. We’ve also changed the class on the <div> so that it simply reads “centered”. This should center the title based on the CSS code defined above.   Now find the <td> tags that contain the image and the form and adjust them to 50% each like so:             <td width="50%">                <div class="mktoImg col-lg-6 col-md-6 centered" id="primaryImage" mktoName="Primary Image" style="min-height:100%;" mktoImgClass="expandToFit"></div>           </td>           <td width="50%">                 <div class="mktoForm" id="primaryForm" mktoName="Primary Form" style="margin-bottom:40px;padding:10px;min-height:80px;"></div>           </td>   Go back and approve the template change and edit a draft of your landing page. There you go! Now if we were preview this and change the size of the window, we get this (image and form are blank as they have not yet been added.)
View full article