Knowledgebase

Sort by:
Issue You want to understand how Company IDs work within Marketo and how you can interact with these IDs, particularly when dealing with the Person's Company Object. You want to know: The nature and standard of the Company ID in Marketo. Can the Company ID be checked or modified by users without CRM or API integration? If people belonging to the same company share the same Company ID. How to update the Company Object information via the API for multiple leads associated with the same company? Clarification on which field should be used as the basis for updating Company Object information. Solution Marketo manages Company IDs using two distinct identifiers: Company ID: This is a Marketo-specific identifier that is used to organize the link between companies and people within Marketo. External Company ID: A hidden system field used in non-native company object integrations. The Company ID can be accessed through the {{company.Id}} token, while the External Company ID is not directly viewable in the UI. Note: The Company Object API endpoints are disabled when a native CRM integration is enabled in a Marketo instance. Accessing and modifying Company ID You cannot manipulate the Company ID or External Company ID fields from the Marketo UI. Any interaction or modification of these fields must be done through the Marketo API. Updating Company Object information via API When updating the Company Object for multiple leads belonging to the same company: Use the External Company ID or company ID to update the Company Object. Updating the Company Object with the External Company ID will apply the changes to all leads associated with that company. You can also update Company Object fields using the lead API endpoints. These changes will apply to all leads associated to the company. Steps for updating Company Object Create Company: Use the Marketo API endpoint `{{base_url}}/rest/v1/companies.json` to create a company with the necessary data. Create Person: Use the Marketo API endpoint `{{base_url}}/rest/v1/leads.json` to create a person associated with the company. Field Inheritance: Once a person is linked to a Company Object via the External Company ID, certain fields like Billing City, Address, and Postal Code are inherited from the Company Object and are no longer editable from the UI. Creating Fields on the Company Object: Contact Marketo Support to request the conversion of these person fields to company fields.  
View full article
Issue There are discrepancies in the leads activity logs within Marketo, where the Email Delivered activity timestamp is sometimes recorded a few seconds before the Email Sent activity. This sequencing issue causes confusion for analytics teams, particularly when using external analytics platforms like Tableau, as the logical sequence would typically show that an email is sent before it is delivered. Solution Understanding email statuses and utilizing Campaign Run ID for analytics: The confusion arises from a misunderstanding of how Marketo logs email activities and the meaning behind the statuses Sent and Delivered.   Email Sent Status: In Marketo, when an email status is logged as Sent, it indicates that the email has been considered for sending or queued for sending. The status does not mean the email has been physically sent through the servers but rather is prepared to be sent. The logging of this event happens shortly after the email is queued, which could be almost instantaneous.   Email Delivered Status: The Delivered status is an acknowledgment from the SMTP (Simple Mail Transfer Protocol) infrastructure, signifying that the recipient's email server has accepted the email. This status is logged after the event has occurred and the email has been accepted by the remote server.   It is important to note that while both statuses are recorded after their respective events, they come from different systems within the email delivery process. This can sometimes result in the Delivered status being logged before the Sent status, although such instances should be rare. To correctly analyze and interpret the email activity logs, users should adhere to the following guidelines: Recognize that the timestamps for Sent and Delivered may not always be in the expected order due to the separate systems involved in logging these events. Focus on the Campaign Run ID for analytics purposes. This ID is unique to each campaign run and can be used to accurately reassemble the sequence of events, regardless of the order in which Sent and Delivered statuses are logged.
View full article
Issue Multiple alerts are sent from the same campaign.   Solution Recognize that Send Alert functions at the person level, triggering an alert for each individual in a campaign. Utilize Marketo's reporting to send a consolidated notification: Create an Email or Campaign Performance report. Tailor the report settings for the specific campaign. Schedule the report to be sent after campaign completion. This method provides a summarized notification, avoiding the repetition of alerts per campaign member.   Alternatively, use Send Alert for individual notifications where needed, such as: Alerting a lead owner of a form submission. Triggering personalized alerts for specific lead activities.  
View full article
Issue Files uploaded to Marketo's Design Studio, like PDFs or image files, are assigned an HTTP URL instead of HTTPS. This discrepancy can trigger security warnings in emails, as modern browsers and mail clients expect secure links that match the SSL certificate's domain.   Solution To address this issue, follow these steps: Ensure you have a custom landing page rather than the default domain. See under Admin > Landing Pages. Apply an SSL certificate to any new domains added. Marketo won't do this automatically. You can contact Marketo Support to request an SSL application for your domain. Provide necessary details. After SSL implementation, send test emails to check for proper HTTPS encryption and the absence of security warnings.   By implementing these actions, asset URLs and landing pages in Marketo communications should be secure.
View full article
Issue Learn how to design smart campaigns using triggers and filters within the same campaign. Create a campaign that reacts to several different initiating actions or conditions, such as a change in lead status, form fills, or change in data values. Find out whether triggers and filters can be used together, how to combine them effectively, and how to apply advanced filter logic to achieve the desired workflow.   Solution Marketo allows the combination of triggers and filters within a smart campaign. Triggers are considered as initiating events that start the campaign, while filters are used to further refine the selection of leads based on specific criteria. Triggers are always evaluated with an OR logic, meaning if any trigger event occurs, the campaign will consider it for further action. Filters, on the other hand, can be evaluated using AND logic, OR logic, or advanced logic, depending on the requirements. Steps for smart campaign configuration: Combining triggers and filters: In a smart list within a smart campaign, you can have multiple triggers. Each trigger is treated with OR logic, meaning if any of the triggers occur, the campaign will proceed to evaluate filters. Filters are then applied to further refine which leads or records should move through the campaign flow. By default, without advanced logic, filters are evaluated with AND logic, meaning all filters must be true for a lead to qualify. Using advanced filter logic: Advanced filter logic can be used once you have three or more filters. You cannot use advanced logic to change the inherent OR logic of triggers. Filters can be combined using AND, OR, and other complex logical conditions, but this logic applies only to filters, not to the combination of triggers and filters. Understanding the distinction between triggers and filters: Triggers are based on activities or actions, such as Data Value Changes or Person is Created. Filters are based on properties or criteria of the lead records, such as Product Interest = C or Field A = B. A trigger can only occur once per lead action, whereas filters can continuously apply to lead records based on their properties. Creating complex logic: To create a logic such as (Trigger1 AND Filter1) OR (Trigger2 AND Filter2), you would set up two separate smart campaigns or smart lists, as within a single, smart list, triggers cannot have AND logic between them or between triggers and filters. Troubleshooting smart campaigns: If a smart campaign is not running as expected, review the combination of triggers and filters to ensure the logic is set up correctly. Remember that a trigger must occur for any filters to be evaluated. Verify that the filters are correctly defined to match the leads you intend to target after the trigger event. By understanding and applying these principles, you can effectively manage smart campaigns in Marketo, ensuring that the right leads are targeted with appropriate actions based on both their activities and their attributes.
View full article
Issue Leads were uploaded into Marketo with the wrong opt-in date and time, which also synced with Microsoft Dynamics 365.   Solution To correct the opt-in date and time, do the following. Update information in Marketo. Prepare and upload a corrected list for the leads. Confirm the opt-in field in Marketo is not blocked from updates. CRM Sync The corrected data in Marketo will auto-sync with Dynamics 365. If auto-sync fails, manually update the opt-in dates in the CRM. Additional Steps Check for any automated actions triggered by the wrong data and rectify them If needed. Confirm data accuracy in both systems after updates. Back up data before mass updates to prevent data loss.  
View full article
Summary When attempting to approve snippet error Access Token is Invalid appears. Have the customer sign out and sign back in. Seems maybe they got logged out somehow. Issue When attempting to approve a snippet you receive  "Access Token Is Invalid" error. Solution The error can occur when your internet browser logs you out of Marketo in the background. To resolve, sign back in to Marketo and retry the approval. 
View full article
Issue New leads created through form submissions in Marketo are not being registered by the "Fills Out Form" trigger in associated campaigns. Solution To address this issue: Verify Referrer Value: You'll see a referrer value in the Fills Out Form. Confirm that the referrer value in the Fill Out Form activity aligns with the campaign trigger criteria. Check Configuration Changes: Inspect any recent changes to URLs that may affect form submissions. Communicate these changes to the Marketing Operations team for proper adjustments. Review Campaign Setup: Ensure the campaign is set up to include the specific form and that no filters exclude new leads. By following these steps, you should be able to resolve the issue and have new leads correctly trigger the Fills Out Form activity in Marketo campaigns.
View full article
Issue When attempting to move a folder with a program into a different workspace, the below exception is thrown: Rule is incomplete, '<Field Name> is...' requires value In the below example, the field name is 'New Status ID':   Solution This exception is thrown when a smart list within the Folder contains an incomplete filter. To resolve, you can either: 1. Remove the Smart List filter that is incomplete 2. Set a value for the Smart List filter
View full article
Issue When using Interactive Webinars, if a host changes the layout, previously on-camera speakers must switch on their cameras again. Is there a way to keep the camera always on when you move from one layout to another? Solution This is not supported due to privacy concerns. If a video pod is not present in a layout, the camera is turned off. If a video pod is present in the next layout again, the presenters need to switch on the camera again to consent to their video being shown again to everyone. There however is a workaround to this. A video pod can be placed on the poll pod layout but it can be positioned so that it is behind the poll pod. The size of video pod does not matters on this layout so it can be reduced so that it is completely hidden behind the poll pod. This way the video pod will be hidden and not visible to participants but since the video pod is present, the camera will not be turned off on this layout. On switching to the next layout (Intro), presenters will not need to turn their cameras on. However, they need to be cautious as their video will go live as soon as the intro layout goes live. Additional information on Interactive Webinars can be found here: Best Practices for Interactive Webinars Designing Interactive Webinars  
View full article
Issue You may see the error "Program with name already exists" when saving a program name, and this is because Marketo requires each program name to be unique. There may be a scenario where you are trying to re-name an existing program to correct capitalization. (For example, your program is currently called "Test program" and you want to re-name it to be "Test Program", but you get this error message.)   Solution As a workaround to resolve this: 1) Re-name your program with an extra character at the end, essentially to temporarily make it a different program name 2) After that, re-name the program back to your original desired program name and it will save
View full article
Issue When retrieving result sets from the /rest/v1/activities.json end-point using a Paging Token, the result set returned by the API appears to be less data than what is in the Marketo UI. In this scenario, we're going to explore how and why Paging Tokens work when utilizing them in REST API calls. SCENARIO Say we wanted to grab all 'Send Email' activities (activityType = 6) that have occurred since 2024-04-12T12:00:00Z, and we're planning to pull these activities every two hours, and increment our paging token every two hours prior to making the /activities.json call to obtain the latest data. Current Time Apr 12, 2024, 8:00:00 AM (MST) == 2024-04-12T14:00:00Z What We Want 1. Retrieve all Send Email activities SINCE  Apr 12, 2024, 6:00:00 AM (MST) == 2024-04-12T12:00:00Z We would start by retrieving our Paging Token with the sinceDateTime parameter = 2024-04-12T12:00:00Z: /rest/v1/activities/pagingtoken.json?sinceDatetime=2024-04-12T12:00:00Z Our response would contain the nextPageToken representing the sinceDateTime: { "requestId": "1607c#14884f3e74e", "success": true, "nextPageToken": "RW6ZK46LKV36BMJ2QARX3BFZHQNHRVPPEW4IZVEELI45V2OH6RCA====" } We would then pass that nextPageToken into our GET /rest/v1/activities.json end-point, as well as our activityTypeId = 6 to target all 'Send Email' activities that have occurred since 2024-04-12T12:00:00Z. /rest/v1/activities.json?nextPageToken=RW6ZK46LKV36BMJ2QARX3BFZHQNHRVPPEW4IZVEELI45V2OH6RCA====&activityTypeIds=6 After paging through all of the results (now leveraging the returned nextPageToken from the /activities.json end-point to page through all results), we've returned 15,000 Send Email activities.      PROBLEM We know that, from our Marketing team, that we were expecting ~20,000 email sends since 2024-04-12T12:00:00Z. So why does the result set appear to be missing 5,000 records? Let's examine this further. 'Send Email' activities aren't committed to the Marketo database until the message has successfully been sent from our mail servers. Prior to that, the email is queued, awaiting it's launch to it's receiving mail server. This can present a delay from the time the email is sent, to when the activity is recorded to the Marketo database. For example, say there were two campaigns sending 10K emails each: First Campaign Send: 2024-04-12T12:30:00Z (30 minutes after our sinceDateTime token) Second Campaign Send: 2024-04-12T13:45:00Z (110 minutes after our sinceDateTime token, 10 minutes prior to when the call was made) While the first campaign send is most likely accounted for in the database (Send Email activities have been committed), Campaign #2 is still processing and sending out all 10K emails in the background. For this scenario, Marketo has only committed 5K out of 10K email sends to the database at the time the call was made. Without noticing the missing data, you repeat this process two hours from now, incrementing your sinceDateTime token by two hours as well, assuming you'll get all the new Send Email activities for the past two hours. This would now lead to you missing the 5K Send Email activities that were still being processed, but not yet committed to the database. SOLUTION The nextPagingToken returned in the /activities.json end-point is position based, and can only pull data that has been committed to the Marketo database, which inherently changes as records are being processed. If, for instance, you made the original /activities.json call at (Apr 12, 2024, 8:00:00 AM (MST) == 2024-04-12T14:00:00Z), and used the same sinceDateTime token 5-10 minutes later (Apr 12, 2024, 8:10:00 AM (MST)), you would now notice that campaign #2 has fully finished it's processing AND committed the 'Send Email' activities to the Marketo database with dateTime stamps less than Apr 12, 2024, 8:00:00 AM (MST). So, what's the best way to ensure you're retrieving all the data? Solution #1 Increment your sinceDateTime token based on the MAX(created_at) dateTime returned in the latest result set, rather than incrementing it based on an interval (every two hours). This would help ensure you're not missing records that were processing, but not yet committed to the Marketo database. Solution #2 If the data you're retrieving does not need to be live, we would recommend using the Bulk Extract API to pull this data at a lower frequency (such as twice per day 12AM & 12PM). This would greatly decrease the chances of missing records that weren't committed to the database.
View full article
Summary Learn how to resolve the issue where Marketo only recognizes the first LinkedIn Lead Gen form and does not recognize any additional forms. Issue Marketo only recognizes the first LinkedIn Lead Gen form and does not recognize any additional forms. The problem persists even after disconnecting and reconnecting the LinkedIn account with Marketo. Solution To resolve the issue where Marketo does not recognize multiple LinkedIn Lead Gen forms, follow these steps:   Verify submissions: Ensure that each LinkedIn Lead Gen form has at least one submission. Marketo will not display a form in the dropdown lists for triggers or filters unless it has been filled out at least once.   Preview and test the form: Go to the LinkedIn campaign and use the ad preview feature to fill out the Lead Gen form yourself. This step is necessary for Marketo to recognize and sync the form.   Check for form activity: Once the test submission is complete, check the activity log in Marketo for the test record. Look for the LinkedIn Lead Gen Form Fill activity, which should be present to ensure that the form appears in Marketo dropdowns.   Using Marketo smart list: If you want to check the performance of the form, use a Smart List in Marketo with the filter Filled out LinkedIn Lead Gen Form and set Lead Gen Form Name to any. This will show submissions for all LinkedIn Lead Gen Forms with at least one submission. This filter can also be used in reports to segment people based on form submission activity.   Reauthorize connection: Remember that the authorization for the LinkedIn connection in Marketo is valid for a limited time. To avoid disruptions, set a reminder to re-authorize the connection periodically before it expires.   Additional information: Marketo integrates with LinkedIn Lead Gen forms to capture lead information directly from LinkedIn. Regular monitoring of the LinkedIn connection in Marketo is essential to maintain a seamless integration. By following the above steps, you should be able to resolve issues with Marketo not recognizing multiple LinkedIn Lead Gen forms and ensure all forms are properly synced and can be used within Marketo for lead generation and reporting purposes.  
View full article
Summary Learn how to monitor the synchronization status between Marketo and Salesforce to ensure data consistency and operational efficiency. Issue You want to check the Salesforce sync status to maintain data alignment and workflow effectiveness. Solution Marketo now offers a user-friendly, built-in tool to monitor the Salesforce sync status. To use this tool: Log into Marketo. Go to Admin > Integration > Salesforce. Click on the Sync Status tab.
View full article
Issue Our organization understands that Marketo has a durable unsubscribe field. Is that the only field that is durable or are other fields like block listed, marketing suspended, etc... durable? The scenario here is if someone is deleted, then later comes back in via SFDC for example -- are other fields durable and thus, carry over to a newly created record with the same email address? Solution The durable unsubscribe is the only field that will persist if the lead re-enters Marketo. This is because we host that data in a separate database, whereas fields such as 'Block Listed' are hosted in your local database. (When the lead is deleted, then all data is wiped for that lead in the local database.)  
View full article
Issue An attempt is made to add an API user to a 2nd instance and we get the error "This userid is in use. Choose another email." Solution API Users are unique to an instance and cannot make use of the Universal ID feature. 
View full article
Issue Marketo Azure integration is not functioning despite having the correct configuration. Solution One suggestion is to remove the relay state in Microsoft Azure Single Sign-on settings. This field is not required in setting up SSO with Marketo.
View full article
Summary Disable Require PKCE for syncing with SFDC via OAuth 2.0 Issue If attempting to connect Marketo to Salesforce via OAuth 2.0, no authentication window is presented by Salesforce allowing for credentials to be entered, only showing "Redirect Failure" Environment Marketo is not compatible with the "Proof Key for Code Exchange" authentication with Salesforce, "Require PKCE" in Salesforce Configurations Solution Disable the "Require PKCE" checkbox in the Connected App during configuration of OAuth 2.0, prior to connecting Marketo via the Native SFDC Integration. Root Cause PKCE not supported by Marketo's sync solution with Salesforce. This is documented in Adobe Experience League: Log in Using OAuth 2.0 | Adobe Marketo Engage
View full article
Issue After creating an Email Program with an A/B test, you create smart lists (or smart campaigns) and would like to use filters such as "Opened Email" for the A/B test email. When starting to type the A/B test email name into the smart list filter, the A/B test email name does not show as available to select (it may show a red squiggly line). Solution The Email Program (with the A/B test) needs to be in "Approved" status before the A/B test email assets can be entered into a smart list filter.
View full article
Issue An email using a Velocity Script Token fails to send. Environment Marketing Activities Solution There is a 40 custom field token limit per email. If you have Velocity script tokens present in the email and those tokens more than 40 fields, the email will fail to send. To resolve, ensure that velocity script tokens have less than 40 custom fields referenced. Root Cause The Velocity Script Token in the email exceeds the limit of 40 Custom Fields. 
View full article