The Work Media Internet Marketing Blog

Search Engine Optimization(SEO) - Pay-Per-Click Advertising(PPC) - Website Traffic and Path Analysis - Optimized Press Releases - SEO Copywriting - Blogging - Article Writing - Newsletters - Everything you need to know to be successful in your Internet marketing.

Friday, November 02, 2007



Chronicling the Development of a Google AdWords Management Application - Part 5

Yes, yes, development of our proprietary Google AdWords application is still ongoing. We just finished a section of the application that I am excited about it because it will be a major time saver in setting up Google campaigns. What we've done is give our keyword research page the functionality to create multiple ad groups at once. The list of keywords returned from a keyword search has a textbox next to each keyword where you can specify the name of an ad group for that keyword. Keywords for which you type the same ad group name will be added to the same ad group. This is a continuation of our plan to break away from the 1.2.3. approach to setting up ad groups that is used in the AdWords interface.

The next step will be finding some way to add some automation to the ad creation process. This may involve setting up a global ad template that will apply to all ad groups within a campaign. We're still trying to work out the logic in our heads and haven't really coded any of that yet.

We are running up a decent bill in Google API fees. We learned too late about using Google's sandbox AdWords API classes, which would have let us do our testing for free. But I did not want to go back and have to recompile all of our classes again. We had to add some custom code to the classes to get them to work anyway because of a bug (not really a bug, just a bad feature) of the .NET platform involving the way it communicates with Web Services. So it just seemed easier to pay the Google API fees than go back and have to re-do a bunch of work. Dealing with the API fees just from our testing certainly has shown us that we will need to be careful to price use of the application to cover the fees we'll run up once we open the application up to our clients. By the way, the trick to using Google's sandbox API is that you use a different URL for each Web Service when compiling your classes that make the Web Service calls.

Development of the application has slowed the last couple of weeks due to client demands. The thing has come a long ways - but it has a long way to go. We hope to be ready to launch by January.

If you could use some help with pay per click management or search engine optimization, contact Work Media at 888-299-4837 or Info@WorkMedia.net.

Labels: , , , , , , , ,

Tuesday, October 16, 2007



Chronicling the Development of a Google AdWords Management Application - Part 4

We're big on gaining as much Google "shelf space" as possible. In other words, for any particular keyword we are targeting, we want to have a paid search listing on the search results page as well as at least one natural search ranking. We think it greatly increases your chance of getting a click to your site, and it is a strong branding move. To make this happen, you need to create landing pages specific to certain keywords. This improves your chances of converting the visitor into a customer AND gives you the opportunity to heavily optimize a page for natural search listings.

Keeping all this in mind, we've decided we would like our AdWords management application to also be useful in optimizing landing pages for natural search rankings. The first part of this is providing the natural Google search rankings for each keyword. In other words, I don't want to just know what my ad position is for a keyword - I also want to know what my natural rank for that keyword is. This information will help me generate shelf space.

Unfortunately, as usual, Google makes things much more difficult than it should be. Google used to have a search API that would return search results and related information. But that API is no longer available. There is a new search API, but it is an AJAX JavaScript-based control, which really doesn't help us in our situation because we need that data on the server side, not the client side. We also need ranking data, which doesn't seem to be available in any fashion via any Google API.

But we've figured out a way to do it. It's much more processor intensive than if we could just request the information directly from Google, but that's alright. We're getting it done, even though it's a lot more work than it should be. Why Google is intent on making its vendors and customers jump through hoops is beyond me, but the situation is what it is. We'll deal with it. We can't wait for the day when Microsoft catches up with Google in terms of natural search traffic and keyword inventory, because we know Microsoft would make it easier to plug into their backend to get the data we need.

So we carry on, fighting one battle after another. When we're done, we will have an application that will make it much easier for us to manage our own clients' paid and natural search campaigns. The next step would be to open it up to others who might want to use it for their own campaigns.

If you could use some help managing your own search engine marketing campaign, contact Work Media at 888-299-4837 or email Info@WorkMedia.net.

Labels: , , , , , , , , , ,

Monday, October 08, 2007



Chronicling the Development of a Google AdWords Management Application - Part 3

Today we will continue with our series of posts chronicling the development of our proprietary Google AdWords management application.

One thing that's a little unwieldy about using the Google AdWords API via its various Web Services is that every time a Web Service is called, you have to pass in a number of variables, such as the account email and password, the client email, and the developer and application tokens. And it's not as simple as setting properties of an object to these values. The values have to be set as arrays, so I have to create a variable to hold each value, then pass that value into a single element array, etc. etc. This can result in a lot of code just that doesn't really DO anything. To get around this, all of the code that actually involves using the Web Services is placed in separate classes that my web user controls call.

Which brings us to another key development strategy, which is breaking major chunks of user interface and functionality into their own web user controls. This way, those same elements can be easily reused on other web pages. It takes more time early in the development process to set things up this way, but it will save us a lot of time down the road.

One thing that seems odd about the way the Google AdWords API works is that it has a service called Criterion Service that is used to do things like add or remove keywords or web sites from a campaign, or add new keywords. To me, it seems like it would make more sense for there to be a function provided by the Ad Group Web Service that would return the keywords for a particular ad group. A lot of the AdWords API functionality seems counter-intuitive.

We have quite a few working components of the system, so this week we will probably begin tying everything together into a cohesive unit. This is going to be exciting.

If there is anything we can do to help you manage your paid search or natural search campaigns, feel free to contact us at 888-299-4837 or email Info@WorkMedia.net.

Labels: , , , , , , , , , , ,

Thursday, October 04, 2007



Chronicling the Development of a Google AdWords Management Application - Part 2

I had a good day yesterday working on our Google AdWords management application. I started implementing keyword research functionality. I created a .NET user control and class that lets the user perform keyword research, using Google's keyword data, which is returned in the form of a datatable with checkboxes that allow the user to specify the particular keywords he wants to use. Then we added a couple of functions which we think gives the user a lot more flexibility than when using Google's AdWords interface. After selecting his keywords, the user can either add them to any existing ad group in the campaign or use them to create a new ad group. Essentially, we have broken keyword research/addition out of the ad group creation process and made it a standalone process. We feel that this will greatly speed up the process of creating new ad groups or adding keywords to existing ad groups.

Speed is going to be a critical aspect of our application. The online Google AdWords interface seems like it is tailored toward users who need a step-by-step, "take me by the hand" approach. Google is probably right in designing its interface for the inexperienced user. But for the experienced user, the interface is slow and clumsy, and often not very practical.

Google does provide a much quicker, leaner AdWords management tool, the Google AdWords Editor, which we have blogged about extensively. The AdWords Editor is an offline, client-side application that can be used to create ad groups and other account elements, and move things around quickly. However, since it is completely disconnected from the Internet, it has no research functionality. We feel that our application, which will run on-line, bridges the gap between the off-line tool and the default online AdWords interface. It won't be as quick to use as AdWords Editor, since it will still have to move data back and fourth from Google's servers, but it will be a more complete management environment.

I would be fibbing if I said that we had this application completely laid out and designed before we started coding. We needed to get a feel for what we could with the AdWords API in order to know what we could do. And the best way to do that was just to start coding. So the application is very organic - growing as we program it, right before our eyes.

If you have some particular features you would like to see in such an application, feel free to email your ideas to us at Info@WorkMedia.net. And as we always say, please contact us if you need some help managing your Google AdWords or other paid search campaign. You can email or call us at 888-299-4837.

Labels: , , , , , , , , , ,

Wednesday, October 03, 2007



Chronicling the Development of a Google AdWords Management Application

Jerry Work here. I think I never commented on my daughter. She had surgery last week to fix a kidney reflux problem, which basically caused her urine to flow the wrong way. The surgery went well, although there will probably be some additional future treatment required. So that's the update there.

I mentioned in our last blog post that we have begun programming our own Google paid search management application. I thought I would spend the next couple of blog posts discussing that process. This may turn into a whole series of posts chronicling the development process. We'll see.

First off, Google does not make it easy to figure out how to use its Google AdWords API and Web Services. There is an API reference, although one critical page of information didn't seem to be linked to from anywhere (that I could find) and was only discovered by searching the API reference web site. And the code samples are very sparse. It almost seems as if Google wants to make things difficult.

I have also searched online for code samples or tutorials that discuss using the AdWords API and have found next to nothing. So we're having to do things the hard way - by trying things out to see what works. We are building the application on the .NET 2.0 platform. At one time I was a certified .NET C# developer. That was several years ago, but once I got into the development process it all (well, maybe not ALL) started coming back to me.

So the main hat I am wearing in the company right now is that of application developer. Chris is really keeping the company going for the most part, while I spend as much time as I possibly can programming. I am using Microsoft's free Visual Web Developer software to build the application. I have to say, I am impressed by the little program. It is barebones but much simpler to use that full-blown Visual Studio. And since our application is meant to run on-line, it works just fine for our purposes. One thing that I love about it is that I can easily run the application on my development workstation without placing the code on a server. I just click the run button and it launches the site in my browser, running on its own built-in server.

So far, the application is communicating with the Google server, returning data related to ad groups, bids, and so fourth. The very first time I actually made that work, I was thrilled, even though all it was was a text string with the name of an ad group. We've already come a long way since that point, with nicely formatted data grids that contain all kinds of data, including performance data.

In our next blog post, we'll talk more about the challenges of pulling this off and where we're going with it. Until then, if you need some help managing your paid or natural search marketing campaigns, contact Work Media at 888-299-4837 or email Info@WorkMedia.net.

Labels: , , , , , , , , , , , ,

Monday, October 01, 2007



Mashups - the Future of Online Application Development

Jerry here. For those of you who had inquired about the status of my daughter, she is doing just fine. The surgery was a success. She is waking up in the middle of the night in quite a bit of pain, but for the most part she is still a happy, healthy baby. I was at Vanderbilt Children's Hospital most of the week, so little real work was done. But now that that is over with, we can get back to the business of Internet marketing!

The future of online application development will involve heavily around "mashups", which are applications that combine functionality from different APIs ("Application Programming Interfaces"). Many companies, such as Google, make data available via Web Services. A Web Service is a way of retrieving data in XML format for use in an application. For example, Google has Web Services which provide search data and that allow you to manage AdWords accounts. By accessing these Web Services (which, in turn, provide access to APIs), you can create your own custom applications that let you manage AdWords accounts and perform various other functions.

In general, when accessing data via a Web Service, you create a "class" that uses the functions provided by the Web Service. Web Services are written in a language called WSDL ("Web Services Description Language"), which can be used to generate a class. The class, in turn, provides methods and properties that can be used in the application code.

So what is the point? It's that if there is an online marketing application you need that doesn't exist, chances are pretty good there are Web Services that can be accessed that will make the development of the application much easier. Sure, you still need to be able to program, but programmers can be hired for cheap (try elance.com) if you can clearly define what the application needs to do and there are Web Services that provide the necessary access to data.

Work Media is working on a proprietary AdWords management system that works by using Google's Web Services. What features would you like to see in your ideal paid search management program? We would love to hear from you on this matter. What other kind of application could you use that would improve your online marketing? Chances are pretty good that there are some Web Services that could make it possible.

If you have an idea for a new online marketing application and need some help, contact Work Media at 888-299-4837 or email Info@WorkMedia.net.

Labels: , , , , , , , , , ,