Program Member Status Changes via Bulk Import API - Logs are overrun with unchanged status logs | Community
Skip to main content
New Participant
March 21, 2022
Solved

Program Member Status Changes via Bulk Import API - Logs are overrun with unchanged status logs

  • March 21, 2022
  • 2 replies
  • 4190 views

Hello -

 

My Company (app.experiencewelcome) has written an integration via Tray.Io with Marketo and our platform (events platform).

 

We send Program Member Status Updates back to the Marketo platform from ours when triggered by a webhook.

 

We've noticed recently, approximately since the beginning of the year, that Marketo's logs are getting drowned by Skipped Status Unchanged logs when hitting a Program Member's Status that is the same value that is currently stored.

 

I've looked at the API update notes, but don't see anything regarding bulk import that may cause this to occur.

 

Are there any tips anyone can offer so that I do not hit my customers with thousands of redundant logs per day?

 

Below is the input

 

{ "method": "POST", "query_parameters": [ { "key": "format", "value": "csv" }, { "key": "programMemberStatus", "value": "Registered" } ], "body": { "form_data": { "file": { "name": "registered_csv.csv", "url": "https://tray-csv-file-processing.s3.us-west-2.amazonaws.com/exports/abd412b1-9b1d-4ce4-9bd8-db57d55541aa.part_00000?AWSAccessKeyId=ASIAWLUGWV6AKLVSXM2R&Expires=1647962801&Signature=4627mNn9o2jNWSqucPE3HXRSD0o%3D&response-content-disposition=attachment%3B%20filename%3D%22registered_csv.csv%22&x-amz-security-token=xxxxc", "mime_type": "text/csv", "expires": 1647962801 } } }, "client_secret": "5b... <**--removed--**>", "parse_response": "true", "url": { "full_url": "https://958-TTM-744.mktorest.com/bulk/v1/program/2748/members/import.json" }, "client_id": "c0... <**--removed--**>", "include_raw_body": false, "endpoint": "ht... <**--removed--**>", "quota_wait": false

 

 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by SanfordWhiteman

Interesting point. I figured the “webhook” in question wasn’t a Marketo webhook but rather one fired from the 3rd-party platform to an (also 3rd-party) integration tier. If it’s a Marketo Call Webhook then it couldn’t know when someone needed updating.

 

But still, the other platform would know. There’s no reason to be setting a status that you know in advance will be skipped, because you’re the only one controlling the status.

 

On the other hand, sometimes Smart Campaigns are also changing statuses, so when setting via API we try for the one we want: if it’s the current one, no problem, and if it’s a previous one, also no problem as it means the person has been moved along.

 

Also, not clear why the Bulk Import API would be used for a single lead, if it’s really one-by-one. (Not that there’s anything specifically wrong with using the bulk APIs for single rows, except you don’t get a synchronous response.)

2 replies

Katja_Keesom
Community Manager
March 24, 2022

In addition to Sanford's comments, your original statement here raised a question with me:


We send Program Member Status Updates back to the Marketo platform from ours when triggered by a webhook.

I am assuming Marketo does not know for which person to request a status update, as it is your event program that knows whose status was updated recently. So I do not really see how the webhook will know for which person to request the status change. If the webhook is triggering the update from the Marketo end I can understand you will receive a lot of Skipped messages for those people where simply nothing happened. Would it not make more sense to let your event program mark the people with a recent status change and push the update from that end? That way you will know it only covers people with an actual change. Depending on volumes you could even make that an instant process step to send the individual update per person.

SanfordWhiteman
SanfordWhitemanAccepted solution
New Participant
March 24, 2022

Interesting point. I figured the “webhook” in question wasn’t a Marketo webhook but rather one fired from the 3rd-party platform to an (also 3rd-party) integration tier. If it’s a Marketo Call Webhook then it couldn’t know when someone needed updating.

 

But still, the other platform would know. There’s no reason to be setting a status that you know in advance will be skipped, because you’re the only one controlling the status.

 

On the other hand, sometimes Smart Campaigns are also changing statuses, so when setting via API we try for the one we want: if it’s the current one, no problem, and if it’s a previous one, also no problem as it means the person has been moved along.

 

Also, not clear why the Bulk Import API would be used for a single lead, if it’s really one-by-one. (Not that there’s anything specifically wrong with using the bulk APIs for single rows, except you don’t get a synchronous response.)

SanfordWhiteman
New Participant
March 22, 2022

I've looked at the API update notes, but don't see anything regarding bulk import that may cause this to occur.

Well, by definition a (handled) exception occurs when you try to set someone to a status they can’t move to, including their current status or a lower status in the progression. So there’s nothing confusing here!

 

You could keep track of those people that you know to be at least at Status B1, because you set that status, and exempt them from later imports. But even this won’t be possible if other independent processes can set them to a sibling (same priority) Status B2, because you need to be able to flip them to B1.

 

In sum, the behavior is expected in Marketo.

New Participant
March 22, 2022

Thanks for your reply.

 

We only started noticing this a few months ago. Can you confirm that some recent changes to the API has caused this? I had previously never experienced so many logs for unchanged statuses

 

Do you have any other advice/tips to mitigate the large number of updates?

SanfordWhiteman
New Participant
March 22, 2022

It’s not a new thing. Marketo has long logged “Skipped” so you know the attempt was made (instead of the Flow step or API call being invisible in the log).

 

I don’t have any other tips but the above. Do you usually know that your app set the status already, so you can skip the same-status change?