Hi Josip,

I think your best option is to use Strategy #2.  To avoid very large
responses and timeouts you can utilize the paging functionality to
fetch the results in smaller sets.  This is essentially what Strategy
#3 is doing, except you were making 1 page = 1 ad group's worth of
items.  As you've found out this is inefficient, since some ad groups
only contain a few items.  If you select all the items with one
selector and use paging you can ensure that each page has the optimal
number of items in it.

Best,
- Eric

On Apr 7, 5:50 am, JosipK <[email protected]> wrote:
> Hi,
>
> Yes, I get standard SOAP fault containing QuotaExceededError and the
> reason QUOTA_EXCEEDED.
>
> As I said we need to synchronize many adgroups/ads/criterions.
>
> To do that we need to download data from AdWords, make some
> modifications and then upload modifications to the AdWords.
>
> We have made component that is responsible for downloading/uploading
> data from/to AdWords. To do such job component has some download/
> upload strategy.
>
> (Strategy 1) Before, the strategy was (this is for download, it's
> similar for upload):
> 1. Download all campaigns, all adgroups, all criterions, all ads.
> 2. Build model from downloaded data.
>
> This approach was too expensive (because we need only adgroups from
> certain campaigns, we don't need deleted objects - some selectors
> don't support selecting by status, for example AdGroupSelector 
> -http://code.google.com/apis/adwords/v2009/docs/reference/AdGroupServi...)
> so we have modified that to (Strategy 2) :
> 1. Download all campaigns.
> 2. Download all AdGroups (from campaigns that we want).
> 3. Download all Criterions and Ads from AdGroups (from adgroups that
> we want) - in single call.
> 4. Build model.
>
> This was ok for small accounts, but for account with more criterions,
> this wasn't good strategy. If account had too many criterions -> one
> call took too much time -> connection was closed before we finished
> with the call.
> In upload, if one criterion failed -> all criterions failed.
>
> (Strategy 3) Now we have the following strategy:
> 1. Download all campaigns.
> 2. Download all AdGroups (from campaigns that we want).
> 3. Download all Criterions and Ads from AdGroups (from adgroups that
> we want) - one call for each adgroup.
> 4. Build model.
>
> The following strategy is not good when account has too many adgroups,
> because we make too many calls (that's the reason for Qouta Exceeded).
>
> Now I make little delay between two calls (75 milliseconds) and that
> solves the problem with Quota Exceeded error, but I'm not satisfied
> with that.
>
> In final release I'll probably make solution that combines strategy 2
> and 3, something like:
> 1. Download all campaigns.
> 2. Download all AdGroups (from campaigns that we want).
> 3. Download all Criterions and Ads from AdGroups (from adgroups that
> we want) - one call for multiple adgroup.
> 4. Build model.
>
> To make optimized strategy I need to know how many calls can I do in
> step 3 (x per minute)?
>
> Do you have some suggestion?
>
> Regards,
>
> --
> Josip
> GemBox.Ppc -www.GemBoxSoftware.com/Ppc/Overview.htm- Advanced
> AdWords API for C# / VB.NET
>
> On Apr 6, 4:41 pm, AdWords API Advisor <[email protected]>
> wrote:
>
>
>
> > Hi Rick,
>
> > When you trigger this error you'll receive a standard SOAP fault,
> > containing a QuotaExceededError and the reason QUOTA_EXCEEDED.
>
> >  http://code.google.com/apis/adwords/v2009/docs/reference/CampaignServ...
>
> > Best,
> > - Eric
>
> > On Apr 5, 12:58 pm, Rick <[email protected]> wrote:
>
> > > In order to handle this quota message programatically, can you give us
> > > an example of what the QUOTA_EXCEEDED produces? Is it a 500 error, or
> > > something else?
>
> > > Can you tell us if the quota is per Developer Token, per IP, or what?
>
> > > Rick
>
> > > On Apr 5, 7:33 am, AdWords API Advisor <[email protected]>
> > > wrote:
>
> > > > Hi Josip,
>
> > > > TO address your questions:
>
> > > > 1) The exact limits of the AdWords API are not made public, but if you
> > > > receive a QUOTA_EXCEEDED then we recommend you wait 30 seconds and try
> > > > your request again.
>
> > > > 2) Documentation on campaign size limits is available 
> > > > here:http://adwords.google.com/support/aw/bin/answer.py?hl=en&answer=40907
>
> > > > 3) Do you have the request ids of some requests that demonstrate this
> > > > difference in time?
>
> > > > Best,
> > > > - Eric Koleda, AdWords API Team
>
> > > > On Apr 2, 8:22 am, JosipK <[email protected]> wrote:
>
> > > > > Hi,
>
> > > > > We are developing some component that would synchronize our database
> > > > > with AdWords platform. We have test it against sandbox and now against
> > > > > real AdWords account and it's all working for small data (few
> > > > > thousands adgroups/criterions/ads).
>
> > > > > But when we include larger set of data (15 campaigns * 900 adgroups *
> > > > > (2 criterions + 1 ad)), sometimes we get
> > > > > QuotaExceededError.QUOTA_EXCEEDED (You have exceeded the quota in the
> > > > > following categories : RequestsPerMinute. Please retry your request
> > > > > after 30 seconds.) error.
>
> > > > > Also, when we have made more calls (like two/three synchronizations
> > > > > per day), then we have experienced some slowdown. Call (actually API
> > > > > calls) that before last 5 minute, now last 10 or more minutes.
>
> > > > > My questions are:
> > > > > 1. What are the limits of AdWords platform? How many calls can I call
> > > > > per minute/hour/day?
> > > > > 2. Is there some document that describes those limits? I know that
> > > > > account can have 25 campaigns, ..., but what with other limits?
> > > > > 3. Why we experience slowdown?
>
> > > > > Regards,
> > > > > Josip

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Have you migrated to v200909 yet?
The v13 sunset is on April 22, 2010.

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

To unsubscribe, reply using "remove me" as the subject.

Reply via email to