SOLVED

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

Go to solution
jkimexperience
Level 1

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

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

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
SanfordWhiteman
Level 10 - Community Moderator

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

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.)

View solution in original post

15 REPLIES 15
SanfordWhiteman
Level 10 - Community Moderator

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


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.

jkimexperience
Level 1

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

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
Level 10 - Community Moderator

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

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?

jkimexperience
Level 1

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

To confirm one more time. Even if the CSV file that we're utilizing for bulk import contains a single program member, the API call will run through every single program member and log the unchanged statuses?

SanfordWhiteman
Level 10 - Community Moderator

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


Even if the CSV file that we're utilizing for bulk import contains a single program member, the API call will run through every single program member and log the unchanged statuses?

No, not at all. Only the people for whom a status change was attempted. There’s no affect on other people.

jkimexperience
Level 1

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

This is odd. I am making the below call, where the CSV being referenced has 2 Program Members. However, when this is ran, I am getting Unchanged Status logs for all the other Program Members that are in the Program and matching Status but AREN'T in this CSV file

 

 

{
	"method": "POST",
	"query_parameters": [
		{
			"key": "programMemberStatus",
			"value": "Registered"
		},
		{
			"key": "format",
			"value": "csv"
		}
	],
	"body": {
		"form_data": {
			"file": {
				"name": "registered_csv.csv",
				"url": "https://tray-csv-file-processing.s3.us-west-2.amazonaws.com/exports/a3a8b6a6-58e8-45dc-9200-dfc91b364736.part_00000?AWSAccessKeyId=ASIAWLUGWV6AK5JBXM46&Expires=1648063430&Signature=UhwNU1KyzzhZrMe%2Bh0QQ65NUPuQ%3D&response-content-disposition=attachment%3B%20filename%3D%22registered_csv.csv%22&x-amz-security-xxxx",
				"mime_type": "text/csv",
				"expires": 1648063430
			}
		}
	},
	"client_secret": "5b... <**--removed--**>",
	"parse_response": "true",
	"url": {
		"full_url": "https://xxxx.mktorest.com/bulk/v1/program/2748/members/import.json"
	},
	"client_id": "c0... <**--removed--**>",
	"include_raw_body": false,
	"endpoint": "ht... <**--removed--**>",
	"quota_wait": false
}

 

 

I don't see any parameters i'm missing to remediate this per the marketo api docs.

 

Do you see anything in my script that may be causing this? 

SanfordWhiteman
Level 10 - Community Moderator

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

(btw, the code you’re supplying isn’t actually what’s sent to Marketo. That’s a JSON representation of the internal Tray.io logic — not even close to what goes on the wire. So not really the place to troubleshot stuff.)

jkimexperience
Level 1

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

I don't see any api calls to import/upload data to a single program member, can you confirm?

jkimexperience
Level 1

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

To answer your question, yes. We have confidence in knowing that our application set the status already, and there's no need for this gigantic number of redundant status logs