Re: CustomerSyncService in Sandbox - not all changes are returned
Hi Alex, Regarding the timestamps, I'm not aware of any accuracy issues or needing to subtract seconds. If you are finding otherwise please include the requestIds from a series of requests that demonstrates the issue and I'll look into the problem. Regarding the TOO_MANY_CHANGES, I think you are misunderstanding how the dateTimeRange is used. The purpose of the service is to allow you determine what changes took place between a given start and end time. TOO_MANY_CHANGES indicates that there were too many changes made to the campaign or it's sub-entities during the time range to fit into the response. This is not the same as the NEW status, which indicates that the campaign was created during that time span. Best, - Eric On Dec 16, 11:54 am, Alexander Parij paris.a...@gmail.com wrote: Thanks Eric, I'm glad someones is going to take a look at it . As I said in my last message , it's not about criteria changes but about lastChangeTimestamp being incorrect so it just depends how lucky you are and how much seconds you subtract , you will get more and more changes be it criteria or textad or whatever else was updates. Regarding NEW status I completely understand and agree. I don't expect any changes under New status and I will go and do a full download it just looks silly when you return TOO_MANY_CHANGES instead of New ( it means you are wasting resources aggregating changes just to return New ? Or it's just necessary for you to calculate changes to return lastChangeTimestamp and that's where this error generated?) . But i think it's better to get one consistent result(NEW status) which does not depend on the campaign size/amount of changes. On my side I just solve the problem with a simple try/catch, but as a user of the api I want to help you improve it :) Thanks ! -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en
Re: CustomerSyncService in Sandbox - not all changes are returned
Hi Alex, To your original question, I am seeing that criteria changes aren't being picked up by the CustomerSyncService in the sandbox. I don't think this is the desired behavior, and I'll investigate the issue with the core engineering team. More information about the TOO_MANY_CHANGES error is available here: http://code.google.com/apis/adwords/docs/troubleshooting.html#CustomerSyncError As to the steps you've outlined, I believe this is the correct behavior. When a campaign is returned with the NEW status no other changes will be reported under it, even if you also added ad groups, ads, criteria etc. When a campaign is reported with the NEW status it is assumed that you've never synced the campaign before, and that you'll need to crawl through all the ad groups, criteria, targets, anyway. You can read more about this behavior here: http://adwordsapi.blogspot.com/2010/10/discover-201008-customersyncservice-so.html Best, - Eric Koleda, AdWords API Team On Dec 15, 4:44 pm, Alexander Parij paris.a...@gmail.com wrote: Looks like no one cares about fixing sandbox bugs so I had to debug your api. 1) I create campaign and add some other objectsusing the api 2) I use CustomerSyncService for the first time with min date set to 19700102 since I don't have the lastChangeTimestamp 3) I get a result with some lastChangeTimestamp( for example the time I get is 20:20:17) and campaign status as New [ This is a subject of another topic , it happens in production environment as well - if the campaign is fairly new you return New status while the campaign is old you give an error of TOO_MANY_CHANGES , my guess is you calculate changes just to return new status ?!?? So just decide what are you doing and be more consistent - meaning just return New by default if the min date is too far in the past, anyways ] 4) Back again to the topic, I'm doing some mutate calls with remove and changes to the campaign and its chidlren ( couple of seconds after the CustomerSync call) 5) as the api docs recommend I should use the lastChangeTimestamp (= 20:20:17) for my next CustomeSyncService. Which I do and I get incomplete results . then I debug the call second by second and realize that the change of my previous mutate calls started to apply at 20:20:05 , meaning 12 seconds before ! So the lastChangeTimestamp was incorrect and was late by 12 sec. May be you add these 12 sec as some sort of buffer? May be the process the writes the mutate calls has a different time than the process that is doing the CustomerSync calls? Alex Parij -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en
Re: CustomerSyncService in Sandbox - not all changes are returned
Thanks Eric, I'm glad someones is going to take a look at it . As I said in my last message , it's not about criteria changes but about lastChangeTimestamp being incorrect so it just depends how lucky you are and how much seconds you subtract , you will get more and more changes be it criteria or textad or whatever else was updates. Regarding NEW status I completely understand and agree. I don't expect any changes under New status and I will go and do a full download it just looks silly when you return TOO_MANY_CHANGES instead of New ( it means you are wasting resources aggregating changes just to return New ? Or it's just necessary for you to calculate changes to return lastChangeTimestamp and that's where this error generated?) . But i think it's better to get one consistent result(NEW status) which does not depend on the campaign size/amount of changes. On my side I just solve the problem with a simple try/catch, but as a user of the api I want to help you improve it :) Thanks ! -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en
Re: CustomerSyncService in Sandbox - not all changes are returned
Looks like no one cares about fixing sandbox bugs so I had to debug your api. 1) I create campaign and add some other objectsusing the api 2) I use CustomerSyncService for the first time with min date set to 19700102 since I don't have the lastChangeTimestamp 3) I get a result with some lastChangeTimestamp( for example the time I get is 20:20:17) and campaign status as New [ This is a subject of another topic , it happens in production environment as well - if the campaign is fairly new you return New status while the campaign is old you give an error of TOO_MANY_CHANGES , my guess is you calculate changes just to return new status ?!?? So just decide what are you doing and be more consistent - meaning just return New by default if the min date is too far in the past, anyways ] 4) Back again to the topic, I'm doing some mutate calls with remove and changes to the campaign and its chidlren ( couple of seconds after the CustomerSync call) 5) as the api docs recommend I should use the lastChangeTimestamp (= 20:20:17) for my next CustomeSyncService. Which I do and I get incomplete results . then I debug the call second by second and realize that the change of my previous mutate calls started to apply at 20:20:05 , meaning 12 seconds before ! So the lastChangeTimestamp was incorrect and was late by 12 sec. May be you add these 12 sec as some sort of buffer? May be the process the writes the mutate calls has a different time than the process that is doing the CustomerSync calls? Alex Parij -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en
Re: CustomerSyncService in Sandbox - not all changes are returned
Or may be it's a difference in how the resources are allocated between production and sandbox environment ? In production environment it takes around ~10sec for changes to propagate to all your systems so CustomerSyncService can pick them up . In Sandbox it might take longer, like we are talking about minutes ? 20 minutes ? What is the granularity of CustomerSyncService in sandbox ? -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en
CustomerSyncService in Sandbox - not all changes are returned
Hi , Is it possible that somehow the sandbox won't return the ids of changed objects using CustomerSyncService ? From what I see it will never return id's of changed or deleted adgroup criterions, also no changes to adgroup are returned. Changes to campaigns or ads are picked up and returned . Can you check that in sandbox using my credentials: developer token : paris.a...@gmail.com++cad client email : client_3+paris.a...@gmail.com email : paris.a...@gmail.com Thanks -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups AdWords API Forum group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en