1. #1
    Rich is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Posts
    2,453
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Adwords API released

    The AdWords API beta program is an open invitation to developers to explore new concepts (and then write great software) for managing Google AdWords advertising campaigns. Large advertisers can use it for their complex ad management needs, like tying product margins to optimized keyword bids.Third parties can use the API to build new interfaces to manage their client accounts. Best of all, an API enables the creation of all sorts of unanticipated ideas.
    This could make quite a difference to PPC bidders. You can pretty much do what ever you could the adwords control panel but from your own code, which opens up lots of possibilites: -
    • Turning on and off ads at the best times.
    • Turning off an ad when a product goes out of stock.
    • Showing prices in ads and keeping them correct (though I'm still unsure what effect editing you ad has on ranking)
    • Inserting a whole product feed into adwords! (maybe thats why the one ad per domain rule came in first)
    I know some people have already been doing these things by screen scraping the adwords interface, but this makes it a lot easier.

    Now, if only I was any good at PPC....

    edit: forgot to include a link - http://www.google.com/apis/adwords/
    Last edited by Rich; 28-01-05 at 01:11 PM.

  2. #2
    Barry Typing with both fingers.
    Join Date
    Aug 2003
    Location
    Allt Y Coed Farm, North Pembrokeshire
    Posts
    3,834
    Thanks
    215
    Thanked 143 Times in 108 Posts
    Nice one Rich, I hadn't seen that on their site anywhere. I have had a quick gander round the demo codes for php.

    Hopefully now its released we should see a steady increase in the functionality and amount of demo scripts available for php.

    Having the ability to bulk upload ads including their description and title will definetly be a bonus.

    Ta

  3. #3
    Rich is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Posts
    2,453
    Thanks
    0
    Thanked 0 Times in 0 Posts
    It actually seems to have been put together in a way that seems to be quite logical, so the demo scripts cover the basics.

    One thing I spotted with the PHP demos is the latest version of NuSOAP (1.84 i think) seems to have a bug in that it doesn't send request headers correctly. It was only 3 days old, and the version before about 6 days old, so I went back to 1.82 which was released mid december - so possibly what they tested with - and it worked ok.

    One other thing, you know how the stats in the cotrol panel lag behind real data, well if you create a new campaign via the API it also takes a while before it will show in the control panel. I haven't tried this in reverse to see if you can get more uptodate stats via the API than you can via the control panel.

  4. #4
    chrisk999 is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Location
    Cambridge
    Posts
    396
    Thanks
    0
    Thanked 0 Times in 0 Posts
    An immediate use that I'd quite like to experiment with is to display the day's spend so far via WAP, broken down into individual campaigns in a subpage, perhaps including average CPC.

    Then we could just check the spend using our phones while not being tied to a computer...

  5. #5
    chrisk999 is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Location
    Cambridge
    Posts
    396
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ...lol and over to you Rich - I've had a play for an hour now, and have only managed to get the keyword suggester tool to work...

    If you figure out a way of grabbing an overall summary report like that when you first log into your account, let me know

  6. #6
    Retail Creations is an unknown quantity at this point Registered User
    Join Date
    Aug 2004
    Posts
    387
    Thanks
    0
    Thanked 0 Times in 0 Posts
    is this still subject to the 1000 queries a day limit ?
    <a href="http://affiliatetech.co.uk">AffiliateTech</a> - Web design and development for affiliates & merchants
    <a href="http://www.naturalinstinct.co.uk/a.aspx">Natural Instinct</a> - 15% residual on adult gifts
    <a href="http://paidonresults.com">Gadget Storm</a> - 10% residual on gifts & gadgets

  7. #7
    chrisk999 is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Location
    Cambridge
    Posts
    396
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Originally posted by Retail Creations
    is this still subject to the 1000 queries a day limit ?
    Don't think so no - on my account, it says actions remaining this month = 1,000,000 which is way more than I would use I expect.

  8. #8
    Rich is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Posts
    2,453
    Thanks
    0
    Thanked 0 Times in 0 Posts
    He he, I told Jon about the 1000/mth limit - guess that shows how little I spend on PPC! (or how much chrisk99 does!)

    Attached is a little wap interface for you.

    Just rename it to .php, change the authentication stuff at the top of the file, put a copy of NuSOAP 1.82 in the same folder, then point your WAP browser at it (opera has a built in WAP browser if you want to use that to test).

    The first screen lists all your active campaigns. Clicking on one of these shows you the stats breakdown for that campaign.

    Notes:
    It could be more efficient by getting all the stats in one call rather than one for each campaign, but it was easier to do this way due to the limited amount of data you can fit in a WML deck.

    I haven't quite figured out the datetime format of the api, so I think it is using a different time zone to the control panel stats. I.e the figures will be different, but consistently different.
    Last edited by Rich; 28-01-05 at 07:49 PM.

  9. #9
    Rich is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Posts
    2,453
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Sorry, I removed the script off the the last post due to a bug fix but couldn't re-attach it. Its here...
    Attached Files

  10. #10
    chrisk999 is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Location
    Cambridge
    Posts
    396
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rich... you are a true star.

    One minor problem though, when I popped it onto my server, it says:

    Select Campaign

    Select a Campaign to view (okay so far!)

    Warning: Invalid argument supplied for foreach() in /home/public_html/adwordswap/wap.php on line 32
    I'm having a quite fiddle with it myself, but do you have any idea why that might be happening?

    Muchos gratias though - very kind indeed.

  11. #11
    chrisk999 is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Location
    Cambridge
    Posts
    396
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Ignore that last post - me being daft...

    My problem was that I'd put my MCC login as the email address, rather than the client email address (with the campaigns in it... duh)

    Works like a dream - you are one clever person Rich.

    (I'm still getting a 'Response Unknown' error on my mobile, but it's working amazingly on Opera! Getting there...)

  12. #12
    Rich is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Posts
    2,453
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Hmm, a mobile should get the right headers to load it from any webserver - at least any apache one, things are a little more complicated on IIS.

    If you are using apache, try adding a blank line before <!DOCTYPE in the script, that might be enough to stop it confusing your phone.

    One bug I've spotted, not sure if its mine or Googles, is that to get the data for today you have to set the start and end of the date range to tommorrow. So the script as posted shows yesterdays data.

    To correct that change: -
    $today=date('Y-m-d').'T00:00:00Z';
    to: -
    $today=date('Y-m-d',strtotime('+1 day')).'T00:00:00Z';

  13. #13
    chrisk999 is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Location
    Cambridge
    Posts
    396
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Right I'm off to bed now... but I've adjusted your script Rich, to show all the important stats on the front page. You can then click through to view more details.

    I've also added a 'today/yesterday's stats button, so it's a bit more flexible (bit inaccurate at 3am though, but that shouldn't matter too much...).

    Have a look - I can see this being very useful when I'm away from the computer.

    (I think the next project should be to get a daily breakdown of the last 7 days for the whole account... is there a quicker method than doing a computation for each day?)
    Attached Files

  14. #14
    Rich is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Posts
    2,453
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Nice changes.

    On the front page, rather than looping thru getCampaignStats for each campaignid, you can send multiple ID's in one request and then the $stats will be an array of the starts for each campaign.

    I've quickly changed the script to do that, so it will only take two calls to load the summary page rather than (number of campaigns+1). This probably isn't a big deal for the number of operations you are allowed, but it should make the page load quite a bit quicker.

    You can also reuse the same soap client for the getCampaignStats and getAllAdWordsCampaigns calls, so I've simplified that bit a little.
    Attached Files

  15. #15
    chrisk999 is an unknown quantity at this point Registered User
    Join Date
    Aug 2003
    Location
    Cambridge
    Posts
    396
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Rich, did you attach the wrong one there? It looks pretty identical to the first one you posted?

    I agree it would be good to minimise the number of calls, as even using Opera, it takes about 20 seconds to pull all the requests.

    Would be interested to see what you've done.

    (btw I got the dates bit wrong before - it worked at 3am, but not during the day...! line 22-25 ought to read:

    if($daterange==''){$daterange='today';}
    if($daterange=='today'){$today=date('Y-m-d',strtotime('+1 day')).'T00:00:00Z';}
    if($daterange=='yesterday'){$today=date('Y-m-d',strtotime('0 day')).'T00:00:00Z';}

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Content Relevant URLs by vBSEO 3.5.0 RC2