Relevant to: Demand Acceleration Platform
Routine monitoring to check for errors is highly recommended to ensure leads are successfully posted to integrated systems. This can be done by reviewing the Marketo Response, which is received by the Demand Acceleration Platform whenever a lead post out is attempted.
The Marketo Response can be found in both the testing modal (when testing your integration) and as a column in a post out log report (generated once the Source/Campaign has started to collect data).
In this article
Understanding the Marketo Response
Whenever you send a test lead or routinely monitor post out lead flow, you are checking two things:
- The request - the data that was sent to Marketo.
- The response - the information that Marketo sent back to the Demand Acceleration Platform.
The request
The request displays the exact data that was sent to Marketo. It will look different depending how you have chosen to route leads into Marketo (eg. into a program or static list).
In the Test Integration modal (displaying Sandbox Test Results) - see the Request section.
In a Post Out Log Report - see the RequestContent column.
To read the request code:
- The first section will display routing data (if routing using Marketo Add to Program is being used)
- programName displays the exact name of the Marketo program.
- source, reason and programStatus (optional fields) display the values for those if added, or blank if left to populate with the default values.
- If routing has not been set-up, you won't see this section of code (move on to the input section).
Example: the routing code highlighted in bold. { "programName": "MarketoTestProgram1", |
Additional codes will be included when using Custom Objects or Custom Activities. |
- The next section is labeled input and displays each field name and corresponding value that was sent into it.
- The values follow this pattern:
"[yourMarketoFieldName]": "[Your sample lead data]",
- Review this section in detail to confirm all the fields have attributed values and that any list value mappers are working properly.
- The values follow this pattern:
Example: the input code highlighted in bold. { "programName": "MarketoTestProgram1", |
The response
The response code displays the exact response that was received from Marketo. It will look different depending on whether the test lead has been successfully received or not.
In the Test Integration modal (displaying Sandbox Test Results) - see the Response section.
In a Post Out Log Report - see the ResponseStatusCode and ResponseReason columns.
A successful response
The main elements of a successful response are:
- A Marketo ID has been generated
- Indicates that the lead was created and/or located within Marketo.
- Displayed in the response as:
"id": numbers,
- Status is 'created' or 'updated'
- Indicates that the lead was created (new) or updated (existing)
- Displayed in the response as:
"status": "created",
- The status code is '200'
- This is Marketo’s code for success! See more in the list of Marketo error codes.
- Displayed in the response as:
"statusCode": 200
Example: values indicating success are highlighted in green. { "marketoResponse": { "requestId": "155b2#176052739da", "success": true, "result": [ { "id": 1146997, "status": "created", "code": null, "message": null, "seq": null, "marketoGuid": null, "reasons": [], "errors": [] } ], "errors": [], "reasonCode": { "reason": "Accepted", "statusCode": 200 } }, "errors": [], "endpoint": "/rest/v1/leads.json", "handleTimeout": false, "failed": false } |
A failed response / unsuccessful code
Although the data may have been sent successfully, there may be an issue with it being received by Marketo.
- The status code is anything other than '200'
- There is a message following a status code
- This should help you understand why the lead has been unsuccessfully received by Marketo. See more in Error codes seen most often in the Demand Acceleration Platform.
- Displayed in the response as:
"message": [aShortMessage]
Example: values indicated a failed response are highlighted in red.
{ "marketoResponse": { "requestId": "106dc#1760529c03b", "success": true, "result": [ { "id": null, "status": "skipped", "code": null, "message": null, "seq": null, "marketoGuid": null, "reasons": [ { "code": "1006", "message": "Field 'role' not found" } ], "errors": [] } ], "errors": [], "reasonCode": { "reason": "Field 'role' not found", "statusCode": 1006 } }, "errors": [ "Field 'role' not found" ], "endpoint": "/rest/v1/leads.json", "handleTimeout": false, "failed": false }
|
Error codes seen most often in the Demand Acceleration Platform
The table below shows the error codes that are most commonly encountered in the Demand Acceleration Platform. If you have received one of the codes noted here, follow the action as described in the solution column.
If the Source is live and you are reviewing this in a Post Out Log Report, first check all instances of the Lead ID to see if a successful post out has been subsequently recorded. |
The most frequently encountered codes are highlighted in grey.
Response Code (from Marketo) |
Description (from Marketo) |
Meaning (from Marketo) |
Suggested solution |
601 |
Access token invalid |
An Access Token parameter was included in the request, but the value was not a valid access token. |
Follow steps to repost the lead. |
602 |
Access token expired |
The Access Token included in the call is no longer valid due to expiration. |
Follow steps to repost the lead. |
603 |
Access denied |
Authentication is successful but user doesn’t have sufficient permission to call this API. Additional permissions may need to be assigned to the user role. |
Check your Marketo user type is an API-Only role and that it has the correct Access API permissions. See Connecting to Marketo for more information. |
604 | Request timed out | The request was running for too long (e.g. encountered database contention), or exceeded the time-out period specified in the header of the call. |
Follow steps to repost the lead. |
606 | Max rate limit ‘%s’ exceeded with in ‘%s’ secs | The number of calls in the past 20 seconds was greater than 100. |
Follow steps to repost the lead. |
607 | Daily quota reached | Number of calls today exceeded the subscription’s quota (resets daily at 12:00AM CST).
Your quota can be found in your Admin->Web Services menu. You can increase your quota through your account manager. |
Follow steps to repost the lead. |
611 | System error | All unhandled exceptions. |
Follow steps to repost the lead. |
615 | Concurrent access limit reached | At most 10 requests can be processed by any subscription at a time. This will be returned if there are already 10 requests for the subscription ongoing. |
Follow steps to repost the lead. |
701 | %s cannot be blank | The reported field must not be empty in the request. |
Confirm that the field in the Demand Acceleration Platform is mapped to Marketo field. Follow steps to repost the lead. |
1001 | Invalid value ‘%s’. Required of type ‘%s’ | Error is generated whenever parameter value has type mismatch. For example string value specified for integer parameter. |
Confirm data being sent from the Demand Acceleration Platform aligns with the Marketo field type attempting to receive it. Change data in DAP or update the field type. Follow steps to repost the lead. |
1002 | Missing value for required parameter ‘%s’ | Error is generated when required parameter is missing from the request. |
Check that you have the associated field(s) in the Demand Acceleration Platform. Check the field is mapped to Marketo field. Follow steps to repost the lead. |
1003 | Invalid data | When the data submitted is not a valid type for the given endpoint or mode. |
Confirm data being sent from the Demand Acceleration Platform aligns with the Marketo field type attempting to receive it. Change data in DAP or update the field type. Follow steps to repost the lead. |
1006 | Field ‘%s’ not found | An included field in the call is not a valid field. |
Confirm the field exists in Marketo and is valid. In the Demand Acceleration Platform, consider whether the field should be remapped to another Marketo field. Follow steps to repost the lead. |
1025 | Program status not found | A status was specified to Change Lead Program Status that did not match a status available for the program’s channel. |
Confirm the Program Status in the Demand Acceleration Platform aligns with Marketo. Change status in the Demand Acceleration Platform or update Marketo. Follow steps to repost the lead. |
Other response codes can be found in Marketo's list of error codes. Speak with your Customer Success Manager if you need help understanding or correcting an error.
Recommended Reading
- Setting up an Integration to Marketo
- Testing a Marketo Integration
- Monitoring your Lead Post Outs to Marketo
- Reposting Leads