The duopoly is real, Facebook and Google combined dominate online advertising. If you work in digital marketing you touch their technology every day. Meanwhile their product offerings, software and APIs are constantly changing. Keeping up-to-date with everything they throw at us through a hodgepodge of blog posts, YouTube videos and often outdated documentation is a chore especially when your marketing analytics projects rely on pulling out massive amounts of Google data..
Earlier this year I had the opportunity to break free and visit the Google NY headquarters for a hands-on, advanced look at their new Google Ads API. A visit that included hands-on training delivered by the human beings who are building these solutions and advocating on behalf of developers, an invaluable experience.
Non-developers in marketing are probably getting used to hearing the word API. Unfortunately the acronym is thrown around so much it no longer comes with much explanation. An Application Programming Interface (API) is a set of definitions, protocols and tools for building software. For our industry APIs make it possible for us to do cool things like use a third-party app to schedule social media posts or build reporting in a data visualization system that connects to many advertising platforms to grab data.
Companies like Google want to empower developers to connect with their services and provide tools and instructions on how to make that happen. Since everyone has different wants and needs it is the developer’s job to take the foundation and build something great on top of it. The company takes a “hands-off” approach to how most people develop on top of their APIs. This freedom can sometimes end up being a challenge for someone trying to figure out how to get started.
Google has been making major changes to their paid search advertising product including rebranding from Google Adwords to Google Ads. Currently, developers use the previous Google Adwords API to work with the new Google Ads systems but that API is going away. After a year of beta testing, Google has released a public version of its new Google Ads API which utilizes advanced technologies and will result in major changes to how we work with the platform. Introducing these changes to developers was the purpose of the workshop I attended.
One of the interesting things to hear was how aggressive Google plans to be in sunsetting the old API, especially since the new one is currently lacking most of the features we previously had access to. As of right now the plan is for the Google Adwords API to be sunset in 2020 and the message was clear, get started with the new API ASAP! V201809 was the FINAL release of the Adwords API. No new features or releases are planned.
Some of the major changes coming our way:
- Switching to more modern architecture of gRPC and JSON, leaving SOAP and XML behind.
- There will still be a restful API but gRPC is where Google is headed and they want us all headed in that direction too.
- Launching the Google Ads Query Language which is NOT SQL but very similar to it.
- This is going to be a very welcome improvement to the previous system that should be natural for many developers with SQL experience.
- For all of us who became used to the quirky world of the Adwords API, there will be an adjustment but the ease of this new language seems worth the hassle.
- Flexible versioning will result in fewer forced migrations but more frequent upgrades that are still backward-compatible.
- Currently when a new version of the API is launched you need to adapt and make code changes before the version you are on is no longer supported.
- If what you were doing simply stopped working you didn’t have much recourse because backward compatibility wasn’t always provided.
- This new structure should relieve some of the pressures we’ve faced and get Google off of the idea that new features need to result in a new “release” that has to be adapted to.
- Scalable data downloads allowing for very large results to come through as cached paged data sets (pagination).
- When we currently need to write queries that result in large amounts of information being returned, developers have to deal with the request simply failing at any point because it’s too much data.
- This new way of doing things provides a page of information at a time limiting the likelihood of failure because results aren’t coming back as a single giant XML result.
- In theory, since the data is cached it means we can also return to pages later or simply get sections of the data we need.
- A simple for loop can be written to look to see if there is another page of data available and make an additional request for the next page until everything is retrieved.
- This type of system is already available in the Google Analytics API and I LOVE it.
Beyond the technical learnings, the experience of being at the Google offices and hearing from their team helped open my eyes to a lot of things. It was interesting to find out the limitations the company runs into in terms of sizes of teams and how many individuals truly understand these systems. It’s easy to sit here in Rochester, New York and think of big tech as having endless talent, money and resources. They don’t.
Putting faces, names and conversations behind the people building this technology, seeing how hard they work and where they struggle is something I never could have gained just interacting with online documentation, blog posts and videos. My hope is that Google holds more of these types of workshops in the future and not just when there is a major product change or release.
The takeaway for developers using the Google Adwords API is simple, get started on the new Google Ads API as soon as possible. They recommend building in parallel, replacing the old with the new when it becomes available to avoid having to do everything all at once in a scramble when the old is finally sunset. This can be accomplished if developers take a few hours out of each week to learn and migrate in chunks. Much needed advice we should always adhere to even though it can be difficult in practice to find time during already packed workweeks to recreate what was already built.