Re: CustomerSyncService in Sandbox - not all changes are returned

2010-12-17 Thread AdWords API Advisor
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

2010-12-16 Thread AdWords API Advisor
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

2010-12-16 Thread Alexander Parij
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

2010-12-15 Thread Alexander Parij
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

2010-12-14 Thread Alexander Parij
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

2010-12-13 Thread Alexander Parij
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