Knowledgebase

Sort by:
Issue Trigger campaign with a Data Value Changes trigger for the attribute “SFDC Is Deleted” does not fire when the value is changed to "True." Environment Customers integrated with Salesforce Solution This field, “SFDC Is Deleted”, is a system managed field which we do not log a Data Value Change for. Instead use trigger: "Lead is Deleted from SFDC" to capture these leads.    
View full article
Issue Can multiple Marketo forms be used on the same page? Solution Due to the way Marketo forms are embedded on pages, you cannot have two Marketo forms on a single page (landing page or external). Having multiple forms on a single page can prevent the forms from submitting properly.
View full article
Issue You want to recall emails sent from your Marketo instance. Solution Once an email has been sent from Marketo Servers it cannot be recalled or pulled back. You can cancel a program before it sends at its scheduled time using the steps here: https://docs.marketo.com/display/public/DOCS/Abort+Email+Program The above cancellation only works on Email Programs. If you are wanting to cancel a smart campaign follow these instructions: https://docs.marketo.com/display/public/DOCS/Abort+a+Smart+Campaign Note: A smart campaign will only stop what hasn't been run yet. If you already had 100 emails sent by the time you cancel it, those 100 emails cannot be unsent. You may see in your Outlook an option for "Recall Email." This function within Outlook only works with internal sends/private systems where the client can request the server revoke access to other client mailboxes before they're viewed, such as your office email to other users in the same company.    
View full article
Issue You are trying to edit an existing email template, and it has the status of "Approved with Draft" However the draft is not showing up in menu tree and when you try to edit and save, you get the error "Not Allowed – Template already has a draft." Solution Issue Resolution Refresh the browser or check is the draft is opened in another window. Try logging out and logging back in Try using a different browser to check it further Check if there is a template with the same name that exists elsewhere (Design Studio) Rename the template and check if that is working If the issue persists, please reach out to Marketo Support for further assistance    
View full article
Issue You want to create a field that will grab the web page the form was filled out on and add this as a token in an alert that goes to sales when a form is filled out. Solution This can be achieved either through a Smart Campaign or the JS API code. The code is more efficient because it doesn't mean another trigger is active in your instance. Smart campaign: You'll want to create a smart campaign with Smart List - Fills Out Form and Flow - Change Data Value, [your field name], New Attribute is {{trigger.Web Page}} You would need to reference the trigger token in the alert email so the team knows what product page the end user filled out the form on.   Code: (Embedded Form) This can be done with a hidden field.   MktoForms2.loadForm("//app-**01.marketo.com", "***-***-***", 148,     function(form)     {         form.addHiddenFields({ LastFormURL : document.location.href })        }); The asterisks represent your company's Marketo data (your Munchkin ID and Marketo instance). Your developer will know what to do if s/he is already using the embed code.   Code: (Marketo LP) In a Marketo LP, you will have to edit the template and put this at the end, before the </body> tag :   <script> MktoForms2.whenReady(function (form) {     form.addHiddenFields({ LastFormURL : document.location.href }); }); </script>
View full article
Issue Can you sync Marketo multiple programs to a single Salesforce campaign? Solution Marketo only allows a 1:1 Relationship with Program/Campaign synchronization. If you try to sync a program to a campaign already used by another program you will recieve a error or prompt advising you cannot do it.    
View full article
Issue You need to filter leads who were sent an email by time zone to confirm the Recipient Time Zone feature is working correctly for all leads. Solution The "Was Sent Email" and "Opened Email" filters do include the constraint "Date of Activity" but it is not that granular. You can get granular to the minutes, but you can only select "in past: 5 minutes" for example, not a specific time or date range. One workaround would be to View Results for the Email Program and filter for the "Send Email" activity. You could export the results to a spreadsheet to make sure people are being sent emails at the correct time.    
View full article
Issue Is the System.DateTime token populated based on the timezone of the instance? Solution System.DateTime token is based on your account timezone settings.
View full article
Issue There is a discrepancy for certain emails between Email Insights and Email Performance Report. The data (e.g. sent, delivered, opened and clicked) are significantly lower in Email Insights for the emails as compared to the Email Performance Report for the same emails. Solution There is most likely a discrepancy because at the time Email Insights was first enabled "you’ll have four weeks of historical Email data in addition to all new email activity". There was no request to Marketo support to upload historic data beyond four weeks which would have included data for the emails above. This request relates to the notes below from the article: "We’ll give you a four-week period before you can request Marketo Support to upload your data" The solution is to request that Marketo Support backfill the report data so you have data for Email Insights beyond the four weeks.    
View full article
Issue Using tokens in Email 2.0 Pre-Headers. Solution You can use My Tokens in the Pre-Header thru the Email 2.0 Editor, but not regular tokens. To use a regular token in the pre-header, it you must edit it into the HTML of the base template.    
View full article
Issue You attempt to approve an asset and receive a "Cannot update a stale object" error. Solution This error means that a newer version of the asset exists than the one you started with. This occurs most often with large teams or if you edit an asset in multiple tabs.  When you edit an asset, it creates a draft. Another attempt to edit the asset while the previous draft is open would create a new draft, which then causes your first draft to become "stale." Refreshing your screen should resolve this issue and allow you to approve the asset.
View full article
Issue Facebook Lead Ads was configured in a Sandbox subscription and then migrated to the Production subscription after testing was completed. After that swap, the Facebook Lead Ads integration is not passing records to the Production subscription.   Solution Deleting the Facebook LaunchPoint service does not unregister it from the Facebook Lead Ad pages. To ensure that the Facebook Lead Ad pages is unregistered from the Sandbox subscription and successfully reconnects to the production subscription, perform the following steps: 1. Go into the sandbox and create (or Edit if it still exists) the Facebook LaunchPoint again (just leave the default settings for pages and fields). 2. Once created, go back into the Facebook LaunchPoint and UNSELECT all of the pages that are currently selected (You want to make sure no pages are selected at this point). 3. Save. By doing this you will be unregistering the Marketo endpoint from all the Facebook Lead Ad pages for the sandbox subscription. You can then delete the LaunchPoint if you wish from the Sandbox subscription. 4. Go into the production subscription, since the Facebook LaunchPoint service exists, go back in edit mode and select all the pages you want to leads to come from. 5. Save. This should be able to successfully select the Facebook Lead Ad pages and register them to the production subscription. 6. Test one of the Facebook Lead Ad pages and verify if the data syncs to the Production subscription.      
View full article
Issue URLs generated by a Velocity script token are not tracking when a person clicks on the link in an email   Solution Velocity scripting enforces strict formatting of links in order for them to be tracked:   or must be included in the URL.  If using a variable, the or must be output outside of the variable. The URL must be part of a fully formed <a> tag.  No other type of link tag will work Links must not be outputted from within a for or foreach loop To ensure links are tracked properly, set the entire path inside a variable and then print the variable. Correct: #set($url = "www.example.com/${object.id}") <a href="http://${url}">Link Text</a>   Correct: <a href="http://www.example.com/${object.id}">Link Text</a> Incorrect: <a href="${url}">Link Text</a> (missing http/https) <a href="{{my.link}}">Link Text</a> (missing http/htpps, cannot reference an outside my.token) <page xlink:type="simple" xlink:href="https://www.example.com">Click me</page> (must use an <a> tag)    
View full article
Issue How is syndication ID set up while setting up a referral offer? Solution For a referrer to be given credit they must have a Marketo Syndication ID assigned. This can be done manually (directly on the lead record) or via the social campaigns' Offer Details > Fulfillment Goal > should be set to Referred Sign-Ups. Once you set that up, the referrer will get issued a "syndication id" and be part of that social campaign's participant's list.    
View full article
Issue You come across a few leads who failed to sync to SFDC and would like to have the list of leads who faced the same issue.   Solution Unfortunately Marketo doesn't have a specific type of filter to leads who failed to sync to SFDC. However if they are new leads who haven’t synced to SFDC, then you can filter them by using the filters "Person was created" and "SFDC Type" with condition "is empty". If you want to find the list of leads (previously synced to SFDC) who failed to sync among a particular group of leads, you can filter by following the below steps. 1. Create a new Boolean type field in SFDC namely "Sync Error?" and with the default value as "true". 2. Wait for the field to sync into Marketo. 3. Create a Smart Campaign to select those group of records and the flow steps to change the value of the Boolean field "Sync Error?" to ”False" and then "Sync person to SFDC". 4. Once the campaign has finished running, you will be to pull a report on SFDC on the list of leads who have the value "True" for the field "Sync Error?". It means that the value was not updated to SFDC as the record failed to sync. With this list you will be able to select the records and resolve the sync issue. You can also create a smart list of leads who were never able to sync with the following filters: Lead was synced to SFDC : Assign to : is not empty SFDC Type: is Empty      
View full article
Issue When you navigate to Admin>Munchkin, you see option to select Workspace. Why is that? This is a article attached image   Solution People generally use workspsce either because of their companies geographical location or Business Unit. In each case, the separation is because the marketing assets are completely different.  With that said, If you're using Workspaces in your Marketo account, you probably also have separate web presences that correspond to your workspaces. In that case, you can use the Munchkin tracking Javascript to assign your anonymous people to the correct workspace and partition. This is used to differentiate appropriate leads within workspace with the help of appropriate tracking.   If you don't use the special workspace Munchkin code, the people will be assigned to the default partition that was created when your account was set up. It's named "Default" initially, but you might have changed that in your own Marketo account.  You can only use one Munchkin tracking script for a single partition and workspace on a page. Do not include tracking scripts for multiple partitions/workspaces on your website. I would also like to mention that Landing pages created in Marketo automatically contain tracking code, so you don’t need to put this code on them.    
View full article
Issue How to copy the data from one field to another field using tokens. Solution It’s very easy and it can be achieved through a Smart Campaign. Create a Smart Campaign and set up the Smart List to target the specific leads you want. In the Flow, use the Change Data Value step. You would need to choose the field you are copying to as the Attribute, and the new value as token {{lead.fieldYouAreCopyingFrom}}. When you run the campaign, the values will be copied across.  Be careful when doing this as the process cannot be reversed and any existing data in the field you are copying to will be destroyed. Note: Use appropriate tokens for the field, if the field is available under lead use lead tokens otherwise company tokens.
View full article
Issue You would like to have a new lead created in SFDC after every form submission regardless of whether the contact/lead already exists. Solution When you use the "sync lead", assign the person to lead queue explicitly, that will create a new lead since contacts cannot be assigned to queues. However, this is going to create a lot of duplicates in your database unless your salespeople are converting/merging these leads correctly. Furthermore, these new leads will have no campaign history, no interesting moments, no score. It's better to use an "Inbound sales rep campaign" in SFDC and attach the person to it using an "add to SFDC campaign" flow step. Campaigns can contain leads and contacts and can have workflows assigned to them.      
View full article
Issue How to use a script token to calculate and populate the number of years since a given date.   Solution This can be achieved by using a velocity (email script) token:   #set( $defaultTimeZone = $date.getTimeZone().getTimeZone("America/New_York") )  #set( $defaultLocale = $date.getLocale() )  #set( $calNow = $date.getCalendar() )  #set( $ret = $calNow.setTimeZone($defaultTimeZone) )  #set( $calConst = $field.in($calNow) )  #set( $ISO8601 = "yyyy-MM-dd'T'HH:mm:ss" )  #set( $ISO8601DateOnly = "yyyy-MM-dd" )  #set( $calJoinDate = $convert.toCalendar(  $convert.parseDate(      $lead.JoinDate,       $ISO8601DateOnly,       $defaultLocale,       $defaultTimeZone     )  ) )  #set( $differenceInYears = $date.difference($calJoinDate,$calNow ).getYears() )  #set( $friendlyLabel = $display.plural($convert.toInteger($differenceInYears),"year") )  You joined us ${differenceInYears} ${friendlyLabel} ago!  Where $lead.JoinDate is the joining date. More at http://blog.teknkl.com/velocity-days-and-weeks/    
View full article
Issue Calls made to the REST API return response code 611 "System Error".   Solution Submit a Customer Support ticket with the following information   The full body of the REST API call including the endpoint being called The full body of the REST API response The date and time that the call was made Customer Support will work to diagnose the root cause of the error and the reason a more identifiable error code is not being returned instead.        
View full article