Adwords report output to html

35 views
Skip to first unread message

Roy Keijers

unread,
Apr 20, 2018, 1:02:06 PM4/20/18
to AdWords API Forum
<?php
/**
 * Copyright 2017 Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace Google\AdsApi\Examples\AdWords\v201802\Reporting;

require 'autoload.php';


use Google\AdsApi\AdWords\AdWordsSession;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\AdWords\Query\v201802\ReportQueryBuilder;
use Google\AdsApi\AdWords\Reporting\v201802\DownloadFormat;
use Google\AdsApi\AdWords\Reporting\v201802\ReportDefinitionDateRangeType;
use Google\AdsApi\AdWords\Reporting\v201802\ReportDownloader;
use Google\AdsApi\AdWords\ReportSettingsBuilder;
use Google\AdsApi\AdWords\v201802\cm\ReportDefinitionReportType;
use Google\AdsApi\Common\OAuth2TokenBuilder;

/**
 * Downloads CRITERIA_PERFORMANCE_REPORT for the specified client customer ID.
 */
class DownloadCriteriaReportWithAwql
{

    public static function runExample(AdWordsSession $session, $reportFormat)
    {
        // Create report query to get the data for last 7 days.
        $query = (new ReportQueryBuilder())
            ->select([
                'CampaignName','Week', 'Impressions', 'Clicks', 'Conversions', 'Ctr',  'Cost', 'AverageCpc', 'CostPerConversion', 'AveragePosition', 'BounceRate'
            ])
            ->from(ReportDefinitionReportType::CAMPAIGN_PERFORMANCE_REPORT)
         //   ->where('Status')->in(['ENABLED', 'PAUSED'])
    ->where('AdNetworkType1')->in(['SEARCH'])

            ->duringDateRange(ReportDefinitionDateRangeType::LAST_7_DAYS)
            ->build();

        // Download report as a string.
        $reportDownloader = new ReportDownloader($session);
        // Optional: If you need to adjust report settings just for this one
        // request, you can create and supply the settings override here.
        // Otherwise, default values from the configuration
        // file (adsapi_php.ini) are used.
        $reportSettingsOverride = (new ReportSettingsBuilder())
            ->includeZeroImpressions(false)
            ->build();
        $reportDownloadResult = $reportDownloader->downloadReportWithAwql(
            sprintf('%s', $query),
            $reportFormat,
            $reportSettingsOverride
        );

       // print "Report was downloaded and printed below:\n";
        print $reportDownloadResult->getAsString();
    }

    public static function main()
    {
        // Generate a refreshable OAuth2 credential for authentication.
        $oAuth2Credential = (new OAuth2TokenBuilder())->fromFile()->build();

        // See: AdWordsSessionBuilder for setting a client customer ID that is
        // different from that specified in your adsapi_php.ini file.
        // Construct an API session configured from a properties file and the
        // OAuth2 credentials above.
        $session = (new AdWordsSessionBuilder())
            ->fromFile()
            ->withOAuth2Credential($oAuth2Credential)
            ->build();

        self::runExample($session, DownloadFormat::CSV);
    }
}

DownloadCriteriaReportWithAwql::main();


I want to output this result to html. I now have a string with all the output, but I can't do anything with that. How to output this into a readable html table for example?

Milind Sankeshware (AdWords API Team)

unread,
Apr 20, 2018, 2:59:33 PM4/20/18
to AdWords API Forum
Hi Roy,

I am afraid that AdWords API doesn't support html format for report. You could refer this guide to check supported format in AdWords reports here. You will need to create the html file at your end and include the data from the API in that. Let me know if you have further questions.

Thanks,
Milind, AdWords API Team.
Reply all
Reply to author
Forward
0 new messages