This
blog series follows the journey of building the new and improved
Interactive Google Ads Query Builder tool. If you’ve read this entire series up to this point, you should understand many details and nuances of the Google Ads Query Language (GAQL). Part 8 will wrap up our journey and discuss what we’ve learned along the way.
Creating the User Interface
With the
ResourceService
,
SelectionService
, and
ValidationService
in place, all that is left to do is create the
components that will comprise the user interface. In some cases, we can pull data directly from our services. In other cases, such as tracking selectability, selection status, or query validity, we can
subscribe to our services so that the components always reflect the current state of the application.
Conclusion
This blog series has walked through several integral parts of the Query Builder application with an emphasis on those which can be useful in understanding GAQL. Let’s recap our learnings from each post:
Part 1 - Setting the StagePart 2 - Designing a Resource Schema- What a schema might look like for our application.
Part 3 - Creating a Resource Schema- How to use the
GoogleAdsFieldService
to retrieve field metadata. - Field compatibility in GAQL.
- The REST discovery API.
Part 4 - Creating the Resource Service- GAQL query structure.
- The various types of fields that can appear in GAQL clauses.
- Field properties and how they correspond to different GAQL clauses.
Part 5 - Determining Field Selectability- Field compatibility and how to determine if a field is selectable.
Part 6 - Selecting and Deselecting Fields- GAQL query structure.
- Additional detail regarding selectability.
- Using Observables in Angular.
Part 7 - Query Validation- The various facets of GAQL query validation.
Bonus
In addition to everything we’ve learned about the Google Ads Query Language, I hope you’ve also picked up some tips about writing Angular applications. This was my first time using Angular, and I’ve found it to be a powerful framework for quickly building complex applications. Using
Angular services with dependency injection along with
observables has been an efficient way to manage app-wide state.
Hopefully this series deepened your understanding of how to construct GAQL queries with the Google Ads API. If you have any questions or need additional help, contact us via the
forum or at googleadsapi-support@google.com.