Tag Archives: reporting

Launch of AwReporting 2.0

AwReporting is an open-source Java framework optimized for large-scale retrieval of AdWords API reports.

We’ve just released a new major version of the tool that encompasses the full suite of AdWords API Reports and their fields. As mentioned in our pre-announcement, "aw-reporting-server” and “aw-reporting-server-appengine” modules were removed.

You can find the latest release on GitHub. Please find the full list of changes in the ChangeLog, and follow the migration guide to upgrade from the current version of the tool.

Feel free to ask questions or give us feedback via the forum or the project’s issue tracker.

Upcoming changes to AwReporting

AwReporting is an open-source Java framework that is optimized for large-scale retrieval of AdWords API reports.

We plan to release a new major version (v2.0) within the next few months that will
This release will have some backwards incompatible changes, such as
  • uses report type names with “AW_” prefix as database table names
  • uses field names as database column names
  • renames setting “mccAccountId” to “managerAccountId” in properties file
  • renames setting "aw.report.downloader.retries.count" to "aw.report.downloader.num.attempts"
  • renames processor type setting’s options from “ON_FILE” to “FILE”, and “ON_MEMORY” to “STREAM”
  • removes “-debug” and “-verbose” command line options, and depends on log configuration file (default one is log4j.properties) for setting logging granularity
  • removes server modules (aw-reporting-server and aw-reporting-server-appengine) in the new release since they have third-party dependencies that are not actively maintained
If you are actively using the aw-reporting-server or aw-reporting-server-appengine module or have any questions about this upcoming release, please let us know on this forum thread.

AdWords: Updates to impression share in reporting

Starting in late April, 2016, AdWords will begin rolling out a new calculation for impression share, which will potentially affect your reports in the AdWords API if you rely on impression share columns and run Video Campaigns.

Historically, a small percentage of impressions on YouTube videos were not being included in the calculation of the impression share columns. We've implemented an improved algorithm to more accurately count impression share volume that now accounts for these impressions.

We plan to roll out the improved calculation over the next few months for all accounts and impressions, so if you run campaigns on YouTube, your impression share statistics will become more accurate when your account goes live.

If you have any questions about this change, or other questions about the AdWords API, please contact us via the forum or the Ads Developers Plus Page.

Reporting changes in AdWords API v201509

AdWords API v201509 introduces some changes to reporting columns, particularly Clicks. Recently, AdWords introduced new columns called Engagements and Interactions. It also added reporting columns related to video campaigns such as VideoViews, which have previously been unavailable via API reporting. AdWords API version v201509 has updated its reporting to match these changes.

The new Interactions field, available in API performance reports, can be thought of as the main action a user takes with the ad format: clicks for text ads, engagements for Lightbox ads, and views for video ads. Previously, views for video ads were not returned in API reporting, so having access to this data is new.

Prior to v201509, the Clicks field always included both clicks and engagements. Starting in v201509, the Clicks field includes only click actions, like clickthroughs to a landing page or clicks to call. This means that clicks on video ads, which are unpaid, will be included in this field. However, engagements for Lightbox ads will not be counted.

If measuring performance across multiple ad formats, you might consider using Interactions to view the total number of primary user actions on ads, all in the same column. Clicks, Engagements, and VideoViews are available as well for more fine-grained reporting by ad format.

The table below summarizes the changes in each field for various ad formats.

Field
v201506
v201509
Clicks
Text ads: clickthrough to a landing page

Lightbox ads: hover to expanded ad format
Text ads: clickthrough to a landing page or clicks to call

Lightbox ads: clickthrough to a landing page

Video ads: clickthrough to a landing page
Engagements
N/A
Lightbox ads: hover to expanded ad format
VideoViews
N/A
Video ads: view
Interactions
N/A
Text ads: clickthrough to a landing page or clicks to call

Lightbox ads: hover to expanded ad format

Video ads: views

Please note that reporting in v201506 and previous versions is unaffected; they return the same data that they always have, represented the same way. This means that when comparing the data you receive from older versions of the API to user interface reports, or to v201509 reports, the numbers will not directly match up. Video-related stats will still be excluded from v201506. The Clicks column in v201506 will match the Interactions column from v201509 if you subtract out video interactions.

For ease of reporting, it’s recommended to migrate to v201509 as soon as possible.

Keep in mind these aren’t the only reporting changes in v201509 — for more details on conversion-related reporting changes, please see the release notes.

If you have any questions about this or other aspects of the AdWords API, please contact us via the forum or the Ads Developers Plus Page.

More features now available in the AdWords API

Following the release of AdWords API v201506, we've added a few additional features that are available immediately:
  • Android App ‘first open’ conversion tracking. Recently available in AdWords, this new conversion tracking solution measures when a user first opens an app after clicking on an ad and completing an Android app install. Check out the new FIRST_OPEN conversion type in the AppConversion tracker that also supports Postback URLs for Android.
  • A new report specific to final URLs: FINAL_URL_REPORT. The report replaces the deprecated DESTINATION_URL_REPORT and provides statistics aggregated at the final URL level.
We also launched account hiding support recently—see this announcement if you missed it. If you have any questions, feel free to reach us on the forum or via the Ads Developers Plus Page.

Changes to DFP Reporting, now with more deprecation!

After our last round of spring cleaning, we've gone back to the drawing board to take another look at how we could make reporting better. There currently is an abundance of Dimensions, DimensionAttributes, and Columns (and more coming with each release), so in an effort to simplify the list of fields, we will be sunsetting the following reconciliation-related dimension attributes / columns in all versions. This will happen on September 1, 2015.

Columns with equivalent replacements:

Columns without equivalent replacements:

While the first two have equivalent replacements, the latter ones are not being replaced, as they don’t exist in core product reporting either.

This means that usage of these columns / dimension attributes will begin throwing errors in all versions starting September 1st. If your network is actively using any of these, please update your reports to switch to the supported fields or remove them entirely. If you have any questions, comments, or concerns about this, you know where to reach us!

AwReporting: Importing offline reports and AdWords video campaign performance reports

This release of AwReporting introduces new command-line arguments that can be used to import CSV files into AwReporting without using the AdWords API. So you can download reports from the AdWords user interface, even reports not available via the AdWords API like the Video Campaign Report, and import them into your database.

Offline reports

The command-line arguments that allow the tool to import reports directly from downloaded files are:
  • onFileReport, where you specify the Report Type (same ones used in the API).
  • csvReportFile, where you specify the absolute path of the CSV file that will be imported to the database.
Here is a command-line example including the new arguments:

$ java -Xmx1G -jar aw-reporting/target/aw-reporting.jar
-startDate YYYYMMDD -endDate YYYYMMDD
-file aw-reporting/src/main/resources/aw-report-sample.properties
-onFileReport CAMPAIGN_PERFORMANCE_REPORT
-csvReportFile
Keep in mind that AwReporting will only be able to import reports that are mapped in the aw-reporting-model module. You can check out the supported types on the project's GitHub source code page.

The CSV files must be in the same format as the ones downloaded by AwReporting via the API:
  • The first line of the file must contain a string with the file description.
  • The second line must contain the column headers with the field names.
  • The remaining lines contain the report data.
  • The last line will be ignored if it's a Total line.
Here is an example:


"ACCOUNT_PERFORMANCE_REPORT (May 1, 2015-May 10, 2015)"
Customer ID,Day,Account,Cost,Clicks,Impressions
1234,2015-05-01,Test Account,1420000,10,1978
1234,2015-05-02,Test Account,550000,4,2209
1234,2015-05-03,Test Account,1290000,6,3458
1234,2015-05-04,Test Account,320000,2,714
1234,2015-05-08,Test Account,1380000,5,2955
1234,2015-05-09,Test Account,1200000,6,2602
1234,2015-05-10,Test Account,750000,4,2793
Total, --, --,6.91,37,16709
Video Campaign Performance Reports

The AdWords API doesn't support video campaign performance reports, but you can still access the web interface and download the CSV files manually.

With the new offline import feature described above, we have added support for video campaign reports in AwReporting, allowing you to import all available fields in the web interface to the same database where the other reports are stored. We hope that this feature will make it easier to integrate systems and dashboards to the database, including video campaign performance data of clients.

To import a video campaign report CSV file, you just need to specify the report type in the onFileReport property as VIDEO_CAMPAIGN_REPORT, and point to the absolute path of the file in the csvReportFile property. The properties can be found in the source code of the project, in the ReportVideoCampaign.java entity.

Before importing the CSV files downloaded from the web interface, you will need to make sure that they are following the format described above, so AwReporting can understand it. You can find an example that we used on our unit tests in the project's source code.

You can check out these new features and the latest released version on the project's main GitHub page. And because AwReporting is open source, you can experiment with the code itself, by adding new types of reports as you need them. The project's GitHub page also includes the complete installation instructions.

If you have any questions about the tool, have ideas for new features, or find any bugs, you can post them as issues in GitHub. We maintain the tool, and the list of issues on GitHub is our first option when planning for next releases.

And of course, make sure to check out our Google+ page for client library and Ads APIs updates.

Change to default filters within AdWords API Reporting

Starting this week AdWords API reports will by default return all objects regardless of their status. API users will need to specify a custom predicate in order to filter out removed entries.

With AdWords API v201502 we made the handling of removed items consistent across services by changing the default filter of all services to exclude all removed entries.

We also included a few reports in this change, but based on your feedback, we’re reverting back to the old behavior. The new filters proved to be confusing and caused discrepancies between reports on different levels. In practice, most API users like to see historical stats of all objects regardless of their current status, so we are making it the default.

As of this week, we’ll start returning all entries in AdWords API Reports regardless of their status by default. This fully matches the old v201409 behavior. You can still filter out removed entries by specifying a custom predicate. Note that non-reporting services will still filter out removed entries by default in v201502 and later, as they do now.

If you have any questions or need help with the migration, please post on the forum or the Ads Developers Plus Page.

AwReporting: Upgraded to use AdWords API v201502

We’ve upgraded the AwReporting tool to use the latest AdWords API version, v201502. The code changes were made according to the migration guide.

Note that besides code changes, the database tables’ column names have also been updated to reflect the new report field names. Since these changes are scattered around many tables, you can run this version of AwReporting on a new database schema, then use the schema generation command to generate both database schemas and compare them. You can also create SQL scripts to import data from old database tables to new ones with updated column names.

We’ve put the code changes in the v201502_upgrade branch. Please feel free to pull this branch and give it a try. Remember to update the properties file to use the new report field names. This upgrade branch will be merged into the master branch at the end of May.

If you have any questions or feedback regarding this upgrade, let us know via the project’s issue tracker.