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 <[email protected]> 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en

Reply via email to