{"id":35450,"date":"2021-05-19T15:24:19","date_gmt":"2021-05-19T12:24:19","guid":{"rendered":"https:\/\/orbitsoft.com\/blog\/?p=35450"},"modified":"2023-06-26T13:20:40","modified_gmt":"2023-06-26T10:20:40","slug":"google-ads-reports-automation","status":"publish","type":"post","link":"https:\/\/orbitsoft.com\/blog\/google-ads-reports-automation\/","title":{"rendered":"\u201cIt took up to 125 hours to prepare reports. Now it takes just one minute\u201d"},"content":{"rendered":"\n<p>When the ad agency had very few customers, managers would manually prepare reports for them. The solution seemed to be profitable: no need to pay for additional software, development, and anything else, from expenses.  Just salary.<\/p>\n\n\n\n<p>With the growth of the business, this practice became unprofitable.  It took longer and longer to write reports.  Errors appeared due to manual data processing.  We will now tell you how the agency solved the reports problem.<\/p>\n\n\n<div class=\"wp-block-lazyblock-case lazyblock-case-25nvAR\"><div class=\"styled-block\">\n  <div class=\"styled-block__main\">\n        <ul class=\"case__list\">\n            \n                    <li class=\"case__item\">\n              \n          <span class=\"case__order\">01<\/span>\n          <div class=\"case__body\">\n            <div class=\"case__title\">\n              <span>Customer<\/span>\n            <\/div>\n            <p>ad agency, works with 500 advertisers.<\/p>          <\/div>\n        <\/li>\n            \n                    <li class=\"case__item\">\n              \n          <span class=\"case__order\">02<\/span>\n          <div class=\"case__body\">\n            <div class=\"case__title\">\n              <span>Business tasks<\/span>\n            <\/div>\n            <p>reduce the time spent on report preparation for customers<\/p>\n<p>reduce the number of errors in reports<\/p>\n<p>free up time for employees in order to assign them new tasks (avoid hiring new staff)<\/p>          <\/div>\n        <\/li>\n            \n                    <li class=\"case__item\">\n              \n          <span class=\"case__order\">03<\/span>\n          <div class=\"case__body\">\n            <div class=\"case__title\">\n              <span>Solution<\/span>\n            <\/div>\n            <p>develop a program that will help customize reports according to the wishes of the agency\u2019s customers<\/p>\n<p>automate reports preparation through Google API<\/p>          <\/div>\n        <\/li>\n            \n                    <li class=\"case__item case__item_marked\">\n              \n          <span class=\"case__order\">04<\/span>\n          <div class=\"case__body\">\n            <div class=\"case__title\">\n              <span>Results<\/span>\n            <\/div>\n            <p>1 minute is spent on 500 report preparation<\/p>\n<p>0 errors in reports due to automation<\/p>\n<p>There are now resources available to engage new clients, and it is now easier for the agency to scale the business<\/p>          <\/div>\n        <\/li>\n          <\/ul>\n  <\/div>\n  <\/div><\/div>\n\n<div class=\"wp-block-lazyblock-heading lazyblock-heading-ZbIHFh\"><h2 class=\"article__h\">Agency prepares 500 reports per week <\/h2><\/div>\n\n\n<p>The ad agency operates from Florida and serves customers in Europe, America, and other regions.<\/p>\n\n\n\n<p>The agency\u2019s specialization is video marketing. The team is responsible for the full cycle: briefing, script writing, casting, music, editing, and other tasks related to content release. Another area is production.  The agency publishes content on a variety of platforms.  For example, social networks, YouTube, entertainment services, and mobile platforms.<\/p>\n\n\n\n<p>One source of income is royalties for high converting ads.  As proof of the quality of their work, the team prepares reports for customers.  On average, the team releases 500 reports per week.<\/p>\n\n\n<div class=\"wp-block-lazyblock-heading lazyblock-heading-LsSIO\"><h2 class=\"article__h\">Problem: two employees spent all their time on reports and didn\u2019t have time for other tasks <\/h2><\/div>\n\n\n<p>The agency used Google Ads reports for reports on video content conversion. Using Google Ads reports, customers could track dynamics and make sure that the agency was fulfilling its obligations. The agency team could correct ad campaigns in time if they didn\u2019t achieve the desired results.<\/p>\n\n\n\n<p>The reports were prepared by two managers. They downloaded all versions of Google Ads reports for each customer, processed the data, and generated a report taking into account customer wishes.<\/p>\n\n\n<div class=\"wp-block-lazyblock-figure lazyblock-figure-ZDOQv4\"><figure class=\"article__figure \">\n        <div class=\"article__figure-img\" >\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/Google-Ads.jpg\" alt=\"\">\n    <\/div>\n                <figcaption>Screenshots from Google Ads. The service generates reports with a lot of data.  The problem is that the parameters and visualization doesn\u2019t work for all customers.  For example, a customer wants to see a ratio: what gender and age are visitors from a certain city.  Without modifications, such data cannot be obtained: if you select gender, you will not be able to add a city.  It&#8217;s the same with other metrics: you can&#8217;t compare watch time and viewer gender.<\/figcaption>\n    <\/figure><\/div>\n\n\n<p>One big plus for manual report preparation is money.  There\u2019s no need to pay for an additional program, development, or anything else, just staff salaries. But at some point these savings disappeared.<\/p>\n\n\n\n<p>When there were no more than a hundred customers, managers could handle this load. But with each new company it took more time to generate reports and new problems appeared.<\/p>\n\n\n\n<p>\u274c <strong>The managers didn\u2019t have time to analyze the campaigns. <\/strong>If earlier managers had time to do web analytics tasks, now they only have time for routine work: download, copy, paste, recalculate, save, send.<\/p>\n\n\n<div class=\"wp-block-lazyblock-link-text lazyblock-link-text-Z2101fK\">      <aside class=\"article-aside js-article-aside_under\">\n    <div class=\"article-aside__body\">\n                <div class=\"article-aside__h\">~ 125 hours<\/div>\n                      <div class=\"article-aside__title\">Was spent on regular reports<\/div>\n              <\/div>\n<\/aside><\/div>\n\n\n<p>Generating a single report was taking up to 15 minutes.  And when there were 500 of them, managers had time only for report preparation and nothing else during the work day.<\/p>\n\n\n\n<p>\u274c <strong>Errors appeared.<\/strong> A manager could copy the wrong cell, or incorrectly enter a formula.  When a report was ready, the numbers didn\u2019t reconcile.  For example, an advertiser was targeting a female audience in Florida but was receiving data for a male audience from California.<\/p>\n\n\n\n<p>\u274c <strong>It\u2019s impossible to connect new customers quickly.<\/strong> Two managers could not cope with the current load, so it became risky trying to attract new customers: there was no one to make reports.<\/p>\n\n\n\n<p>The agency had two options to solve the problem: automate report generation, or increase spending (for example, hiring more employees or outsourcing work).<\/p>\n\n\n<div class=\"wp-block-lazyblock-steps lazyblock-steps-Z1qUdxk\"><div class=\"styled-block\">\n  <div class=\"styled-block__main\">\n          <h3 class=\"styled-block__title\">\n        Scheme of work before automation: 500 reports took up to 125 hours      <\/h3>\n        <ul class=\"steps__list\">\n              <li class=\"steps__item\">\n          <div class=\"steps__title\">\n            Manager starts preparation          <\/div>\n                    <ul>\n<li>Opens Google Ads<\/li>\n<li>Sets the parameters of the campaign<\/li>\n<\/ul>        <\/li>\n              <li class=\"steps__item\">\n          <div class=\"steps__title\">\n            Configures report          <\/div>\n                      <div class=\"steps__description\">\n              Select parameters for several report options:            <\/div>\n                    <ul>\n<li>age<\/li>\n<li>gender<\/li>\n<li>city<\/li>\n<li>watched video to end?<\/li>\n<\/ul>        <\/li>\n              <li class=\"steps__item\">\n          <div class=\"steps__title\">\n            Generates report          <\/div>\n                    <ul>\n<li>Downloads all variants of report<\/li>\n<li>Copy data to Excel \u2014 on different sheets<\/li>\n<li>Prescribe a formula for data comparison<\/li>\n<\/ul>        <\/li>\n              <li class=\"steps__item\">\n          <div class=\"steps__title\">\n            Prepares report          <\/div>\n                    <ul>\n<li>Based on the obtained results, prepare tables for the customer<\/li>\n<li>Build diagrams<\/li>\n<li>Prepare a report for sending to the customer: logo, dates, and other attributes<\/li>\n<li>Done. The report can be sent.<\/li>\n<\/ul>        <\/li>\n          <\/ul>\n  <\/div>\n  <\/div><\/div>\n\n<div class=\"wp-block-lazyblock-banner lazyblock-banner-Z1xqg43\"><div \n  class=\"banner\n   \n  \" \n  >\n    <div class=\"banner__body\">\n        <h2 class=\"banner__h\">How we help with advertising reports<\/h2>\n        <div class=\"banner__content\">\n            <p><strong>We automate data collection.<\/strong> You receive reports in minutes &#8211; without errors, and with almost no employee involvement. Now the team can engage in customer acquisition, rather than mindless routine.<\/p>\n<p><strong>We will customize reports for your tasks.<\/strong> We&#8217;ll customize reports so that they only show and compare what you need. No unnecessary tables and incomprehensible diagrams.<\/p>\n<p>We work with any sites: Facebook, Instagram, Yandex, Google, and local sites of other countries.<\/p>        <\/div>\n                            <div \n              class=\"banner__button button js-form-modal\n               button_style_light-on-promo2\">\n              Order development                          <\/div>\n            <\/div>\n    <div class=\"banner__photo\">\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/product-form-1.png\" alt=\"\" class=\"banner__img\">\n    <\/div>\n<\/div><\/div>\n\n<div class=\"wp-block-lazyblock-heading lazyblock-heading-ZMbd0Q\"><h2 class=\"article__h\">Solution: automate reports via API <\/h2><\/div>\n\n\n<p>The customer turned to us with a request: to speed up the process of report preparation, and to have the report take into account the customer\u2019s wishes.  This is what we did\u2026<\/p>\n\n\n\n<p><strong>Suggestions for the report.<\/strong> First, we talked with the customer and collected the requirements for the report: what data to collect, how to group it, what to compare it with, etc.<\/p>\n\n\n\n<p><strong>Adaptation of the finished product to the customer&#8217;s tasks.<\/strong> Due to the customized setup, regular Google reports wasn\u2019t suitable, so we could not simply pull up the data that Google was already collecting.<\/p>\n\n\n\n<p>To customize reports, we used ready-made libraries, which we modified based on our software solutions. As a result, we have a technology that receives data from a standard report and reassembles it according to a given algorithm.<\/p>\n\n\n<div class=\"wp-block-lazyblock-figure lazyblock-figure-1MlX0a\"><figure class=\"article__figure  article__figure_no-shadow\">\n        <div class=\"article__figure-img\" >\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/data-to-display.jpg\" alt=\"Before customizing the report, we discussed with the customer what data to display.\">\n    <\/div>\n        <\/figure><\/div>\n\n\n<p><strong>Negotiations with Google.<\/strong> You can pull data for a report through the API &#8211; this is a standard solution for such tasks. But there is a problem: until Google approves access to the API, you won\u2019t be able to use it.  This has to do with server load: any changes will increase the load, and Google is not sure that they really want these changes.<\/p>\n\n\n\n<p>We took over negotiations with Google.  Our team called and corresponded with the Google support team, justified the work through the API, and in the end we managed to convince Google to open access for us.<\/p>\n\n\n\n<p><strong>Technical setup and support.<\/strong> As soon as we got access to the API, we connected Google and our software, and started preparing reports.<\/p>\n\n\n<div class=\"wp-block-lazyblock-important-block lazyblock-important-block-4NCrz\"><div class=\"important-box\">\n  <div class=\"important-box__main\">\n          <p class=\"important-box__h\">Project technical block<\/p>\n      \t<p>Powered by PHP 7.2<\/p>\n<p><strong>Backend:<\/strong><\/p>\n<ul>\n<li>Silex 2.0 microframework<\/li>\n<li>Library for the Google API<\/li>\n<\/ul>\n<p><strong>Frontend:<\/strong><\/p>\n<ul>\n<li>Template engine<\/li>\n<li>Styles &#8211; Bootstrap 3.3.7<\/li>\n<\/ul>  <\/div>\n  <\/div><\/div>\n\n\n<p>Result: Reports are generated automatically<\/p>\n\n\n\n<p>Now, as a result of automation, the company spends fewer resources on reports, and the work with reports has become easier and faster.  Let us explain what has changed.<\/p>\n\n\n\n<p>\u2705<strong> Saving time.<\/strong>  Reports are now generated and sent to customers automatically, without employee participation. The agency doesn\u2019t need to hire new staff as managers now have time to complete other tasks and keep records.<\/p>\n\n\n<div class=\"wp-block-lazyblock-figure lazyblock-figure-OYHek\"><figure class=\"article__figure  article__figure_no-shadow\">\n        <div class=\"article__figure-img\" >\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/Frame-41-3.jpg\" alt=\"\">\n    <\/div>\n                <figcaption>This is a screenshot from a corporate resource where there is an ability download reports.  If the manager wants to supplement the report, he enters the service, downloads a ready-made report, finalizes it, and sends it to the customer. Even with these changes, report preparation now takes just a couple of minutes.<\/figcaption>\n    <\/figure><\/div>\n\n\n<p>\u2705 No mistakes. Data is downloaded via the API directly, without manual processing or connection to third-party services. As such, there is no risk of mistakes: the information in the reports matches with the information at Google.<\/p>\n\n\n<div class=\"wp-block-lazyblock-steps lazyblock-steps-ZhBySX\"><div class=\"styled-block\">\n  <div class=\"styled-block__main\">\n          <h3 class=\"styled-block__title\">\n        Scheme of work after automation: it takes one minute to prepare all reports.      <\/h3>\n        <ul class=\"steps__list\">\n              <li class=\"steps__item\">\n          <div class=\"steps__title\">\n            Manager          <\/div>\n                      <div class=\"steps__description\">\n              Doesn&#8217;t work with reports            <\/div>\n                            <\/li>\n              <li class=\"steps__item\">\n          <div class=\"steps__title\">\n            Software solution          <\/div>\n                    <ul>\n<li>The report is generated automatically<\/li>\n<li>The software sends a report to the customer<\/li>\n<li>Done. Customer received a report<\/li>\n<\/ul>        <\/li>\n          <\/ul>\n  <\/div>\n  <\/div><\/div>\n\n<div class=\"wp-block-lazyblock-banner lazyblock-banner-ou2Yo\"><div \n  class=\"banner\n   banner_style_important \n  \" \n  >\n    <div class=\"banner__body\">\n        <h2 class=\"banner__h\">Powerful team for turnkey projects<\/h2>\n        <div class=\"banner__content\">\n            <p><strong>Developers<\/strong>: back-end, front-end, full-stack.<\/p>\n<p><strong>Developers for different platforms<\/strong>: mobile, Android, iOS, Desktop, Windows, Linux, MacOS.<\/p>\n<p><strong>Engineers and Analysts<\/strong>: database, data scientists, data analyst.<\/p>\n<p><strong>System maintenance and administration<\/strong>: devops, system, administrator, site reliability engineering.<\/p>\n<p><strong>QA department<\/strong>: testing, QA specialists: functional, load and automated.<\/p>\n<p><strong>Visualization and design<\/strong>: designer, UX- and UI- designer, layout designer, Web technologist \/ HTML coder.<\/p>        <\/div>\n                            <div \n              class=\"banner__button button js-form-modal\n               button_style_light-on-promo\n              \">\n              Let&#8217;s Discuss Your Project                          <\/div>\n            <\/div>\n    <div class=\"banner__photo\">\n        <img decoding=\"async\" src=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/friendship.png\" alt=\"\" class=\"banner__img\">\n    <\/div>\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>When the ad agency had very few customers, managers would manually prepare reports for them. The solution seemed to be profitable: no need to pay for additional software, development, and anything else, from expenses. Just salary. With the growth of the business, this practice became unprofitable. It took longer and longer to write reports. Errors [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":35597,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[196],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u201cIt took up to 125 hours to prepare reports. Now it takes just one minute\u201d - OrbitSoft Blog<\/title>\n<meta name=\"description\" content=\"The managers of the advertising agency manually prepared Google Ads reports for 500 clients. We automated the process\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/orbitsoft.com\/blog\/google-ads-reports-automation\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"\u201cIt took up to 125 hours to prepare reports. Now it takes just one minute\u201d - OrbitSoft Blog\" \/>\n<meta name=\"twitter:description\" content=\"The managers of the advertising agency manually prepared Google Ads reports for 500 clients. We automated the process\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/new-img6.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@orbitsoft\" \/>\n<meta name=\"twitter:site\" content=\"@orbitsoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u201cIt took up to 125 hours to prepare reports. Now it takes just one minute\u201d - OrbitSoft Blog","description":"The managers of the advertising agency manually prepared Google Ads reports for 500 clients. We automated the process","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/orbitsoft.com\/blog\/google-ads-reports-automation\/","twitter_card":"summary_large_image","twitter_title":"\u201cIt took up to 125 hours to prepare reports. Now it takes just one minute\u201d - OrbitSoft Blog","twitter_description":"The managers of the advertising agency manually prepared Google Ads reports for 500 clients. We automated the process","twitter_image":"https:\/\/orbitsoft.com\/blog\/wp-content\/uploads\/new-img6.jpg","twitter_creator":"@orbitsoft","twitter_site":"@orbitsoft","twitter_misc":{"Written by":"admin","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/orbitsoft.com\/blog\/google-ads-reports-automation\/","url":"https:\/\/orbitsoft.com\/blog\/google-ads-reports-automation\/","name":"\u201cIt took up to 125 hours to prepare reports. Now it takes just one minute\u201d - OrbitSoft Blog","isPartOf":{"@id":"https:\/\/orbitsoft.com\/blog\/#website"},"datePublished":"2021-05-19T12:24:19+00:00","dateModified":"2023-06-26T10:20:40+00:00","author":{"@id":"https:\/\/orbitsoft.com\/blog\/#\/schema\/person\/e515b3fa91e283750477594c4f028b7b"},"description":"The managers of the advertising agency manually prepared Google Ads reports for 500 clients. We automated the process","breadcrumb":{"@id":"https:\/\/orbitsoft.com\/blog\/google-ads-reports-automation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/orbitsoft.com\/blog\/google-ads-reports-automation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/orbitsoft.com\/blog\/google-ads-reports-automation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/orbitsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u201cIt took up to 125 hours to prepare reports. Now it takes just one minute\u201d"}]},{"@type":"WebSite","@id":"https:\/\/orbitsoft.com\/blog\/#website","url":"https:\/\/orbitsoft.com\/blog\/","name":"OrbitSoft Blog","description":"Discover the latest in news and resources for OrbitSoft","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/orbitsoft.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/orbitsoft.com\/blog\/#\/schema\/person\/e515b3fa91e283750477594c4f028b7b","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/orbitsoft.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b1b269c579caf059f82b6d114c63fc49?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b1b269c579caf059f82b6d114c63fc49?s=96&d=mm&r=g","caption":"admin"},"url":"https:\/\/orbitsoft.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/posts\/35450"}],"collection":[{"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=35450"}],"version-history":[{"count":20,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/posts\/35450\/revisions"}],"predecessor-version":[{"id":36569,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/posts\/35450\/revisions\/36569"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/media\/35597"}],"wp:attachment":[{"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=35450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/categories?post=35450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orbitsoft.com\/blog\/wp-json\/wp\/v2\/tags?post=35450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}