Got Ads?
2/28/2005
  Yahoo's APIs - including Overture

Yahoo's getting in the game. REST based APIs for Search, Images, News, etc.

Yahoo's differentiators:

I think another difference is that Yahoo knows how to support a community launch better than Google. Jeremy Zawodny alone will do more to promote the APIs than the Google AdWords API team has time for. E.g. a quick tour of the sample code shows more depth than the Google AdWords API samples. A nice perl example, even a JavaScript sample. PHP is kind of weak, however...

Paul Bausch, a creator of this fine blogging service (blogger), and author of Amazon Hacks, has a quick Yahoo API sample up on O'Reilly site.

BTW, if you want to get started with the Overture APIs, they are there, you just have to look carefully. Unfortunately, you need to process DTC-XML for Overture. So once people learn SOAP, REST and REST / DTC-XML, we can expect some cool apps!

 
2/27/2005
  Survey Data about Click Fraud

SEMPO releases the results of a survey done in 2004. Click fraud is seen as a minor problem currently.

In your experience, how much of a problem is "Click fraud" with regard to paid placement?

Statement All Advertisers Advertisers of < 500 EmployeesAdvertisers of 500+ Employees Agencies
This is a significant problem we have tracked6%10%0%4%
It is a moderate problem we have tracked19%21%15%30%
We have not tracked it much, but we are worried about it45%36%58%43%
It is not a significant concern26%28%23%23%
Never heard of it before5%5%4%0%

Interestingly, the survey summary claims that advertisers and agencies are currently more concerned about manipulation of search engine results, with repondents averaging a 2.0 on a scale of 1 - 5, agreeing with the statement: "Abuse of search engine optimization practices is a major problem".

My take would be that things change fast in the search world, and it's not surprising that SEO manipulation had more awareness than click-fraud. But I think SEO manipulation is the past trend. There is room for surprise on the click-fraud front since concern about click fraud hasn't reached critical mass in the marketplace. If it does, it is going to have a lot of room to run, since most market participants weren't worrying about click fraud at the time of this survey. Of course, I could be wrong, and click fraud is really nothing to worry about...

 
2/26/2005
  What To Do Now to Detect Click Fraud

Here's how to prepare yourself to be able to detect click fraud and potentially get a refund from Google or Overture:

  1. Track your conversion rate. Don't just use the Google and Overture tools. Find a unified way to track both conversions from all ad networks, outside of the Google or Overture system.
  2. Log everything. Capture referrers, user-agents, cookies, etc.
  3. Save everything. Save all your old logs and monthly reports from the ad networks
  4. Log a user or session cookie to each web server log line.
  5. Log numeric IP address. Don't use DNS lookup to insert the name into your log file.
  6. Add tags to your destination URLs - especially on Google! You need to include the keyword and other relevant details. This topic alone deserves a whole post.
  7. Graph conversion rate against clicks from Google / Overture.

That's a start - you certainly need to keep good records and all your clickstream data.

 
  Click Fraud Storm Slowly Gathering

Seth Godin picks up on some Indian stories about click farms...

Related:The warning at the end of John Heilman's article on Google:

When crisis eventually comes to Google— and it will—the company’s fate will depend on whether they have absorbed a handful of lessons that apply as much to life as they do to business: Adulthood happens. You can’t make all your own rules. And everyone fucks up.

Yes. Within 18 months. Call it the "Come to Jesus" moment. I'm guessing that it'll be related to click fraud.

 
2/21/2005
  Click Fraud is in the Top 4

Brian McAndrews in interviewed by the MarketingSherpa folks. He gives four tips, and number three deals with click fraud.

To stay in the game, McAndrews suggests these strategies:
  • Look at lifetime value
  • First rank isn't always the best
  • Continue to monitor for click fraud
  • If anything, the click fraud topic will heat up this year. Advertisers should monitor campaigns closely: if click volume spikes while conversions stay within a normal range, you may be dealing with fraudulent clicks from affiliates or your competition.

  • Search is just part of the mix

McAndrews is the CEO of the company that owns AtlasDMT. So he sees a lot of data. One tip that he probably assumes his audience must be doing is: "Track conversions." That's step one.

 
2/19/2005
  How Relevancy Forces You to Focus

The fact that Google AdWords rewards relevancy creates a big differentiation for Google AdWords over Overture's system. The simple fact that your ad position is determined by the combination of your bid and your click-thru rate causes you to focus on the right things:

When you try to over-think the buying of PPC ads, you can get distracted by complex bid-management strategies such as day-parting: choosing when to run ads in order to reduce cost.

Although Overture's transparency has some advantages, it's all too easy to get caught up in the bidding process, since the bids are all that control your ad position. Techniques like day parting may make sense for high volume sellers who have very good understanding of their demographics, but for the most part, it's a distraction.

There are better ways to spend your time if you are looking to maximize profit on an ad campaign. Consistently focusing on keywords, ads and landing pages can easily increase conversion rates by factors of 2x or 3x.

 
  Where are the AdWords API Apps?

Brian over at MicroISV speculates:

Now that Google is opening up the AdWords API, my guess is that we’re going to see dozens if not hundreds of apps that will handle scheduling of ads. By scheduling ads to appear at times when people are more likely to download my software, I have a better chance of both increasing sales and quite possibly, decreasing expenses. My other option is to use the API to increase the bids on my AdWords so that they appear first in the list during non-peak times which has the potential to increase sales during times that are traditionally slow.

My view is that it will take a while these apps to show up. Here's why I think the AdWords API adoption is going to be somewhat slow:

What could Google do to increase the adoption beyond the AmazEbayShoppingTag.coms? A few things are obvious:

Note that I don't think the choice of SOAP is a limiting factor. There are some who clamor for a REST version, but I think the AdWords API is more complex than most of the current REST things, and a different interface wouldn't spur adoption any faster. The AdWords API is a great thing because it's an early example of web services for the masses. Google should make it happen faster, though.

 
  Can You Really Post From an Email?

If this post shows up, I guess you can.

=====
Visit one of my websites:
http://gotads.blogspot.com         -- Successful search engine marketing

__________________________________
Do you Yahoo!?
Meet the all-new My Yahoo! - Try it today!
http://my.yahoo.com

UPDATE: Wow! It worked. I guess I gotta watch that .signature if I want to do that again.

 
2/18/2005
  Simplest indicator of click fraud

If you buy PPC advertising, it's imperative that you track conversions somehow.

If you know your average conversion rate, and you have enough volume, then changes in the conversion rate can be a strong tip-off of possible click fraud.

However, if you are letting Google and Overture track conversions, and they are crediting you automatically for what they identify as fraudulent clicks, then you won't really be able to see what's happening - they are tweaking the data before you see it. Another good reason to track your own clicks and conversions outside of what Google and Overture do for you.

 
  Help with Google Results in an IFRAME

I spent an hour hacking the Y!Q javascript to see if I could get it to call Google. Of course in the end I really only changed about 10 lines. The idea was to see if I could get better "contextual" results.

However, I couldn't get the Google results into an IFRAME cleanly. On Firefox, I kept getting a syntax error.

The yahoo javascript grabs the search results from the page with the following line: document.getElementsByTagName("head").item(0).appendChild(oJSResults);

But when you try it against google, it fails with:

Error: syntax error Source File: http://www.google.com/search?q=click%20fraud%2C %20click%20spam%2C%20google%20click%20fraud%2C %20Overture%20click%20fraud&=Search%20Related %20Info&hl=en&num=5 Line: 1 Source Code: <html><head><meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8"><title>Google Search: click fraud, click spam, google click fraud, Overture click fraud </title><style><!--

I think the problem may be that <!-- at the end. Google must put that in there for some reason - and it may be somehow messing up the Javascript/DOM ability to grab the right element. So if you know how to fix that, I'd love it if you'd put a note in the comments. Thanks

 
2/16/2005
  Tracing the SOAP over SSL

The SoapScope weblog explains how to use their product to see a soap envelope from .NET that's passed over an https service.

I used another method, without using a tracing product, and you can copy the concept from here:

SoapExtension for viewing XML

Basically, you implement a SoapExtension that processes the soap message and you print the output during the AfterSerialize Stage. Fairly painful since you have to add an attribute to every method in the Web reference proxy classes.

However, I do get to see the SOAP output from my service. Unfortunately, I also get an exception:
An unhandled exception of type 'System.Xml.XmlException' occurred in system.xml.dll

 
  Another try at Y!Q

My previous post tested out Y!Q. Basically the results sucked. Here's why - the "related search" that was done used the following keywords:

email spam google opine contextual search search advertising cause people ppc currency

So basically, Y!Q chooses some words out of the text I provided - which in the case of the last post was all of the text after the first paragraph. The words it choose weren't really very representative.

So here's another try, and this time, I'm providing just the keywords I want:

click fraud, click spam, google click fraud, Overture click fraud

In other words, provide it with the equivalent of a <META> keywords tag. Let's see what happens now...

UPDATE:

Bah! Still sucky. It took the words I provided and decided to only use the following:
google spam fraud click
No results about click fraud, really. Guess I have to wait til the next release...

 
  Testing Y!Q and learning about Click Fraud

Y!Q is Yahoo's beta contextual search tool. This means it gives you search results based on the context of what you are looking at. For example, at the bottom of this blog post, you can get a search result in a little popup. The results should be related to the text I've typed below.

So let's see what Y!Q has to say about click fraud. As I opine below, click fraud could be a really big problem for Google. If click spam has a year like email spam had back in 2003, we could see the percentage of fraudulent clicks go from 10-20% today to perhaps 50%+. That would cause people's perceptions of the PPC marketplace to change and could impact the value of Google stock.

But Google can adjust if they would "float" their minimum bids - the way that the government floats the value of currency. They also need to be more forthcoming about how much click spam is actually happening to them. So does Yahoo and Overture.

Now, back to Y!Q - could contextual search change the model for search advertising? Try it out below, and let's see what happens...

 
2/15/2005
  Click Fraud - a lot bigger than you think?
The AP covers click fraud:
"Click fraud exists, but it's mostly a big paranoia," said Chris Churchill, chief executive of Fathom Online, a San Francisco firm that studies the spending patterns on search engine ads.

Others believe anywhere from 10 percent to 20 percent of the clicks are made under false pretenses.

This article from CNet also cites several sources in the 10-20% range.

But what about last Thursday, Feb 10? Anyone notice 50% more clicks than usual on their Google AdWords campaigns? Random? It wouldn't be too odd if click spam could reach 3X normal levels on a peak day.

In any case, Google's current stance is precarious. Here is a recent quote from the CEO:

"We are always worried about it, but it hasn't been a material issue so far," said Google chief executive Eric Schmidt.

Basically: "Move on. Nothing to see here." Attempting to keep a lid on anything untoward... If the pundits are saying 10-20%, and on a given day it could be 50%+, how long will Eric Schmidt be able to honestly say "it hasn't been a material issue" ? I'm pretty sure he knows who William Lerach is.

PREDICTION: Click fraud will be a HUGE problem for Google this year. Since almost all of their revenue comes from AdWords, the stock could be very vulnerable to any real or perceived threat to that revenue. Google doesn't have THE answer just yet...

 
  A lot more on SOAP and web services.

Here's a transcript of a video of Omri Gazritt at Microsoft explaining the meaning of Web Services and why they are important.

C9: What does Microsoft get out of this? In other words, why should I help Microsoft get richer by adopting, help you get your pay check?
...
OG: Seriously, the more we reach into the enterprise, the more we realized how heterogeneous the environments are. Hence, doing this, for Microsoft helps us be able to sell more of our software to that space. And it's something our customers just demand of us. He says, hey, I have a J2EE environment today on the server. I would love to bridge clients out there except a little detail. All that stuff runs on some other vendor's platform, and your stuff runs on Windows. Can you make it work for me?

SOAP and web services could theoretically make it easy for different apps, databases, web sites, etc. to work together!

All well and good in theory, but I can barely get VB.NET to talk to the AdWords API from Excel VBA, so I kinda wonder who's going to be making their ERP on Sun talk to their J2EE middleware on Linux and have the result show up on the Windows desktop in Firefox...

The upshot, as Simon Fell says, is that "Interop is hard"... True enough, e.g. the PocketSOAP wsdl tool can't grok the AdWords API wsdl without getting "Type Mismatch" errors...

 
  What's the deal with Overture's API?

I spent a few hours on the phone with some Overture sales and marketing people asking them about their API plans now that the Google API is out. First, Overture does have an API, and it's been in use for well over a year. It's XML based, but not a SOAP interface.

Overture charges for use of their API. I don't know exactly what they charge, and I'm sure it varies by how much you spend buying ads, but I think it's something like a tenth of a cent per operation. I was told that they charge a monthly minimum of around $2,000 to access the API. In other words, you need to be really big to justify using it.

The Overture API offers access to all the features of the web interface, according to the sales engineer I spoke with. It also offers access to the keyword suggestion and traffic prediction tools.

One of the questions I asked the Overture people was what their plans were now that their #1 competitor and top brand in PPC ads is giving access to their API for free? The answers didn't seem too promising. They are thinking about what to do, and don't want to seem to reactive to Google!? The time frame seemed at least 6 months before much happened.

I think they shouldn't worry about being perceived as reactive, and instead should get their API out there in the open, for free, ASAP...

Feel free to comment if I've got anything wrong, or if you have more information on the Overture API - I'd love to know more about how it compares to the Google AdWords API.


[+/-] Continue Reading...
 
  Overture Tips at Sherpa

Some good advice in this Marketing Sherpa article (free access until Feb 25th) from a training consultant at Overture named Mary O'Brien.

O'Brien says "that advertisers tend to split right down the middle, with 50% getting a better return from Overture and 50% claiming Google offers a better return." Hmmm.

Her tips are good advice, and are similar to suggestions I have for Overture advertisers. Here are the highlights of her tips:

O'Brien also has some advice on bidding:

Some people say, "I'll choose 15 or 20 keywords and bid till I get to number one," O'Brien says. "That strategy will get you broke.

Read the whole thing - but get there before Feb 25, if you want to see it for free.

 
2/14/2005
  Sample SOAP call for getAllAdWordsCampaigns

The first call that you need to really work when using the AdWords API is getAllAdWordsCampaigns. Here's the minimum XML / SOAP that I've found to work. Of course, you need your own AdWordsAPI token and account.

 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
 <soap:Header>
  <email>EMAIL</email>
  <password>PASS</password>
  <token>TOKEN</token>
  <useragent>AGENT</useragent>
  <clientEmail>CLIENT</clientEmail>
 </soap:Header>

 <soap:Body>
  <getAllAdWordsCampaigns>
    <dummy>0</dummy>
  </getAllAdWordsCampaigns>
 </soap:Body>
</soap:Envelope>
 
  Recommendations for Excel and AdWords API
Someone on the adwordsapi google group asked about calling the AdWords API from Excel. I spent a week trying different things, and have a few recommendations.

I tried PocketSOAP, but couldn't get the WSDL generator to work with google's wsdl. You can use PocketSOAP reasonably well, if you set up the envelope and header every time by hand... but that's not very time-efficient.

I also spent a good week trying to get Excel VBA to work. The Web References didn't fully work with the Google WSDL from Excel. For example, the campaign service has an enumerated type that has "type" as a variable name, which is not allowed in VB, since it's a reserved word. Furthermore, you can't just set the headers using the SoapClient30 from Excel, you need to try and implement IHeaderHandler. I finally got it to work, but it's very difficult. It's quite flaky and I think it's a waste of time, frankly.

So, if you wish to use Excel, the answer really is to use VB.NET from Visual Studio. You create a class, then use a COM module that can been seen from the "References" of Excel. Here's a program that works in Visual Studio and can be called from Excel. In Visual Studio, you'd create a Console Application that called the module below. Then if you step thru the code, you can see the output. I'm going to try and post more detailed instructions later.

For Excel/VBA, the "PrintCampaign" sub could be modified to dump the xml into a range on a worksheet.

In summary, I really recommend not wasting your time struggling with VBA and the Web Services Toolkit. Just use Visual Studio. The WSDL parser works, you can set the headers to what google expects much more easily, and you can move past just getting the calls to work.


    ' A creatable COM class must have a Public Sub New() 
    ' with no parameters, otherwise, the class will not be 
    ' registered in the COM registry and cannot be created 
    ' via CreateObject.
    Public Sub New()
        MyBase.New()
    End Sub

    Public Sub PrintCampaignList(ByVal Email, ByVal Password, ByVal Token, ByVal Agent, ByVal ClientEmail)
        Dim s As New CampaignServiceService
        s.useragentValue = New useragent
        s.useragentValue.Text = New String() {Agent}

        s.clientEmailValue = New clientEmail
        s.clientEmailValue.Text = New String() {ClientEmail}

        s.emailValue = New email
        s.emailValue.Text = New String() {Email}

        s.passwordValue = New password
        s.passwordValue.Text = New String() {Password}

        s.tokenValue = New token
        s.tokenValue.Text = New String() {Token}

        Dim campaignList() As Campaign
        Dim c As New Campaign
        campaignList = s.getAllAdWordsCampaigns(0)
        For Each c In campaignList
            PrintCampaign(c)
        Next


    End Sub

    Public Sub PrintCampaign(ByVal campaign)
        Console.WriteLine("ID: " & campaign.id)
        Console.WriteLine("Name: " & campaign.name)
        Console.WriteLine("Daily Budget: " & campaign.dailyBudget)
        Console.WriteLine("Status: " & campaign.status)
        Console.WriteLine("Start: " & campaign.startDate)
        Console.WriteLine("EndDate: " & campaign.endDate)
    End Sub

End Class

[+/-] Continue Reading...
 
2/10/2005
  Eye opening book
I think I've read a good number of the Books on Google but yesterday I read Google Hacking for Penetration Testers. It's written by hackers who've come up with incredibly sophisticated google queries that can find passwords, intranets, credit cards, logins, system files, etc. All stuff that could be used to hack systems, or used by security admins to find vulnerabilities. It's an amazing work of genius really.

If you want to take advantage of the techniques, you can download wikto, which can use the google API (the original search API) and a database of queries created by Johnny Long (johnny.ihackstuff.com)

 
  Build a Business Case for using AdWords API

Having devoted / diverted my own attention for the last two weeks to the Google AdWords API, and away from my regular business, I think this article is a must read for any marketing manager thinking about using Google's AdWords API or even Overture's API.

The bottom-line is nailed down right here:

Before looking at a build-versus-buy decision, consider the following:
Your business rules set. Having access to the back end of Google or Overture is useless if you don't know what your goals and objectives are nor how those objectives can be coded into a flexible system that uses feedback to make adjustments and changes in the engines.

 
  CIO of Search?
I've recently spoken with some F500 SEM marketers, and got the major impression that the required role in those companies is analogous to a CIO of Search. Basically search is becoming a standard, well-understood part of the marketing structure (at least for these leading edge guys).

In other words, the person in charge needs to manage a mature set of keywords, understands conversion, cares both about PPC, organic, email, etc. They have to help their product managers, content people, and sales people understand search, and they have to keep them happy (if someone calls from the Barcelona office and wants to know why no ad shows up under some Spanish language term, they don't spend a lot of time explaining why, they just add it to the list - because it's cheap and easier than arguing about it)

In sum: prioritization, reducing risk, keeping things predictable and integrating with other marketing efforts while keeping the rest of the company happy is their main task. Search will mature and be managed like everything else, and software vendors will have to address all the pieces.

PS. What's the hardest problem for these F500 guys? Finding good consultants who can integrate into the WHOLE marketing strategy and focus on the business value while monetizing search. If they find one, they are either hired or hard to keep interested.

 
2/09/2005
  When to use Overture...

When does it make sense to use Overture?

Google AdWords is the default PPC network for most people - it's better known and many people find the conversion rate is better on Google. However, there are times when Overture can be a better option. Here are some of the reasons to use Overture:

How you get 10% CTR without a lot of work.

If you are one of the top two bidders for a given phrase, your ad is placed above the search results, in prime position for clicks. Ads in these positions look like the #1 search result on MSN and Yahoo. These ads are 10x more powerful than ads on the side bar when it comes to CTR. So if you are advertising for a search phrase that is not very competitive, make sure you bid to place in the top location, or 2nd place. If the phrase isn't competitive, you can often get these locations for 10 cents.

Who clicks on ads from Overture?

Overture ads primarily show up on MSN (and will at least until early 2006), and on Yahoo (Yahoo owns Overture.) Therefore, the demographics of people that click on Overture ads are a bit "softer" than Google's. Google searchers tend to be more technical, according to the 2003 Marketing Sherpa Search Engine report. Basically, the Google typical user is younger, more tech-savvy, a bit more likely to be male. MSN users are more likely to be on Windows 98, using the computer from home, they are older, more likely to be parents, and more likely to be women. Yahoo fits somewhere in the middle. What this means for your strategy is that Overture can be a good place to advertise products related to topic like: home, cooking, parental, health, education, etc. Overture of course has plenty of search traffic and users that fit other profiles, and shouldn't be pigeon-holed. However, it's a good idea to have a diverse approach (i.e. not just Google) when trying to build a campaign that reaches certain demographics.

You can write longer ads

On Overture, your ad titles can be 40 characters long. On Google, it's 25. The description for the ads can be over 100 charaters long, while Google AdWords limits you to 70 characters. This is an advantage if you have a hard time differentiating your product in a very small space. If you are not used to writing very short, snappy copy, Overture ads are definitely easier to write. However, it's good to develop the discipline that writing short headlines and description requires - since the average web surfer simply scans your ad for a very short time. You need a way to capture attention fast! Practice makes perfect, but until you develop that skill, Overture's longer ads can make life easier.

Overture can be less competitive

Overture basically doesn't allow affliates. (Google does, but has introduced restrictions to decrease the number of affliate ads) This means fewer 3rd parties buying ads which point to sites like eBay, Amazon, or Overstock. That can mean less competition if you are in a space where the likes of eBay sells a lot of stuff. There probably will be some competition, but perhaps a lot less than on Google. Here are some of the reasons affliates shy away from Overture:
  1. no ad split-testing
  2. no boost in impressions for ads with higher CTRs than their competitors'
  3. the affiliate-link domain shows in ads, not the client's site domain
  4. 10-cent minimum bids rather than 5-cent

It's easier to bid since Overture has a simpler bidding model

Overture's bidding model is open and your position for a given keyword is determined by how much you are willing to pay. Google takes the click-through rate of your ad into account whereas Overture does not. Google has other restrictions and approval processes that make it hard to get into the premium ad spots above the search result, while Overture will put you there every time if you are the top bidder. Overture is easier to understand for many people. Neither Overture nor Google AdWords is really easy to use, however. It can be complex and time consuming and most small businesses should at least get some help when starting out.

A few things to watch for

If you've never signed up with Overture, they usually offer a $50 credit for creating an account. When you sign up, you will be billed for approximately $70, but will get $50 is account credit. Overture enforces monthly minimums on account activity, usually around $20 a month. If you have low-volume keywords that don't generate $20 / month of ad spend, Overture may not be right for you. Overture's user interface can be confusing, so take some time when setting up your first campaign to familiarize yourself with it. However, there are a lot of screens and reports, and you don't really need to understand them all to be effective. So focus on say, the Precision Match campaign set up when getting started.

Summary

If you've never heard of Overture, or never given them a try, it's well worth looking at. It can be less competitive and easier to get traffic. If you have a target audience that fits more with MSN or Yahoo!, Overture is the way to reach them. Overture's longer ads and more transparent bidding system are easier to use, especially when just starting out.

[+/-] Continue Reading...
 
  Testing the Show / Hide JavaScript for Blogger
For long posts, I want to be able to have people see the first paragraph or so of a post, and then have a link that calls a JavaScript script to reveal the next paragraph. This is a simple CSS / DOM trick, and the blogger help pages describe one way to do it. However, the blogger help pages show you how to use it when you want it to apply to all of your posts. If you just have a few longs posts, you need to adapt it. What I did was to take the same JavaScript:
function expandcollapse (postid) {
   whichpost = document.getElementById(postid); 
   if (whichpost.className=="postshown") { 
      whichpost.className="posthidden"; 
   } else { whichpost.className="postshown";} 
} 
</script>
And the CSS that were provide in the help page:
.posthidden {display:none}
.postshown {display:inline}
And simply create my own span, with a made up id in the post. Do a view source on this post to see how it works.
[+/-] Expand / Collapse this section
 
  Conversion Tracking Conflict of Interests
A really good point, backed up by some data is made over at the search views blog.
Giving the search engines visibility into the effectiveness of keyword buys could potentially allow them to consciously inflate their rates – Google and Overture will recommend a company's most successful words to their competitor, setting off small bidding wars.
Andrew Goodman seconds the motion over at his Traffick blog

Bottom-line: Don't give your data to the ad network. Someday it may be used against you. Use 3rd party or in-house tracking tools instead.

 
2/08/2005
  What Phil would say to me

In the olden days, I used to work with a great programmer named Phil Karlton. We worked on a real-time OS that ran on an SGI Indy and tried to make it become a set-top box for interactive TV...

However, in the early days, nothing was stable at all. Not the tools, the OS, the server side, the database - NOTHING. Each morning was a two hour fun-fest of fixes to your personal sandbox before what you had yesterday would come close to working.

Some days, you'd call Phil over to understand why your build was broken, or the code didn't work. He'd look at your versions, and look at the problem, and then usually say: "It works for me."

Which was basically a curmudgeonly way of saying: get on the right train, use the right versions, and do what I'm doing if you want anything to work...

So although Phil passed away in a tragic accident, I think I'd know what he'd say about working with the Google AdWordsAPI. If I were smart instead of stubborn, I'd have the same development environment as the Google team. As near as I can tell that would be:

etc.
 
  You said it brother...

An otherwise prolific programmer who runs KillerSite.com bemoans the difficulty of SOAP in VBA (that's Visual Basic for Applications, ie. Excel Macro language)

I'm having quite a time working with MSSoapLib... I searched all over Google and Google Groups but have found nothing helpful...
He documents more troubles here. I don't know what service he's trying to use, but attempting to use the AdWordsAPI from VBA is a huge pain in the ass, so far.

The best place I've found for help are the xml and Excel VBA forums over at p2p.wrox.com. However, much of the Microsoft world is moving away from VBA towards Visual Basic .NET. The big advantage of VBA is you don't need a several thousand dollar investment in Visual Studio .NET to write a program that sends 400 bytes of xml over http. The disadvantage is that you can't get anything to work, and it's hard to debug... at least for me.

 
2/07/2005
  How To Get Started with AdWords
If you are new to AdWords, I recommend getting Andrew Goodman's 21 Ways to Maximize ROI on Google Adwords as a must read. It costs around $70, but it will save you tons of time trying to figure out what to do!
 
2/06/2005
  Misunderstanding the Market-ness of Google
Tom Foremski at SiliconValleyWatch.com posits a way to undermine Google:
"For several months now I’ve been troubled by a nagging and unpleasant thought that there is a potentially large vulnerability in Google’s Adwords business model. ... A billionaire has arranged to give $100m to the first person that clicks on a special link that looks like a Google text ad."

I.e. the billionaire attempts to get a mass number of Internet users clicking on every ad, in order to find the "golden ticket"... AdWords advertisers would find they were paying for huge numbers of clicks that had no intention of converting to buyers. A panic could ensue, and everyone would stop investing in AdWords campaigns.

This is interesting to think about, but I think it misses a key point. Google has created a market - much like the stock market. Since the AdWords market does have intrinsic value to a lot of players, it would be hard to "corner".

If someone offered $100M dollars to incent mass number of users into click-fraud, it would shock the market for a short time, but the market would quickly "discount" the attempt. In other words, the advertisers would recall they can still derive value from placing ads, and actual buyers would still find their sites. In response, they could simply lower their bids to reflect the influx of non-converting clicks.

Google could also adjust quickly to such a threat, by lowering minimum bids requirements, for example.

So in the end, everyone's conversion rate might go down by a factor of 10 or 20, but the actual number of conversions wouldn't be affected too much. So you'd still spend the same on ads to get the same result.

I do think it's an interesting question - and it could definitely affect the stock market's view of the company. Remember when Jim Clark announced his confidence in Netscape by saying he would invest $30M of his cash back into the faltering stock? That move bolstered NSCP quickly enough so that Clark's overall stake increased in value by over $100M...

Via GoogleBlogoscoped. Philipp notes the other interesting part of this thought experiment - Google could eventually move toward a pay-per-conversion model, rather than a pay-per-click.

 
2/05/2005
  Secret of Search Marketing
Seth Godin has a turn-of-phrase that sums up the secret to getting rich on search marketing.
Best of all, she starts finding products for her customers instead of finding customers for her products.
It may not be apparent how profound this is. Hell, it's the secret of all modern marketing. But search engines are the key - you start by understanding that the hard part is getting the customers - and you find products for them... "Huh?" I hear you saying - well think about this: Get some tools that tell you what people are searching for, and not finding, and provide it to them...
 
2/04/2005
  Google Bloggers
When you're searching for some insider viewpoints, it's handy to surf the employee blogs. The inestimably great Philipp Lenssen has a page that tracks the google bloggers. http://blog.outer-court.com/googler.php PS I found another member of the AdWordsAPI team this way.
 
  Call Google AdWords API from JavaScript

Here's a test program I wrote. You can indeed call the Google AdWordsAPI from JavaScript...


function postData(Url, Data, Action) {
  var oHttpReq = new ActiveXObject("Msxml2.XMLHTTP.4.0");
  oHttpReq.open("POST", Url, false);
  oHttpReq.setRequestHeader("Man", "POST" + Url + "HTTP/1.1");
  oHttpReq.setRequestHeader("MessageType", "CALL");
  oHttpReq.setRequestHeader("Content-Type", "text/xml");
  oHttpReq.setRequestHeader("SOAPACtion", Action);
  oHttpReq.send(Data);
  return oHttpReq;
}

function main() {
  var sUrl = "https://adwords.google.com/api/adwords/v2";
  var sData = ' <soap:Envelope  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="https://adwords.google.com/api/adwords/v2">
<soap:Header>
<email>EMAIL HERE</email>
<password>YOUR PASSWORD</password>
<useragent>XXX</useragent>
<token>YOUR TOKEN</token>
<clientEmail></clientEmail>
</soap:Header>
<soap:Body>
<getOperationCount>
<startdate>2005-01-02T23:59:59</startdate><enddate>2005-02-02T23:59:59</enddate>
</getOperationCount></soap:Body></soap:Envelope>';

  var oResponse = postData(sUrl, sData, "getOperationCount");
  if (oResponse.status == 200) {
    WScript.echo(oResponse.responseText);    
  } else {
    WScript.echo("Could not retrieve data:\n" + oResponse.statusText + " (" + oResponse.status + ")");     
  }
  oHttpReq = null;
}

main();

 
  AdWordsAPI from JavaScript, Anyone?
I haven't tried it, but it's theoretically possible to call the AdWordsAPI from JavaScript using the XMLHttpRequest object - made famous by Google Suggest. When I do try it, I'll post the code. XMLHttpRequest, REST and the Rich User Experience : Paul James
 
  More SOAP resources
Scott Nichol is the maintainer of NuSOAP for PHP. His soap page has some good tips for a variety of platforms including: Apache/Java and Visual Basic.
 
  Call Google Web Services from Excel?
O'Reilly has an excerpt of their Excel Hacks book up and Excel could theoretically be a great way to access Google's AdWordsAPI. Unfortunately, Microsoft's SoapClient can't easily be made to set the headers that the Google API requires. So the technique in the book doesn't work for the AdWordsAPI
 
  PHP5 AdWordsAPI sample code
If you have a PHP5 setup, Adam Trachtenburg of ebay shows you a much cleaner way to make AdWordsAPI calls. PHP5 has a built in extension ext/soap that is much nicer and more reliable than NuSOAP.
 
  SOAP Resources
Here are some sites that come in handy when trying to figure out SOAP:
 
  Sample code for AdWords API - Python
Mark Pilgrim shows a Python sample code for calling the AdWordsAPI
 
  Sample code for AdWords API
/n software puts out some Visual Basic sample code that shows how you use their Toolkit.
 
  AdWordsAPI blog
Nelson Minar and Josh McFarland are the programmer and the product manager behind AdWordsAPI and they have a blog specifically about the AdWordsAPI, however, like the official Google blog, it doesn't do much for you, yet.... If you want to see more Nelson - here's his personal blog.
 
  A snarky look at SOAP
Mark Pilgrim shows what the essence of SOAP is while castigating Microsoft for making it too hard. Good starting resource for AdWordsAPI programmers who need to actually understand SOAP protocol.
 

Subscribe to GotAds?



Links



Recent Posts

Yahoo's APIs - including Overture
Survey Data about Click Fraud
What To Do Now to Detect Click Fraud
Click Fraud Storm Slowly Gathering
Click Fraud is in the Top 4
How Relevancy Forces You to Focus
Where are the AdWords API Apps?
Can You Really Post From an Email?
Simplest indicator of click fraud
Help with Google Results in an IFRAME
Tracing the SOAP over SSL
Another try at Y!Q
Testing Y!Q and learning about Click Fraud
Click Fraud - a lot bigger than you think?
A lot more on SOAP and web services.
What's the deal with Overture's API?
Overture Tips at Sherpa
Sample SOAP call for getAllAdWordsCampaigns
Recommendations for Excel and AdWords API
Eye opening book
Build a Business Case for using AdWords API
CIO of Search?
When to use Overture...
Testing the Show / Hide JavaScript for Blogger
Conversion Tracking Conflict of Interests
What Phil would say to me
You said it brother...
How To Get Started with AdWords
Misunderstanding the Market-ness of Google
Secret of Search Marketing
Google Bloggers
Call Google AdWords API from JavaScript
AdWordsAPI from JavaScript, Anyone?
More SOAP resources
Call Google Web Services from Excel?
PHP5 AdWordsAPI sample code
SOAP Resources
Sample code for AdWords API - Python
Sample code for AdWords API
AdWordsAPI blog
A snarky look at SOAP


Archives

February 2005 /  March 2005 /  April 2005 /  May 2005 /  June 2005 /  July 2005 /  August 2005 /  September 2005 /  October 2005 /  November 2005 /  December 2005 /  January 2006 /  February 2006 /  March 2006 /  April 2006 /  May 2006 /  June 2006 /  July 2006 /  August 2006 /  September 2006 /  October 2006 /  November 2006 /  December 2006 /  January 2007 /  February 2007 /  March 2007 /  April 2007 /  May 2007 /  June 2007 /  July 2007 /  August 2007 /  September 2007 /  October 2007 /  November 2007 /  December 2007 /  January 2008 /  February 2008 /  March 2008 /  April 2008 /  May 2008 /  June 2008 /  July 2008 /  August 2008 /  September 2008 /  November 2008 /  December 2008 /  January 2009 /  March 2009 / 

Yahoo's APIs - including Overture
Survey Data about Click Fraud
What To Do Now to Detect Click Fraud
Click Fraud Storm Slowly Gathering
Click Fraud is in the Top 4
How Relevancy Forces You to Focus
Where are the AdWords API Apps?
Can You Really Post From an Email?
Simplest indicator of click fraud
Help with Google Results in an IFRAME
Tracing the SOAP over SSL
Another try at Y!Q
Testing Y!Q and learning about Click Fraud
Click Fraud - a lot bigger than you think?
A lot more on SOAP and web services.
What's the deal with Overture's API?
Overture Tips at Sherpa
Sample SOAP call for getAllAdWordsCampaigns
Recommendations for Excel and AdWords API
Eye opening book
Build a Business Case for using AdWords API
CIO of Search?
When to use Overture...
Testing the Show / Hide JavaScript for Blogger
Conversion Tracking Conflict of Interests
What Phil would say to me
You said it brother...
How To Get Started with AdWords
Misunderstanding the Market-ness of Google
Secret of Search Marketing
Google Bloggers
Call Google AdWords API from JavaScript
AdWordsAPI from JavaScript, Anyone?
More SOAP resources
Call Google Web Services from Excel?
PHP5 AdWordsAPI sample code
SOAP Resources
Sample code for AdWords API - Python
Sample code for AdWords API
AdWordsAPI blog
A snarky look at SOAP