Knowledgebase

Sort by:
Issue When I go to the Support area of Nation, I do not have full access to all the areas and tools.   Solution Our system is specific about how you need to access the Support Portal before we can authorize you to use it. The proper steps to take for us to authorize, and for you to submit cases, are as follows:   Log into your instance Click the Community tile (step 1 image) Click Support in the top banner (step 2 image) Click Submit a Case option (step 3 image) Choose from top options depending on what you need to do (step 4 image) Create a case, Manage authorized contacts, edit your Info   Simply going straight to the nation.marketo.com will not have the desired result. You must access the Support Portal from your instance by using these steps so that our system recognizes you properly. If this is your first time following these steps, your view of Step 3 will be different- not to worry, as that will be updated for you manually. Step 1 Step 2   Step 3 Step 4   If you experience issues, please email marketocares@marketo.com
View full article
  Marketo Champions are customers who have demonstrated outstanding leadership in the Marketo Community, are experts in Marketo products, are avid contributors in the social world, and are loyal advocates of the Marketo brand. Benefits and perks our Champions receive include:   Access: Meetings with our product and marketing teams to give exclusive feedback Previews: Given early previews to products, features, and releases when available Publicity: Exclusive speaking opportunities at our annual Marketo Summit and other events Networking: Special networking events with Marketo executives and fellow Champions and semi-annual conference calls Ownership: Ownership of content and exclusive activities at our annual Marketo Summit that showcase your expertise and thought leadership Credibility: Special Champion badge on Marketo Community profiles, and profiled on Marketo's corporate website Sweet Swag: Champion-exclusive swag To find out more information and apply, click here. To view a complete list of current Champions, click here. Join the Marketo Elite Today!  
View full article
Note: Please ensure that you have access to an experienced Web developer. Marketo Technical Support is not set up to assist with troubleshooting code. The listOperation SOAP API call allows for the ability to interact with static lists (My Lists) in the Lead Database. The supported operations are adding a lead to list (ADDTOLIST), checking if a lead is a member of the list (ISMEMBEROFLIST), and removing a lead from a list (REMOVEFROMLIST) Note, there is no operation to create a new list (or delete) via the SOAP API. The list must be created beforehand in the Lead Database. In the examples, the list is named "Static List". Example 1 - Request: Adding multiple leads into the list <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>ADDTOLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>215</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Example 1 - Response: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>true</success>             <statusList xsi:nil="true"/>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Example 2 - Request: Check to see if leads are a part of list. One lead (Lead ID #213) is and the other (Lead ID #70) is not  <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>ISMEMBEROFLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>70</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Example 2 - Response: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>false</success>             <statusList>                <leadStatus>                   <leadKey>                      <keyType>IDNUM</keyType>                      <keyValue>213</keyValue>                   </leadKey>                   <status>true</status>                </leadStatus>                <leadStatus>                   <leadKey>                      <keyType>IDNUM</keyType>                      <keyValue>70</keyValue>                   </leadKey>                   <status>false</status>                </leadStatus>             </statusList>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Example 3 - Request: Similar to Example 2, but all leads are valid  <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>ISMEMBEROFLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>215</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Example 3 - Response:  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>true</success>             <statusList xsi:nil="true"/>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Example 4 - Request: Remove leads from the list. One lead (Lead ID #213) is a member of the list, the other (Lead ID #70) is not  <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>REMOVEFROMLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>70</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Request 4 - Response:  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>false</success>             <statusList>                <leadStatus>                   <leadKey>                      <keyType>IDNUM</keyType>                      <keyValue>213</keyValue>                   </leadKey>                   <status>true</status>                </leadStatus>                <leadStatus>                   <leadKey>                      <keyType>IDNUM</keyType>                      <keyValue>70</keyValue>                   </leadKey>                   <status>false</status>                </leadStatus>             </statusList>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Example 5 - Request: Similar to Example 4, but all leads are valid  <soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:mkt = "marketo.com/mktows/">     <soapenv:Header>         <mkt:AuthenticationHeader>          <mktowsUserId>[User Id]</mktowsUserId>          <requestSignature>[Signature]</requestSignature>          <requestTimestamp>[yyyy-mm-ddThh:mm:ss-00:00]</requestTimestamp>         </mkt:AuthenticationHeader>     </soapenv:Header>     <soapenv:Body>         <mkt:paramsListOperation>             <listOperation>REMOVEFROMLIST</listOperation>             <listKey>                 <keyType>MKTOLISTNAME</keyType>                 <keyValue>Static List</keyValue>             </listKey>             <listMemberList>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>213</keyValue>                 </leadKey>                 <leadKey>                     <keyType>IDNUM</keyType>                     <keyValue>215</keyValue>                 </leadKey>             </listMemberList>         </mkt:paramsListOperation>     </soapenv:Body> </soapenv:Envelope> Example 5 - Response:  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="marketo.com/mktows/">    <SOAP-ENV:Body>       <ns1:successListOperation>          <result>             <success>true</success>             <statusList xsi:nil="true"/>          </result>       </ns1:successListOperation>    </SOAP-ENV:Body> </SOAP-ENV:Envelope> Related Learning Resources Marketo SOAP API Reference
View full article
Using the Marketo SOAP API, you can check whether or not your website visitors have filled out a form and present them content accordingly. The following code below is unsupported and is intended to help you develop your own solution. In the resources section of the Marketo website, we use this method for our premium content. For leads who have already registered, their links go directly to the resource. Leads who haven't registered are given links to a landing page. In both cases, the link appears the same. Behind the scenes, a cookie is used to store whether or not this lead has registered: If the user has the premium registration cookie, the premium links are shown. If the user does not have that cookie, the lead's record is retrieved via the SOAP API. Based on the lead's record: If the lead has a valid email address, the premium content links are shown and the premium registration cookie is set. If not, the premium content links are not shown. Instead, they take leads to a landing page to fill out a form. First, you'll need to develop a SOAP API connection to Marketo. The attached ZIP file has a sample connection PHP file. You'll need to make the following changes in this file: ... $this->access_key = 'Your API Access Key Goes Here'; $this->secret_key = 'Your Secret API Key Goes Here'; // // The endpoint is in the "SOAP API Setup" page in the Marketo Admin section // ex. $soap_end_point = 'xx-1.marketo.com/soap/mktows/'; // $soap_end_point = 'Your SOAP API End Point URL Goes Here'; // // Errors are sent to this email address. Your web server // must be configured to send email for this to work correctly. // // ex. $this->error_email_address = 'example@example.com'; // $this->error_email_address = 'Put your debug email address here'; ... After creating your SOAP API connection, the next step is to implement the logic that determines which content to show if the user is logged in or not. The get_premium_url_status() function returns true if the lead has the premium cookie or if they've filled out a form. Otherwise, it returns false. You can use that result to determine what content the lead should see. The attached ZIP file has a PHP file that contains an example of this check.
View full article
Included in this article Note: This post will be updated to reflect changes made to activity records returned by the API due to migration to new infrastructure. Overview With the rollout of Marketo’s next-generation Activity Service beginning in May 2017, we will be unable to enforce the uniqueness or presence of the integer “id” field in activities, data value changes, or lead deletion records returned by Marketo’s APIs.  This change will begin rolling out to all subscriptions over the remaining first half of 2017. To avoid service disruptions for integrations which retrieve activity records, the id field should be treated as optional.  Cutover of this change will begin to affect subscriptions with the September (Q3) 2017 release. This change will affect the following endpoints: REST API Get Lead Activities​ Get Lead Changes​ Get Deleted Leads​ Add Custom Activities​ SOAP API getLeadActivity​ getLeadChanges​ The affected SOAP types are ActivityRecord and LeadChangeRecord. Examples The following examples show record types which will be affected.  In both examples, the effected field is called “id.” Example REST Field: id ​ Example SOAP Field: id ​ FAQs Do I need to update my WSDL version if I'm using SOAP integration? Yes. The marketoGUID field will only be returned in activities when using the WSDL version 3.1 or later.  The new URI will follow this pattern: https://{munchkinId}.mktoapi.com/soap/mktows/3_1  It may also be obtained through the Admin->Web Services menu in your subscription When can I expect to see each change? Beginning with our Q1 Minor Release on April 7th, activity records retrieved via Marketo’s SOAP or REST APIs will include a new field called “marketoGUID”.  The value of this field will match the value of the “id” field, but will be a string type field.  Some time after the Q2 release beginning May 17th 2017, the “id” field will stop being returned as part of these records, and the value of marketoGUID will become a 128-bit string. What do I need to do? If you are responsible for code that deals with Marketo activities, you should determine whether your code relies on the presence or uniqueness of “id” field for Marketo activities, and then remove that requirement.  In an upcoming release, an additional string field called “marketoGUID” will be added.  “marketoGUID” should be considered the unique ID for retrieved activities when it becomes available.  If you are not, you should consult with your team and relay this message to the appropriate stakeholders. Who will this change affect? This change should only affect client and partner integrations which retrieve activity records from Marketo, and only if the integrations rely on either the presence and/or type of the “id” field in the response, or rely on the uniqueness of the field.  After the rollout of Orion AS, and the disabling of activity writes to MySQL, the “id” field will no longer be available and will be supplanted by a unique string id field. Check out our documentation on the Marketo Developers Site here: https://developers.marketo.com/blog/important-change-activity-records-marketo-apis/
View full article
Issue Description The Get Lead Activities REST API is not returning any activities even though the lead referenced definitely has multiple activities of the type being called.   REQUEST: [munchkinID].mktorest.com/rest/v1/activities.json?access_token=x&leadIds=123&nextPageToken=ABC&activityTypeIds=46   RESPONSE: { "requestId": "xyz123", "success": true, "nextPageToken": "ABC", "moreResult": true }   Issue Resolution The Get Lead Activity REST API are reliant on timestamps for their nextPageToken. Each Get Lead Activity call will go through 300 activities of ALL types from the timestamp placed on the nextPageToken. This is supported by the article developers.marketo.com/rest-api/endpoint-reference/lead-database-endpoint-reference/#/Activities/getLeadActivitiesUsingGET   "By default, the endpoints mentioned in this section will return 300 activity items at a time.  If the moreResult attribute is true, this means that more results are available. Continue to call the endpoint until the moreResult attribute returns false, which means that there are no more results available."   Based on that, the reason why the API call does not return any activities is that it does not find any activities of type 46 in the 300 activities it checks from the timestamp placed on the nextPageToken   So when making a Get Lead Activity call for a specific activity type, ensure that nextPageToken is as close as to the timestamp of the specific activities Is this article helpful ? YesNo
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. 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
Note: Once you have migrated to Admin Console, you can manage your support cases through the feature provided in the Admin Console Platform. To learn more, visit: https://experienceleague.adobe.com/docs/customer-one/using/home.html. Once you have submitted a case to Marketo support, we provide a simple way of staying connected to your case and the cases submitted from your company through the Marketo Support Portal. You can access the support portal through your Marketo instance by selecting Community in the top right corner: This is a article attached imageThis is a article attached image You can also access the support portal directly at support.marketo.com and login with your Marketo credentials (login and password). This will not work for users with SSO.   Once you are in the support portal you can Create a Case for Marketo Support or you can also review any cases that are open and being worked on by support or review your case history. Navigate to My Case management: This is a article attached imageThis is a article attached image From the My Cases navigation you can access the following case views: This is a article attached imageThis is a article attached image My Recent Cases* - Cases that you have opened in the past 30 days All Company Recent Cases* - Cases that any authorized support contact has opened in the past 30 days My Open Cases – Cases created by you that are being triaged by Support and pending Support’s response and are more than 30 days old My Closed Cases – Cases that were created by you and are now closed My Awaiting Fix Cases – Cases that were created by you where Marketo is developing a fix which will be implemented at a later date All Company Closed Cases – Cases that were created by you or your colleagues that are now closed All Company Open Cases - All open cases submitted for the account Company Awaiting Fix Cases – Cases that were created by you or your colleagues where Marketo is developing a fix which will be implemented at a later date Management Escalations - Escalations opened by you or your colleagues  Survey Cases - Surveys that are available for you to fill out after a case is closed *Cases that have been opened for more than 30 days will move from Recent cases to Open cases   To view specific case details, click a case number. This is a article attached imageThis is a article attached image From the Case Details, you can perform the following: Close your Case - Select the "My Case is Resolved" button to close your case Add Comments - Provide additional comments to support or respond to a Support question Add Attachment - Provide any screenshots or documents that will help illustrate the issue you are reporting   If your case has been closed there are two options available to you.   Reopen - You can reopen your case if you are not satisfied with the case resolution by adding a comment in the case. Case Survey - Once your case has closed, please consider offering feedback on the level of Support you received.
View full article
Summary When submitting a file for bulk import via the REST API, the uploads appears to stall with no response. Issue Occasionally Bulk Import API calls will "hang" or "stall" never returning a response. This may appear to be a blank or missing response when the API is actually still waiting for the end of the file to be transferred. Solution You can add the following header: 'Transfer-Encoding: chunked' to your API calls and it will fix this issue. Please note that adding this header on the client side will cause cURL to send data in chunks. For more information on chunked file transfer, see Wikipedia: Chunked Transfer Encoding Environment REST API Bulk Import
View full article
  What is the Email API? What is the Email API used for? What is Email 2.0? Does the Email API Work on Email 2.0 Assets? Will the Email API Break when Enabling Email Experience 2.0? How Are 1.0 Assets Upgraded to 2.0 Assets? What to Do When an Email Was Accidentally Converted to Email 2.0 format?     What is the Email API? API stands for Application Programming Interface and the Email API allows an automated process to create and edit emails in Marketo. There are also other API calls that involve emails, such as Approve Snippet (assuming the Snippet is used in an Email) and Clone Program (assuming the Program contains Emails). There are also API calls to create and update Email Templates. Essentially, the API can do many things that you can also do through the Marketo user interface, but then in an automated fashion.     What is the Email API used for? There are many scenarios: an external system could create Emails in Marketo using data that lives outside of Marketo. A translation service provider could clone a master Email, translate it to many languages, then save them back into Marketo as localized Emails. A reporting system could extract Emails from Marketo to use in reports that are generated outside of Marketo. An external system could Clone a Program that contains Emails, then populate the Program Tokens and schedule the Email to be sent out at a specific time. There could be an external email template creation system that creates new Email templates in Marketo through the API.     What is Email 2.0? “Email Experience 2.0” is the new Marketo product feature with the enhanced email editor, documented here: docs.marketo.com/display/public/DOCS/Email+Editor+v2.0+Overview. It can be switched on in Admin > Email > Edit Email Editor Settings. All Emails and Email Templates also have a version number, either 1.0 (the old version) or 2.0 (the new version). If we refer to “Email 2.0 asset” we mean an email or email template in the new upgraded 2.0 format.     Does the Email API Work on Email 2.0 Assets? Yes.     Will the Email API Break when Enabling Email Experience 2.0? No. Enabling Email 2.0 will not automatically upgrade Emails or Email Templates to the new 2.0 format. The Email API can still create new Emails and Email Templates in the 1.0 format.  However – after enabling Email 2.0 – any Email or Email Template that is created or edited and approved through the Marketo User Interface will automatically be upgraded to the 2.0 format.     How Are 1.0 Assets Upgraded to 2.0 Assets? If you edit an “Approved" or “Approved with Draft” 1.0 Email with Email 2.0 enabled, the draft is converted to the 2.0 format. You can still discard the draft to go back to the approved 1.0 format. Once you approve the email and it becomes 2.0, the Email cannot be converted back to 1.0. If you edit a “Draft” 1.0 Email (never been approved), this will automatically be converted to 2.0 with no option to revert back to the 1.0 format. The same applies to Email Templates.     What to Do When an Email Was Accidentally Converted to Email 2.0 format? If an Email or Email Template was accidentally converted to the 2.0 format, you’d have to copy the asset contents to a text editor, disable Email 2.0, then create a new 1.0 asset using the content that you copied.
View full article
If you have submitted a support case and you feel that the case was improperly handled or that the solution being offered does not meet the communicated Marketo support expectations, then we would welcome the opportunity to look deeper at your specific support engagement and work with you on delivering a better resolution. Caution: If the item you're looking to escalate is related to a Production Down incident, please call the support line for your region to receive immediate assistance. Support Manager escalations are only handled during normal business hours. The phone numbers for each region are listed below, follow the prompts for P1: Americas: +1.877.270.6586, Direct: +1.650.376.2303 Europe, Middle East, & Africa: +353 (0)1 242 3030,  UK: 0800 151 3030 Asia Pacific: +61 2 8031 8188 Japan: +81.03.4233.9014 How to Escalate: Step 1. Navigate to the "Case Management" area of the support portal either by mousing over the Support tab and selecting "Case Management" or clicking the Support tab and click on the “My Case Management” button. NOTE: You will need an open or recently closed case in order to escalate to support leadership. This is a article attached image   Step 2. From here you will need to click on either an open or a recently closed* case:   This is a article attached image   *Support Cases that have been closed for longer than 10 days are no longer eligible to be re-opened and we ask that you open a new support ticket for your current issue prior to escalating to a Support Manager. We ask that you have an open support ticket for a Support Manager to be able to address specific issues. Step 3. After selecting a case, click on the Escalate to Manager button:   This is a article attached image     Step 4. A pop up will display and you will need to the purpose for the escalation and click on the “Escalate” button.   This is a article attached image   Once your support escalation case has been submitted a Marketo Support Leader will contact you within 1 business day of your support region's support hours to address the issue.
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
Issue: I am looking for the ID to one of my campaigns for a SOAP API project I am working on. Solution: The ID can be found in the URL of the campaign. 1.1 Log into Marketo, under Marketing Activities, find and select the campaign in question. This is a article attached image 1.2 The URL to the campaign will look something like: This is a article attached image   The Campaign ID is between "SC" and "A", in the above example it's "1150". This is a article attached image  
View full article
Issue Clearing cache and cookies in your browser will fix a number of different problems related to page display, browser errors, and login issues.     Solution Here are links to the support articles on how to clear cache and cookies for the most commonly used browsers. Chrome Clear cache and cookies - Computer - Google Account Help   FireFox How to clear the Firefox cache | Firefox Help   Internet Explorer https://support.microsoft.com/en-us/help/278835/how-to-delete-cookie-files-in-internet-explorer   Microsoft Edge Microsoft Edge, browsing data, and privacy – Microsoft privacy    
View full article
Summary This article explains why certain Company fields show up on the Person/Lead Object when you do a describe API call to Marketo. Issue When making the Describe call on the Lead object in Marketo (/rest/v1/leads/describe.json),  several Company object fields are returned along with the Lead object fields.   Environment Marketo REST API Solution This is expected behavior. Users can utilize the Describe Leads call to retrieve a full list of the fields available for interaction via the REST API. Several areas within Marketo treat custom Company fields as though they were on the Person/Lead object. For example if you were doing a Bulk Import, you can target the Company and Person/Lead fields and you have the ability to update Company field values as if you were changing it manually on a Person record in the UI.   Root Cause This is expected behavior, due to how the Describe call retrieves all 
View full article
Issue Customers may run into limitations with Webhook providers or other third party REST services that require their fields are an integer type field.  This may present issues with those values being inputted to Marketo (and other systems) accurately if a record has a value outside of the integer value limitation range: -2147483647 to 2147483647   Environment Marketo/Third Party REST/Webhook Providers Solution There is no way to increase/modify the integer value limitations on the Marketo side.  This is not a Marketo product limitation, it's the defined constraints of Integer data types. If you're running into issues with values from a third party/webhook provider falling outside of the limitation range, this will present issues with the field value being accurately logged in Marketo. In this scenario, it's worth checking with the third party/webhook provider to see if they have any flexibility around which field types they can allow (for example, String or Float type fields have less limitations and will allow for larger or smaller numbers outside of the -2147483647 to 2147483647 range). For a full overview of Marketo field limitations, you can visit the below article: Marketo Field Limits by Field Type
View full article
Adobe Marketo offers a number of ways to contact Marketo Support directly for assistance from our different support regions. Further details about your Adobe Success Plan can be found HERE. Note: If your Marketo Instance and Users have been migrated to Admin Console, refer to this Admin Console Overview page for managing the Adobe entitlements across your organization and to engage Marketo Support.   Marketo Support Portal (https://support.marketo.com)   The Marketo Support Portal features a web form to submit support cases to Marketo Support. The form provides Authorized Support contacts the ability to provide details on the support issue that allows Marketo Support to efficiently and effectively assign your case to the best suited available support engineer. We encourage you to leverage our Best Practices when submitting your case to Marketo Support.   Support Services – Regions, Hours, and Languages Authorized Support contacts can engage Marketo Support by calling one of our Adobe Enterprise Phone Numbers for your region. Live Telephone and Online Technical Support Priority 1 incidents: 24x7x365 via phone or online support case Priority 2-4 incidents: Support available during regional business hours via chat or online support case. Regional Business Hours Applicable regional business hours are based on the billing address in the Sales Order or purchasing documents. If Adobe is contacted for support by someone other than the designated Named Support Contacts, Adobe may request that that the support case be resubmitted by a Named Support Contact. Languages Japanese language support is available during Japanese regional business hours, excluding holidays or Adobe days off. Japanese support is not available for Adobe Commerce. With the above exception, all Support will only be provided in English. Support Access Customer will grant Adobe Support access to applicable customer systems via remote support tools controlled by Adobe for the purpose of troubleshooting and support services. Regional Business Hours for Support Applicable regional business hours are based on the billing address in the Sales Order or purchasing documents.   Americas Europe, Middle East & Africa Asia Pacific Japan 6 am – 5:30 pm 9 am – 5 pm 9 am – 5 pm 9 am – 5 pm  
View full article
Issue When using the [mktorest.com/rest/asset/v1/emailTemplates.json] end-point to pull all Email templates, the COUNT is much less than what is shown in Marketo's Design Studio Global Search.   Solution This is the expected behavior. When viewing the total count of Email templates in the Design Studio UI, it will count EACH shared template that is shared across other workspaces, counting the same template multiple times depending on how many workspaces it's shared to. However, when retrieving the Email Templates from the REST API, it will only return DISTINCT Email Template ID's from the originating shared workspace where the template resides. It will not return the templates from the shared workspaces. Root Cause REST API Expected Behavior
View full article
Issue When using the GET Activities API with a specific list Id in the parameter, the response will get all the specified activities from other assets as well. This is the endpoint for this article.     Solution Instead of using list Id (listId) as a parameter, change that to asset Ids (assetId) in the API call. The Asset ID (assetId) is the Id of the primary asset for an activity. Then, the response will narrow down the activities associated to the primary asset by looking up the Id during the call.
View full article
Issue Users for your Marketo instance are unable to log into the instance. Solution Check your landing page URLs and email links. If these are also unavailable, your Marketo instance may have been shut off. Marketo Support can confirm whether your instance has been deactivated, but are not able to reactivate it.  In this situation, please contact your Marketo Account Representative to discuss the status of the instance and regaining access.        
View full article