Leverage the power of IBM Watson in your AdWords campaigns

Columnist Russell Savage shows how you can integrate information from IBM Watson's API into your AdWords scripts to get keyword information from webpages.

Chat with SearchBot

watson-1920In 2011, IBM Watson competed on Jeopardy! against the two reigning champions and easily took the first place prize of $1 million.

While that was some amazing marketing, the real prize was the technology developed as part of that effort. I suspect IBM has slowly been working that technology into its products, but it is also available directly as an API. If you’ve read any of my other posts, you know where this is going. Today, I’m sharing the script library I put together to leverage IBM Watson’s technology in my AdWords account.

One of the APIs available in the Watson Developer Cloud is called Alchemy Language, and it provides a set of endpoints to help you pull information and parse text from URLs. It can do things like automatically pulling dates, authors, concepts and keywords from a webpage with just a simple call. That last one sounds like it would be a great tool to add to our keyword research toolbox.

The example they give in the documentation is based on analyzing a Twitter feed for relevant keywords, but we can send in any URL we want. If you’re an agency, maybe you could leverage this API to make sure your customer’s keywords are relevant to the landing page they’re linking to. If you’re running your company’s campaigns, maybe you could analyze a competitor’s content to find keywords you might want to compete on as well.

One thing to note is that this is tool does not try to replace Google, so the keywords and topics Watson says are important will be slightly different than what Google says. At some level, both companies are trying to analyze text for topics and keywords, but there’s no doubt they are doing it very differently.

The Alchemy Language API is incredibly easy to use, but you will need to sign up for a developer token to call it. IBM has a free tier, which is plenty for what we are doing here, but of course, you can always pay for additional quota if you need to. At the end of the sign-up process, you will get something that looks like this:

Those credentials are what you pass to the library to make the calls. Here’s the library you can paste into the bottom of your AdWords Scripts for accessing this API. I’ll provide an example for using it at the end of the post.

It’s only a few lines because I am dynamically generating the functions for each endpoint. That means that anytime you see something like “POST /url/URLGetTypedRelations” in the docs, you can call it from your script code like “watson.URLGetTypedRelations(config)” and it will return the response already formatted as an object.

Here’s an example of parsing one of my old blog posts and finding the list of keywords that are related.

Running that code in your account won’t make any changes, but should print out something like this below to help you get familiar with the library.

And that’s all there is to it. Now you should be able to combine this with some of the other AdWords Scripts out there to find keywords related to your own landing pages or someone else’s. There are a few other endpoints on that list that might also be interesting, such as URLGetRankedConcepts or URLGetEmotion, but I haven’t played around with them too much.


Opinions expressed in this article are those of the guest author and not necessarily Search Engine Land. Staff authors are listed here.


About the author

Russell Savage
Contributor
Russell Savage is an Application Engineer for Cask Data and loves tinkering with marketing data and automation in his spare time. He is the creator of FreeAdWordsScripts.com, where he posts AdWords Scripts for anyone to use.

Get the must-read newsletter for search marketers.