عیب یابی RTB

این راهنما منابع عیب‌یابی RTB را پوشش می‌دهد، که به شما امکان می‌دهد به‌صورت برنامه‌ریزی به معیارهای کمپین مناقصه بلادرنگ دسترسی داشته باشید که از طریق ابزار RTB Breakout موجود در رابط کاربری مجاز خریداران نیز در معرض دید قرار می‌گیرند. اینها شامل bidders.filterSets ، bidders.accounts.filterSets ، و همه منابع تحت آنها به صورت سلسله مراتبی است.

با استفاده از معیارهای منابع عیب‌یابی RTB، می‌توانید بینش‌هایی درباره فرصت‌های از دست رفته برای به دست آوردن نمایش‌ها به دست آورید که می‌تواند به شما در بهینه‌سازی کمپین پیشنهادی خود در زمان واقعی کمک کند.

تنظیمات ساختار و سبک API

منابع عیب‌یابی RTB چند تغییر را برای نشان دادن صریح مالکیت و دسترسی، ارائه کنترل دقیق‌تر بر داده‌های بازگردانده‌شده توسط API و همسویی بهتر با شیوه‌های طراحی Google API ایجاد می‌کنند.

منابع در سطح پیشنهاد دهنده و سطح حساب

منابع هم بر اساس bidders و هم bidders.accounts ساختار می شوند. اینها به شما امکان می‌دهند مشخص کنید که آیا تماس API یک پیشنهاد دهنده (که به عنوان حساب والد نیز شناخته می‌شود) و همه حساب‌های فرزند مرتبط یا حساب‌های خریدار مجاز فردی را هدف قرار می‌دهد. در زمینه عیب‌یابی RTB، منابعی که تحت bidders.filterSets ساختار یافته‌اند، معیارهای انبوهی را برای پیشنهاددهنده داده شده و همه حساب‌های فرزند مرتبط برمی‌گردانند. در مقابل، مواردی که تحت bidders.accounts.filterSets هستند، صرف نظر از اینکه حساب پیشنهادی یا فرزند باشد، معیارهای حساب مشخص شده را برمی‌گردانند.

توجه: حساب‌هایی که مناقصه خود را به خریدار دیگری واگذار می‌کنند، حساب‌های پیشنهاددهنده نیستند و در نتیجه نمی‌توانند به منابع سطح مناقصه‌گر دسترسی داشته باشند. علاوه بر این، حساب‌های غیر پیشنهاددهنده نمی‌توانند به منابع impressionMetrics ، filteredBidResponses ، bidResponseErrors و bidResponsesWithoutBids در سطح حساب دسترسی داشته باشند.

معرفی نام منابع به عنوان شناسه های منحصر به فرد

نام منابع به جای شناسه های عدد صحیح یا رشته ای به عنوان شناسه های منحصر به فرد استفاده می شود. هنگام ایجاد یک نمونه جدید از یک نوع منبع معین، اکنون باید یک نام منبع نسبی را با استفاده از مسیر URI منبع و به دنبال آن شناسه منبع ترجیحی مشخص کنید. در زیر نمونه هایی از نام های مرتبط با منابع عیب یابی RTB آورده شده است:

منبع مثال نام
bidders.filterSets bidders/12345678/filterSets/fset_1
bidders.accounts.filterSets bidders/12345678/accounts/87654321/filterSets/fset_2

توجه: شناسه منبع مشخص شده برای bidders در نام باید شناسه حساب خریداران مجاز پیشنهاد دهنده باشد. برای accounts ، شناسه منبع باید شناسه حساب پیشنهاد دهنده یا یک حساب فرزند تحت مدیریت آن باشد. اگر نمی‌دانید کدام حساب‌های Authorized Buyers با حساب Google شما مرتبط هستند، می‌توانید از روش accounts.list برای پیدا کردن آنها استفاده کنید.

مجموعه های فیلتر

مجموعه فیلتر نمایشی از گزینه های فیلتر موجود است و می تواند در سطح مناقصه یا حساب ایجاد شود. برای فیلتر کردن نتایج فهرست منابع عیب‌یابی RTB که معیارهای کمپین‌های پیشنهادی بی‌درنگ شما را بازیابی می‌کنند، استفاده می‌شود.

فیلتر اعمال شده هنگام بازیابی معیارها، تقاطع هر فیلتر در مجموعه فیلتر مشخص شده است. فیلترهای لیست، مانند platforms ، به عنوان اتحاد هر یک از موارد در لیست تفسیر می شوند.

مجموعه فیلترهای پیشنهاد دهنده و سطح حساب متمایز هستند و فقط از سطحی که در آن ایجاد شده اند قابل دسترسی هستند - صرف نظر از حساب استفاده شده برای ایجاد آنها. مجموعه‌های فیلتر اشتراک‌گذاری مناقصه‌دهنده و حساب فرزند در سطح حساب ایجاد می‌شوند، در حالی که فقط یک پیشنهاددهنده می‌تواند به منابع در سطح مناقصه دسترسی داشته باشد. جدول زیر به طور خلاصه نشان می دهد که چگونه حساب های پیشنهاد دهنده و فرزند می توانند به منابع در هر سطح دسترسی داشته باشند:

bidders.filterSets bidders.accounts.filterSets
حساب پیشنهاد دهنده یک تماس API که فقط بر مجموعه فیلترهای سطح پیشنهاد دهنده تأثیر می گذارد. یک تماس API که فقط مجموعه‌های فیلتر در سطح حساب را تحت تأثیر قرار می‌دهد.
حساب کودک این فراخوانی API یک پاسخ خطا را برمی‌گرداند. یک تماس API که فقط مجموعه‌های فیلتر در سطح حساب را تحت تأثیر قرار می‌دهد.

یک مجموعه فیلتر ایجاد کنید

هنگام ایجاد یک مجموعه فیلتر، باید یک بازه زمانی را به صورت relativeDateRange ، absoluteDateRange یا realtimeTimeRange مشخص کنید. هنگام بازیابی معیارها، رفتار پیش فرض این است که همه داده ها برای کل محدوده زمانی ارائه شوند. اگر می‌خواهید یک تفکیک سری زمانی در محدوده زمانی دریافت کنید، می‌توانید timeSeriesGranularity برای نشان دادن بازه‌های HOURLY یا DAILY مشخص کنید.

اگر فقط به یک مجموعه فیلتر برای مدت کوتاهی نیاز دارید، می‌توانید پارامتر query isTransient را روی true تنظیم کنید. این نشان می دهد که مجموعه فیلتر گذرا است، به این معنی که به طور نامحدود ادامه نخواهد داشت. مجموعه‌های فیلتر گذرا حداقل به مدت یک ساعت پس از ایجاد در دسترس خواهند بود، اما در نهایت حذف خواهند شد. به طور پیش فرض، مجموعه فیلترها گذرا نیستند.

نمونه در سطح مناقصه

برای ایجاد یک مجموعه فیلتر جدید در سطح مناقصه، یک درخواست POST به URI منبع bidders.filterSets ارسال کنید که فرمت زیر را دارد:

https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets

اخطار: مجموعه‌های فیلتر در سطح پیشنهاددهنده قادر به فیلتر کردن توسط شناسه‌های خلاق یا معامله نیستند. اگر این فیلترها را هنگام ایجاد یک مجموعه فیلتر در سطح پیشنهاد دهنده مشخص کنید، یک پاسخ خطا دریافت خواهید کرد.

درخواست کنید

در اینجا نمونه ای از درخواست POST است که یک مجموعه فیلتر جدید غیر گذرا در سطح پیشنهاد دهنده ایجاد می کند:

POST https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
Authorization: Bearer access token here
Content-Type: application/json

{
  "name": "bidders/12345678/filterSets/bidder-fs",
  "format": "DISPLAY",
  "environment": "APP",
  "platforms": ["TABLET", "MOBILE"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

پاسخ

اگر درخواست با موفقیت انجام شود، سرور با یک کد وضعیت OK 200 پاسخ می دهد. بدنه پاسخ شامل منبع مجموعه فیلتر ایجاد شده است که با مجموعه فیلتر ارسال شده در درخواست یکسان خواهد بود.

مثال در سطح حساب

برای ایجاد یک مجموعه فیلتر جدید در سطح حساب، یک درخواست POST به URI منبع bidders.accounts.filterSets ارسال کنید که فرمت زیر را دارد:

https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets

توجه: شناسه منبع مشخص‌شده برای accounts می‌تواند شناسه حساب هر حساب خریدار مجاز قابل دسترسی به حساب مناقصه‌دهنده مشخص‌شده در URI، از جمله خود حساب مناقصه‌گر باشد.

درخواست کنید

در اینجا نمونه ای از درخواست POST است که یک مجموعه فیلتر غیر گذرا در سطح حساب ایجاد می کند:

POST https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
Authorization: Bearer access token here
Content-Type: application/json

{
  "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
  "format": "VIDEO",
  "environment": "WEB",
  "platforms": ["DESKTOP"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}
پاسخ

اگر درخواست با موفقیت انجام شود، سرور با یک کد وضعیت OK 200 پاسخ می دهد. بدنه پاسخ شامل منبع مجموعه فیلتر ایجاد شده است که با مجموعه فیلتر ارسال شده در درخواست یکسان خواهد بود.

یک مجموعه فیلتر دریافت کنید

متد دریافت فقط می‌تواند یک مجموعه فیلتر را در همان سطحی که ایجاد شده است دریافت کند. به عنوان مثال، یک حساب پیشنهاد دهنده باید از bidders.accounts.filterSets.get برای بازیابی مجموعه فیلتر ایجاد شده در سطح حساب به جای روش bidders.filterSets.get استفاده کند.

در سطح مناقصه

می‌توانید با ارسال یک درخواست HTTP GET به URI منبع bidders.filterSets که دارای فرمت زیر است، یک مجموعه فیلتر سطح پیشنهاد دهنده را بازیابی کنید:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
درخواست کنید

در اینجا یک مثال است:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs
پاسخ

اگر درخواست با موفقیت انجام شود، سرور با یک کد وضعیت HTTP 200 OK و مجموعه فیلتر بازیابی شده پاسخ می دهد:

{
  "name": "bidders/12345678/filterSets/bidder-fs",
  "format": "DISPLAY",
  "environment": "APP",
  "platforms": ["TABLET", "MOBILE"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

در سطح حساب

می‌توانید با ارسال یک درخواست HTTP GET به URI منبع bidders.accounts.filterSets یک مجموعه فیلتر در سطح حساب را بازیابی کنید، که فرمت زیر را دارد:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
درخواست کنید

در اینجا یک مثال است:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs
پاسخ

اگر درخواست با موفقیت انجام شود، سرور با یک کد وضعیت HTTP 200 OK و مجموعه فیلتر بازیابی شده پاسخ می دهد:

{
  "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
  "format": "VIDEO",
  "environment": "WEB",
  "platforms": ["DESKTOP"],
  "absoluteDateRange": {
    "startDate": {
      "month": 11,
      "day": 26,
      "year": 2017
    },
    "endDate": {
      "month": 12,
      "day": 3,
      "year": 2017
    }
  },
  "timeSeriesGranularity": "DAILY"
}

لیست مجموعه های فیلتر

روش لیست فقط مجموعه های فیلتر قابل دسترسی را از سطحی که فراخوانی می شود برمی گرداند. به عنوان مثال، یک حساب پیشنهاد دهنده هنگام فراخوانی bidders.filterSets.list ، مجموعه فیلترهای ایجاد شده برای خود را از طریق bidders.accounts.filterSets.create نمی بیند.

در سطح مناقصه

شما می توانید با ارسال یک درخواست HTTP GET به URI منبع bidders.filtersets که دارای فرمت زیر است، تمام مجموعه فیلترهای سطح پیشنهاد دهنده را برای یک پیشنهاد دهنده معین بازیابی کنید:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets
درخواست کنید

در اینجا یک مثال لیستی از تمام مجموعه فیلترهای سطح پیشنهاد دهنده برای پیشنهاد دهنده با شناسه حساب 12345678 آورده شده است:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets
پاسخ
{
  "filterSets": [{
      "filterSetId": "99994",
      "name": "bidders/12345678/filterSets/test-b-1",
      "relativeDateRange": {
        "durationDays": 30
      }
    },
    {
      "realtimeTimeRange": {
        "startTimeStamp": "2017-11-15T12:30:30.072831583Z"
      },
      "filterSetId": "99995",
      "name": "bidders/12345678/filterSets/test-b-2",
      "timeSeriesGranularity": "HOURLY"
    },
    {
      "absoluteDateRange": {
        "endDate": {
          "day": 12,
          "month": 3,
          "year": 2017
        },
        "startDate": {
          "day": 26,
          "month": 11,
          "year": 2017
        }
      },
      "filterSetId": "99996",
      "name": "bidders/12345678/filterSets/bidder-fs",
      "timeSeriesGranularity": "DAILY",
      "platforms": ["TABLET", "MOBILE"],
      "environment": "APP",
      "format": "DISPLAY"
    }
  ]
}

در سطح حساب

می‌توانید با ارسال یک درخواست HTTP GET به URI منبع bidders.accounts.filtersets که دارای فرمت زیر است، تمام مجموعه‌های فیلتر در سطح حساب را برای یک حساب معین بازیابی کنید:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets
درخواست کنید

در اینجا یک مثال لیستی از تمام مجموعه‌های فیلتر در سطح حساب برای یک حساب فرزند با شناسه حساب 87654321 آورده شده است:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets
پاسخ
{
  "filterSets": [{
        "realtimeTimeRange": {
        "startTimeStamp": "2017-11-19T04:24:43.252893487Z"
      },
      "filterSetId": "99997",
      "name": "bidders/12345678/accounts/87654321/filterSets/test-a-1",
      "timeSeriesGranularity": "DAILY"
    },
    {
      "absoluteDateRange": {
        "endDate": {
          "day": 3,
          "month": 12,
          "year": 2017
        },
        "startDate": {
          "day": 26,
          "month": 11,
          "year": 2017
        }
      },
      "filterSetId": "99998",
      "name": "bidders/12345678/accounts/87654321/filterSets/account-fs",
      "timeSeriesGranularity": "DAILY",
      "platforms": ["DESKTOP"],
      "environment": "WEB",
      "format": "VIDEO"
    }
  ]
}

یک مجموعه فیلتر را حذف کنید

می توانید از روش delete برای حذف هر مجموعه فیلتر غیر گذرا که دیگر مورد نیاز نیست استفاده کنید. فقط می تواند مجموعه فیلترهای قابل دسترسی را از سطحی که نامیده می شود حذف کند. برای مثال، یک حساب پیشنهاد دهنده نمی تواند مجموعه فیلتر ایجاد شده با bidders.accounts.filterSets.create with bidders.filterSets.delete را حذف کند.

در سطح مناقصه

با ارسال یک درخواست HTTP DELETE به URI منبع bidders.filtersets که دارای فرمت زیر است، می‌توانید یک مجموعه فیلتر در سطح پیشنهاد دهنده را برای یک حساب مشخص حذف کنید:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}
درخواست کنید

در اینجا مثالی برای حذف یک مجموعه فیلتر در سطح پیشنهاد دهنده آورده شده است:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/test-b-2
پاسخ

در صورت موفقیت آمیز بودن، بدنه درخواست خالی خواهد بود. مجموعه فیلتر مشخص شده دیگر در دسترس نخواهد بود.

در سطح حساب

می‌توانید با ارسال یک درخواست HTTP DELETE به URI منبع bidders.accounts.filtersets ، مجموعه‌ای از فیلترهای سطح حساب را برای یک حساب مشخص حذف کنید که فرمت زیر را دارد:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}
درخواست کنید

در اینجا مثالی برای حذف یک مجموعه فیلتر در سطح حساب آورده شده است:

DELETE https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/test-a-1
پاسخ

در صورت موفقیت آمیز بودن، بدنه درخواست خالی خواهد بود. مجموعه فیلتر مشخص شده دیگر در دسترس نخواهد بود.

معیارهای عیب یابی RTB را بازیابی کنید

همه منابع عیب‌یابی RTB که برای دریافت معیارها استفاده می‌شوند به روشی مشابه عمل می‌کنند - آنها یک روش واحد برای فهرست کردن معیارهای مجموعه فیلتر مشخص شده از طریق پارامتر مسیر filterSetName دارند. مجموعه فیلتر مشخص شده تعیین می کند که چه فیلترها و تنظیماتی در هنگام پرس و جو از معیارها اعمال شوند. فراخوانی این منابع از سطح مناقصه‌دهنده، معیارهای جمع‌آوری شده از حساب پیشنهاددهنده و همه حساب‌های فرزند مرتبط را برمی‌گرداند، در حالی که تماس از سطح حساب، تنها معیارهای یک حساب فردی را برمی‌گرداند.

معیارهای قیمت پیشنهادی

منبع bidMetrics برای بازیابی معیارهایی استفاده می شود که بر اساس تعداد پیشنهادات اندازه گیری می شوند. به عنوان مثال، می‌توانید از این برای تعیین تعداد کل پیشنهادات خود در یک بازه زمانی معین، و اینکه چه تعداد از آن‌ها از حراج فیلتر نشده‌اند، برنده یک نمایش نیستند و غیره استفاده کنید. مانند سایر منابع عیب‌یابی RTB که برای جمع‌آوری معیارها استفاده می‌شوند، فقط یک روش list دارد.

معیارهای قیمت پیشنهادی در سطح پیشنهاد دهنده را فهرست کنید

می‌توانید با ارسال یک درخواست HTTP GET به URI منبع bidders.filtersets.bidMetrics ، معیارهای قیمت پیشنهادی را برای مجموعه فیلتر معین فهرست کنید که دارای قالب زیر است:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/filterSets/{filter set resource ID}/bidMetrics
درخواست کنید

در اینجا نمونه ای از معیارهای قیمت پیشنهادی در سطح پیشنهاد دهنده آورده شده است:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/filterSets/bidder-fs/bidMetrics
پاسخ

اگر درخواست با موفقیت انجام شود، سرور با یک کد وضعیت 200 OK و یک بدنه حاوی ردیف‌هایی از معیارها برای ابعاد و جزئیات مشخص شده پاسخ می‌دهد.

{
  "bidMetricsRows": [{
        "bids": {
        "value": "6160"
      },
      "bidsInAuction": {
        "value": "5698"
      },
      "billedImpressions": {
        "value": "1196"
      },
      "impressionsWon": {
        "value": "2920"
      },
      "measurableImpressions": {
        "value": "1160"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-11-29T08:00:00Z",
          "startTime": "2017-11-28T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "683"
      }
    },
    {
      "bids": {
        "value": "104288"
      },
      "bidsInAuction": {
        "value": "94016"
      },
      "billedImpressions": {
        "value": "99"
      },
      "impressionsWon": {
        "value": "125"
      },
      "measurableImpressions": {
        "value": "94"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-11-30T08:00:00Z",
          "startTime": "2017-11-29T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "87"
      }
    },
    {
      "bids": {
        "value": "3999"
      },
      "bidsInAuction": {
        "value": "3631"
      },
      "billedImpressions": {
        "value": "618"
      },
      "impressionsWon": {
        "value": "1819"
      },
      "measurableImpressions": {
        "value": "604"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-01T08:00:00Z",
          "startTime": "2017-11-30T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "369"
      }
    },
    {
      "bids": {
        "value": "15"
      },
      "bidsInAuction": {
        "value": "3"
      },
      "billedImpressions": {},
      "impressionsWon": {
        "value": "3"
      },
      "measurableImpressions": {},
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-02T08:00:00Z",
          "startTime": "2017-12-01T08:00:00Z"
        }
      },
      "viewableImpressions": {}
    }
  ]
}

توجه: هر فیلدی که برای یک معیار معین روی 0 تنظیم شده باشد در پاسخ ظاهر نمی شود. معیارهای خالی billedImpressions و measurableImpressions در بالا نشان می دهد که هم مقدار و هم واریانس برای این موارد روی 0 تنظیم شده است.

هشدار: برای هر تفکیک داده‌های موجود در پاسخ، پاسخ شامل ردیف‌هایی نمی‌شود که حداقل یک متریک غیر صفر داشته باشند. به عنوان مثال، زمانی که timeSeriesGranularity مشخص می‌شود، پاسخ شامل ردیف‌هایی برای هیچ timeInterval در محدوده زمانی مشخص‌شده مجموعه فیلتر که در آن همه معیارها صفر هستند، نمی‌شود.

معیارهای قیمت پیشنهادی در سطح حساب را فهرست کنید

می‌توانید با ارسال یک درخواست HTTP GET به URI منبع bidders.accounts.filtersets.bidMetrics ، معیارهای قیمت پیشنهادی در سطح حساب را برای یک مجموعه فیلتر معین فهرست کنید که فرمت زیر را دارد:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/{bidder resource ID}/accounts/{account resource ID}/filterSets/{filter set resource ID}/bidMetrics
درخواست کنید

در اینجا یک نمونه فهرست معیارهای قیمت پیشنهادی در سطح حساب آورده شده است:

GET https://adexchangebuyer.googleapis.com/v2beta1/bidders/12345678/accounts/87654321/filterSets/account-fs/bidMetrics
پاسخ

اگر درخواست با موفقیت انجام شود، سرور با یک کد وضعیت 200 OK و یک بدنه حاوی ردیف‌هایی از معیارها برای ابعاد و جزئیات مشخص شده پاسخ می‌دهد.

{
  "bidMetricsRows": [{
      "bids": {
        "value": "1748"
      },
      "bidsInAuction": {
        "value": "1421"
      },
      "billedImpressions": {
        "value": "301"
      },
      "impressionsWon": {
        "value": "915"
      },
      "measurableImpressions": {
        "value": "298"
      },
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-01T08:00:00Z",
          "startTime": "2017-11-30T08:00:00Z"
        }
      },
      "viewableImpressions": {
        "value": "172"
      }
    },
    {
      "bids": {
        "value": "6"
      },
      "bidsInAuction": {
        "value": "2"
      },
      "billedImpressions": {},
      "impressionsWon": {
        "value": "1"
      },
      "measurableImpressions": {},
      "rowDimensions": {
        "timeInterval": {
          "endTime": "2017-12-02T08:00:00Z",
          "startTime": "2017-12-01T08:00:00Z"
        }
      },
      "viewableImpressions": {}
    }
  ]
}

توجه: هر فیلدی که برای یک معیار معین روی 0 تنظیم شده باشد در پاسخ ظاهر نمی شود. معیارهای خالی billedImpressions و measurableImpressions در بالا نشان می دهد که هم مقدار و هم واریانس برای این موارد روی 0 تنظیم شده است.

هشدار: برای هر تفکیک داده‌های موجود در پاسخ، پاسخ شامل ردیف‌هایی نمی‌شود که حداقل یک متریک غیر صفر داشته باشند. به عنوان مثال، زمانی که timeSeriesGranularity مشخص می‌شود، پاسخ شامل ردیف‌هایی برای هیچ timeInterval در محدوده زمانی مشخص‌شده مجموعه فیلتر که در آن همه معیارها صفر هستند، نمی‌شود.