Получайте отчеты о рекламе с помощью Google Ads Api - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь получить отчеты по кампаниям и объявлениям эффективности. До сих пор я получал отчеты об эффективности кампании, но не могу получать отчеты об эффективности рекламы.

Я видел API объявлений Google и их примеры в клиентской библиотеке. Но я не могу понять, как получать рекламные отчеты.

Я создаю функцию, которая будет получать отчеты для меня через API объявлений Google.

Google Ads Api: https://developers.google.com/google-ads/api/docs/fields/ad_group_ad#ad_group_adadexpanded_text_addescription2

Google Ads Api Github: https://github.com/googleads/google-ads-php/

<code>public function getAdsPerformance($customerId)
{
    // Customer ID which i am using ---> 2942416690
    try {
        // Creates a query that retrieves all campaigns.
        $query = 'SELECT ad_group_ad.ad.expanded_text_ad.description2 FROM ad_group_ad';

        // Issues a search request by specifying page size.
        $response = $this->googleAdsServiceClient->search($customerId, $query, ['pageSize' => $this->page_size]);

        // Iterates over all rows in all pages and prints the requested field values for
        // the campaign in each row.
        foreach ($response->iterateAllElements() as $googleAdsRow) {
            $adGroup = $googleAdsRow->getAdGroupAd();
            // $customer = $googleAdsRow->getCustomer();
            // $metrics = $googleAdsRow->getMetrics();

            /** @var GoogleAdsRow $googleAdsRow */
            $result = [
                'ad' => $adGroup->getResourceName()->getValue(),
            ];
            print "<pre>";
            print_r($result);
            print "
"; } } catch (GoogleAdsException $ googleAdsException) { Е ( "Запрос с идентификатором"% s "не выполнен.% SПоказы объявлений Google:% s", $ GoogleAdsException-> getRequestId (), PHP_EOL, PHP_EOL ); foreach ($ googleAdsException-> getGoogleAdsFailure () -> getErrors () как $ error) { $ error = [ 'code' => $ error-> getErrorCode () -> getErrorCode (), 'status' => $ error-> getStatus (), 'message' => $ error-> getMessage () ]; Е (json_encode ($ ошибка)); } } catch (ApiException $ apiException) { $ error = [ 'code' => $ apiException-> getCode (), 'status' => $ apiException-> getStatus (), 'message' => $ apiException-> getBasicMessage () ]; Е (json_encode ($ ошибка)); } }

Я пытаюсь получить этот тип простых значений из API в массиве

Array
(
   [campaign] => some test campaign
   [currency] => PLN
   [clicks] => 100
   [impressions] => 300
   [cost] => 250.08
   [avg_position] => 1.07
   [avg_cpc] => 0.8
   [conversions] => 0
   [cost/conv] => 0
   [conv_rate] => 0
   [ctr] => 0.9
   [avg_cpm] => 2.5
   [interaction_rate] => 0.1
   [interactions] => 52
)

Есть идеи о том, как я могу получить рекламные отчеты от API. Кто-нибудь сделал это? Кажется, я не могу разглядеть документацию и клиентскую библиотеку.

1 Ответ

0 голосов
/ 19 апреля 2019

Ну, я сделал это с некоторыми исследованиями. Есть два типа рекламы.

1. Расширенные текстовые объявления

2. Звоните только объявления

Я проверил, какой тип объявления показывался, и это были «Расширенные текстовые объявления». А затем выбрал поле ad_group_ad.ad.expanded_text_ad.headline_part1 из документации API здесь:

https://developers.google.com/google-ads/api/docs/fields/ad_group_ad#ad_group_adadexpanded_text_adheadline_part1

это полная функция:

<code>public function getAdsPerformance($customerId)
{
    try {
        $query =
            'SELECT ad_group_ad.ad.expanded_text_ad.headline_part1 '
            . 'FROM ad_group_ad '
            . 'WHERE ad_group_ad.ad.type = EXPANDED_TEXT_AD';

        $response = $this->googleAdsServiceClient->search($customerId, $query, ['pageSize' => $this->page_size]);

        foreach ($response->iterateAllElements() as $googleAdsRow) {
            $ad = $googleAdsRow->getAdGroupAd()->getAd();
            $result = [
                'headline part 1' => $ad->getExpandedTextAd()->getHeadlinePart1()->getValue(),
            ];
            print "<pre>";
            print_r($result);
            print "
"; } } catch (GoogleAdsException $ googleAdsException) { Е ( "Запрос с идентификатором"% s "не выполнен.% SПоказы объявлений Google:% s", $ GoogleAdsException-> getRequestId (), PHP_EOL, PHP_EOL ); foreach ($ googleAdsException-> getGoogleAdsFailure () -> getErrors () как $ error) { $ error = [ 'code' => $ error-> getErrorCode () -> getErrorCode (), 'status' => $ error-> getStatus (), 'message' => $ error-> getMessage () ]; // return $ error; Е (json_encode ($ ошибка)); } } catch (ApiException $ apiException) { $ error = [ 'code' => $ apiException-> getCode (), 'status' => $ apiException-> getStatus (), 'message' => $ apiException-> getBasicMessage () ]; Е (json_encode ($ ошибка)); } }

И я получил результат поля:

Array
(
   [headline part 1] => Small Business System
)
...