AdWords Database Schema/Design ?

2,171 views
Skip to first unread message

lead...@gmail.com

unread,
Aug 1, 2017, 6:36:05 AM8/1/17
to AdWords API Forum
Our Real Estate Company would like to incorporate our AdWords accounts within our company Data (MS-SQL) Server. We would like to use the AdWords API in order to synchronize and maintain (add/update/delete/etc) our AdWords data such as Campaigns, AdGroups, Keywords, Bids, Site-links, Rules, as well as Impressions, Clicks, Conversions, etc. We are planing to accomplish this through our Company Admin Dashboard and using the amazing AdWords-API. 

We are planing to add design the necessary database from scratch and mainly following the AdWordsApi.cs, however there are like 488 C# partial classes to study. Since we only need to re-create the main AdWords Tables on our SQL Database that is why having a previous database diagram/schema will HELP a LOT in order to decide what to add/include in our current database and so our question:

Is there any Google AdWords Database Diagram (at least at Tables-Names level)?
We don't need to reproduce the whole AdWords DB schema, we only need the MAIN tables (and main foreign-tables) related.

Thanks.cs

John Bliss

unread,
Aug 1, 2017, 7:29:08 AM8/1/17
to AdWords API Forum
In a nutshell:

Account - has many - Campaigns - has many - AdGroups - has many - Keywords/Sitelinks - has many - Impressions, Clicks, Conversions, etc

Then, you have a decision to make: how often do you fetch Impressions, Clicks, Conversions, etc and attach them to Keywords/Sitelinks? Hourly? Daily?

Also, if you like:

AdGroups - has many - Ads

HTH.

Sreelakshmi Sasidharan (AdWords API Team)

unread,
Aug 1, 2017, 2:52:48 PM8/1/17
to AdWords API Forum
Hi, 

Unfortunately, we do not have a database diagram available that can be shared. Like John mentioned, the best approach to create this structure would be by referring to the object hierarchy in AdWords along with the campaign data broken down as entities in this table. This should help you come up with the main tables and their relationships. To get the stats against each entity, you could run the report at each level. Eg, run campaign performance report to gather stats at the campaign level and ad group performance report to gather stat at the ad group level etc. You may have to keep in mind that not all performance stats are available immediately. You could check this document for better understanding of data freshness in reports. 

Thanks,
Sreelakshmi, AdWords API Team

lead...@gmail.com

unread,
Aug 2, 2017, 1:18:16 AM8/2/17
to AdWords API Forum
Thanks John and Sreelakshmi:

It's a sad day for me.. lol 
I was hoping that I will get something from the forum to avoid doing the reverse engineer into the entire API classes hierarchy. 

I am not worry so much about the Stats but as to keep the main CONTENT synchronized in both servers (Google and Ours). We would like to develop a way to AUTOMATE much of the process within our end and not accessing Google AdWords Dashboard while doing some advanced marketing topics/ideas. We have an Admin-Dashboard where we would like to program some Advanced weekly ideas and make it happen within clicks through the AdWords API. Using the API will be good to also have a way to get the latest available information in our campaigns on our end (host servers) synchronized at the most accurate/time-frame level as provided by Google.

We had already code in C# (Web) and JAVA (Android) some of the Google APIs like Google Maps, Firebase Cloud Messaging, Firebase Realtime-Database, etc. We feel ready to go for Google AdWords in order to minimize exponential time while doing our marketing ideas through Google AdWords.

Now that you guys confirmed the none DB-Schema existing, we do not have any other choice but to reverse-engineer the entire AdWords API Classes, we have considerable studied the API already and thanks to the BaseFields (base) class as well as each Field, SelectableFields, FilterableFields inside every API Class will reduce our time a lot in our first goal to reproduce a minimal database to hold our AdWords account data in our servers.

Thanks once again for the information and confirmation.

Will get back soon!

Ameet Wadhwani

unread,
Dec 13, 2018, 6:27:49 PM12/13/18
to AdWords API and Google Ads API Forum
Hi - I'm not sure when this was made available, but it seems like it would help: 


For each report, you will see a list of field names, information about data types, enum values, etc.  

You may also find the report diagram on this page useful in determining which reports to pull: 

For those out there considering maintaining their own code for small projects like this, I would strongly encourage you to look for existing software that will do this for you. Given the number of changes to the AdWords API (including breaking changes) and the relatively short sun-set periods, you will spend a lot of time building and maintaining your codebase.  For as little as $50/mo, third-party software companies will stay on top of these changes for you, and in some cases, even insulate you from breaking changes so that your reporting and automated refreshes can continue without interruption. 

-Ameet
Message has been deleted

trabelsi rami

unread,
Apr 19, 2020, 6:53:10 PM4/19/20
to AdWords API and Google Ads API Forum
hello ,
i'm having pretty much the same situation as yours only i'm doing it for my graduation project it's been 3 years since you've posted this so i'm guessing maybe you figured it out and maybe you can help me.

 

Google Ads API Forum Advisor Prod

unread,
Apr 20, 2020, 12:08:16 PM4/20/20
to trabel...@gmail.com, adwor...@googlegroups.com
Hi Trabelsi,

Thank you for reaching out to us. Could you elaborate on your concern so that I may further assist you with your issue?

Thank you,
Bryan, Google Ads API Team

ref:_00D1U1174p._5001UZZ2ZB:ref
Reply all
Reply to author
Forward
0 new messages