API گزارش قیف چند کانالی - راهنمای مرجع

این سند مرجع کاملی برای پرس و جو و پاسخ برای API گزارش قیف چند کانالی ارائه می دهد.

معرفی

API گزارش قیف‌های چند کانالی به شما امکان می‌دهد اطلاعات گزارش قیف‌های چند کانالی Google Analytics را درخواست کنید. هر گزارش شامل آماری است که از داده‌هایی که کد رهگیری به آنالیتیکس ارسال می‌کند، به‌عنوان ابعاد و معیارها سازمان‌دهی شده است. با انتخاب ترکیبی از ابعاد و معیارهای خود، می توانید از Reporting API برای ایجاد گزارش های سفارشی متناسب با مشخصات خود استفاده کنید.

API حاوی یک روش واحد است که داده های گزارش را درخواست می کند: report.get. با این روش، شناسه جدولی را ارائه می کنید که مطابق با نمای (پروفایل) مورد نظر برای بازیابی داده ها است. علاوه بر این موارد زیر را مشخص می کنید:

  • ترکیبی از ابعاد و معیارها.
  • یک محدوده تاریخ
  • مجموعه ای از پارامترهای گزینه که کنترل می کند چه داده هایی برگردانده می شود

API روش report.get را در نقطه پایانی REST در دسترس قرار می‌دهد: https://www.googleapis.com/analytics/v3/data/mcf . بخش زیر یک نمونه درخواست را نشان می دهد و هر یک از پارامترها را توضیح می دهد.

درخواست

API یک روش واحد برای درخواست داده ارائه می دهد:

analytics.data.mcf.get()

API همچنین می تواند به عنوان نقطه پایانی REST مورد جستجو قرار گیرد:

Authorization: Bearer {oauth2-token}

GET https://www.googleapis.com/analytics/v3/data/mcf
  ?ids=ga:12345
  &metrics=mcf:totalConversions,mcf:totalConversionValue
  &start-date=2011-10-01
  &end-date=2011-10-31

هر پارامتر پرس و جو URL یک پارامتر پرس و جوی API را مشخص می کند که باید URL کدگذاری شده باشد .

همه درخواست‌ها به API گزارش قیف‌های چند کانالی ترجیحاً از طریق OAuth 2.0 مجاز هستند.

خلاصه پارامترهای پرس و جو

جدول زیر تمام پارامترهای پرس و جو پذیرفته شده توسط API گزارش قیف چند کانالی را خلاصه می کند. برای توضیح دقیق روی نام هر پارامتر کلیک کنید.

نام ارزش ضروری خلاصه
ids string آره شناسه جدول منحصر به فرد فرم ga:XXXX، که در آن XXXX شناسه نمای آنالیتیکس (نمایه) است که پرس و جو داده ها را برای آن بازیابی می کند.
start-date string آره تاریخ شروع برای واکشی داده های Analytics. درخواست‌ها می‌توانند تاریخ شروع را با فرمت YYYY-MM-DD یا به عنوان یک تاریخ نسبی (مثلاً today ، yesterday یا NdaysAgo که در آن N یک عدد صحیح مثبت است) تعیین کنند.
end-date string آره تاریخ پایان برای واکشی داده های Analytics. درخواست می‌تواند تاریخ پایانی را با فرمت YYYY-MM-DD یا به عنوان یک تاریخ نسبی مشخص کند (به عنوان مثال، today ، yesterday یا NdaysAgo که در آن N یک عدد صحیح مثبت است).
metrics string آره فهرستی از معیارهای جدا شده با کاما، مانند mcf:totalConversions,mcf:totalConversionValue . یک جستار معتبر باید حداقل یک معیار را مشخص کند.
dimensions string نه فهرستی از ابعاد جدا شده با کاما برای گزارش قیف چند کانالی شما، مانند mcf:source,mcf:keyword .
sort string نه فهرستی از ابعاد و معیارهای جدا شده با کاما که ترتیب مرتب سازی و جهت مرتب سازی داده های برگشتی را نشان می دهد.
filters string نه فیلترهای ابعاد یا متریک که داده های بازگردانده شده برای درخواست شما را محدود می کند.
samplingLevel string نه سطح نمونه گیری مورد نظر. مقادیر مجاز:
  • DEFAULT - پاسخ را با اندازه نمونه برمی‌گرداند که سرعت و دقت را متعادل می‌کند.
  • FASTER - پاسخ سریع با حجم نمونه کوچکتر را برمی گرداند.
  • HIGHER_PRECISION - با استفاده از حجم نمونه بزرگ، پاسخ دقیق تری را نشان می دهد، اما ممکن است منجر به کندتر شدن پاسخ شود.
start-index integer نه اولین ردیف داده برای بازیابی، از 1 شروع می شود. از این پارامتر به عنوان مکانیزم صفحه بندی همراه با پارامتر max-results استفاده کنید.
max-results integer نه حداکثر تعداد ردیف هایی که باید در پاسخ گنجانده شود.

جزئیات پارامتر پرس و جو

شناسه

ids= ga:12345
ضروری.
شناسه منحصربه‌فرد مورد استفاده برای بازیابی داده‌های قیف چند کانالی. این شناسه الحاق فضای نام ga: با شناسه نمای (نمایه) گزارش است. با استفاده از روش analytics.management.profiles.list ، که id در منبع View (نمایه) در API مدیریت Google Analytics ارائه می‌کند، می‌توانید شناسه view (نمایه) گزارش خود را بازیابی کنید.

بازگشت به بالا


تاریخ شروع

start-date= 2011-10-01
ضروری.
همه درخواست‌های داده قیف چند کانالی باید محدوده تاریخ را مشخص کنند. اگر پارامترهای start-date و end-date در درخواست وارد نکنید، سرور یک خطا را برمی‌گرداند. مقادیر تاریخ می توانند برای یک تاریخ خاص با استفاده از الگوی YYYY-MM-DD یا نسبی با استفاده از today ، yesterday یا الگوی NdaysAgo باشند. مقادیر باید با [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo) مطابقت داشته باشند.
اولین start-date معتبر 2011-01-01 است. محدودیت بالایی برای start-date وجود ندارد.
تاریخ های نسبی همیشه نسبت به تاریخ فعلی در زمان پرس و جو هستند و بر اساس منطقه زمانی نمای (پروفایل) مشخص شده در پرس و جو هستند.

نمونه محدوده تاریخ برای 7 روز گذشته (از دیروز) با استفاده از تاریخ های نسبی:

  &start-date=7daysAgo
  &end-date=yesterday

بازگشت به بالا


تاریخ پایان

end-date= 2011-10-31
ضروری.
همه درخواست‌های داده قیف چند کانالی باید محدوده تاریخ را مشخص کنند. اگر پارامترهای start-date و end-date در درخواست وارد نکنید، سرور یک خطا را برمی‌گرداند. مقادیر تاریخ می توانند برای یک تاریخ خاص با استفاده از الگوی YYYY-MM-DD یا نسبی با استفاده از today ، yesterday یا الگوی NdaysAgo باشند. مقادیر باید با [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo) مطابقت داشته باشند.
اولین end-date معتبر 2005-01-01 است. محدودیت بالایی برای end-date وجود ندارد.
تاریخ های نسبی همیشه نسبت به تاریخ فعلی در زمان پرس و جو هستند و بر اساس منطقه زمانی نمای (پروفایل) مشخص شده در پرس و جو هستند.

نمونه محدوده تاریخ برای 10 روز گذشته (از امروز) با استفاده از تاریخ های نسبی:

  &start-date=9daysAgo
  &end-date=today

بازگشت به بالا


ابعاد

dimensions= mcf:source,mcf:keyword
اختیاری.

پارامتر ابعاد، کلیدهای داده اولیه را برای گزارش قیف چند کانالی شما، مانند mcf:source یا mcf:medium تعریف می‌کند. از ابعاد برای تقسیم بندی معیارهای تبدیل خود استفاده کنید. برای مثال، در حالی که می‌توانید تعداد کل تبدیل‌های سایت خود را بپرسید، ممکن است جالب‌تر باشد که تعداد تبدیل‌های تقسیم‌بندی شده بر اساس رسانه را بپرسید. در این حالت، تعداد تبدیل‌ها از ارگانیک، ارجاع، ایمیل و غیره را مشاهده خواهید کرد.

هنگام استفاده از dimensions در درخواست داده، از محدودیت های زیر آگاه باشید:

  • شما می توانید حداکثر 7 بعد را در هر پرس و جو ارائه کنید.
  • شما نمی توانید درخواستی را ارسال کنید که فقط از ابعاد تشکیل شده باشد: باید هر ابعاد درخواستی را با حداقل یک متریک ترکیب کنید.

مقادیر در دسترس نیست

وقتی نمی توان مقدار بعد را تعیین کرد، Analytics از رشته خاص (تنظیم نشده) استفاده می کند.

بازگشت به بالا


معیارهای

metrics= mcf:totalConversions,mcf:totalConversionValue
ضروری.

آمار جمع آوری شده برای فعالیت کاربر در سایت شما، مانند تعداد کل تبدیل یا ارزش کل تبدیل. اگر یک پرس و جو فاقد پارامتر dimensions باشد، معیارهای برگردانده شده مقادیر انبوهی را برای محدوده تاریخ درخواستی ارائه می‌کنند، مانند مقدار کل تبدیل کل. با این حال، هنگامی که ابعاد درخواست می شود، مقادیر بر اساس مقدار ابعاد تقسیم می شوند. برای مثال، mcf:totalConversions درخواست شده با mcf:source کل تبدیل‌ها را به ازای هر منبع برمی‌گرداند.

هنگام درخواست معیارها، به خاطر داشته باشید:

  • هر درخواستی باید حداقل یک متریک ارائه کند. یک درخواست نمی تواند فقط شامل ابعاد باشد.
  • شما می توانید حداکثر 10 معیار برای هر پرس و جو ارائه کنید.

بازگشت به بالا


مرتب سازی

sort= mcf:source,mcf:medium
اختیاری.

فهرستی از معیارها و ابعاد که ترتیب مرتب سازی و جهت مرتب سازی داده های برگشتی را نشان می دهد.

  • ترتیب مرتب سازی با ترتیب از چپ به راست معیارها و ابعاد فهرست شده مشخص می شود.
  • جهت مرتب سازی به طور پیش فرض صعودی است و می توان آن را با استفاده از پیشوند علامت منفی ( - ) در فیلد درخواستی به نزولی تغییر داد.

مرتب سازی نتایج یک پرس و جو به شما امکان می دهد سوالات مختلفی را در مورد داده های خود بپرسید. به عنوان مثال، برای پاسخ به این سوال "منابع تبدیل برتر من چیست و از طریق کدام رسانه ها؟" می توانید با پارامتر زیر یک پرس و جو ایجاد کنید. ابتدا بر اساس mcf:source و سپس mcf:medium ، هر دو به ترتیب صعودی مرتب می‌شود:

sort=mcf:source,mcf:medium

برای پاسخ به سوال مرتبط "رسانه های تبدیل برتر من کدامند و از کدام منابع هستند؟"، می توانید با پارامتر زیر یک پرس و جو ایجاد کنید. ابتدا بر اساس mcf:medium و سپس mcf:source ، هر دو به ترتیب صعودی مرتب می‌شود:

sort=mcf:medium,mcf:source

هنگام استفاده از پارامتر sort ، موارد زیر را در نظر داشته باشید:

  • فقط بر اساس ابعاد یا مقادیر معیارهایی که در dimensions یا پارامترهای metrics استفاده کرده اید مرتب کنید. اگر درخواست شما در فیلدی که در پارامتر ابعاد یا متریک مشخص نشده است مرتب شود، یک خطا دریافت خواهید کرد.
  • به‌طور پیش‌فرض، رشته‌ها به ترتیب حروف الفبای صعودی در محلی en-US مرتب می‌شوند.
  • اعداد به طور پیش فرض به ترتیب عددی صعودی مرتب شده اند.
  • تاریخ ها به طور پیش فرض بر اساس تاریخ به ترتیب صعودی مرتب شده اند.

بازگشت به بالا


فیلترها

filters= mcf:medium %3D%3Dreferral
اختیاری.

پارامتر رشته پرس و جو filters داده های برگشتی از درخواست شما را محدود می کند. برای استفاده از پارامتر filters ، یک بعد یا متریک برای فیلتر و به دنبال آن عبارت فیلتر ارائه دهید. به عنوان مثال، پرس و جوی زیر mcf:totalConversions و mcf:source برای مشاهده (پروفایل) 12134 درخواست می کند، که در آن بعد mcf:medium referral رشته است:

https://www.googleapis.com/analytics/v3/data/mcf
?ids=mcf:12134
&dimensions=mcf:source
&metrics=mcf:totalConversions
&filters=mcf:medium%3D%3Dreferral
&start-date=2011-10-01
&end-date=2011-10-31

برای جزئیات ، مرجع Core Reporting API را بخوانید.

بازگشت به بالا


samplingLevel

samplingLevel=DEFAULT
اختیاری.
از این پارامتر برای تنظیم سطح نمونه برداری (یعنی تعداد جلسات استفاده شده برای محاسبه نتیجه) برای یک درخواست گزارش استفاده کنید. مقادیر مجاز با رابط وب سازگار است و شامل موارد زیر است:
  • DEFAULT - پاسخ را با اندازه نمونه برمی‌گرداند که سرعت و دقت را متعادل می‌کند.
  • FASTER - پاسخ سریع با حجم نمونه کوچکتر را برمی گرداند.
  • HIGHER_PRECISION - با استفاده از حجم نمونه بزرگ، پاسخ دقیق تری را نشان می دهد، اما ممکن است منجر به کندتر شدن پاسخ شود.
در صورت عدم ارائه، از سطح نمونه گیری DEFAULT استفاده خواهد شد.
برای جزئیات نحوه محاسبه درصد جلساتی که برای یک پرس و جو استفاده شده است، به بخش Sampling مراجعه کنید.

بازگشت به بالا


حداکثر نتایج

max-results=100
اختیاری.

حداکثر تعداد ردیف هایی که باید در این پاسخ گنجانده شود. می‌توانید از آن در ترکیب با start-index برای بازیابی زیرمجموعه‌ای از عناصر استفاده کنید، یا از آن به تنهایی برای محدود کردن تعداد عناصر بازگشتی استفاده کنید، از اول شروع کنید. اگر max-results ارائه نشود، پرس و جو حداکثر 1000 ردیف را برمی گرداند.

API گزارش قیف چند کانالی حداکثر 10000 ردیف را برای هر درخواست برمی گرداند، مهم نیست که چند ردیف درخواست کنید. همچنین می‌تواند ردیف‌های کمتری را نسبت به درخواستی بازگرداند، اگر بخش‌های بعدی آن‌قدر که انتظار دارید وجود نداشته باشد. به عنوان مثال، کمتر از 300 مقدار ممکن برای mcf:medium وجود دارد، بنابراین وقتی فقط بر اساس متوسط ​​تقسیم می‌شوید، نمی‌توانید بیش از 300 ردیف دریافت کنید، حتی اگر max-results روی مقدار بالاتری تنظیم کنید.

بازگشت به بالا


واکنش

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

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

فرمت پاسخ

JSON
{
  "kind": "analytics#mcfData",
  "id": string,
  "query": {
    "start-date": string,
    "end-date": string,
    "ids": string,
    "dimensions": [
      string
    ],
    "metrics": [
      string
    ],
    "sort": [
      string
    ],
    "filters": string,
    "samplingLevel": string,
    "start-index": integer,
    "max-results": integer
  },
  "itemsPerPage": integer,
  "totalResults": integer,
  "selfLink": string,
  "previousLink": string,
  "nextLink": string,
  "profileInfo": {
    "profileId": string,
    "accountId": string,
    "webPropertyId": string,
    "internalWebPropertyId": string,
    "profileName": string,
    "tableId": string
  },
  "containsSampledData": boolean,
  "sampleSize": string,
  "sampleSpace": string,
  "columnHeaders": [
    {
      "name": string,
      "columnType": string,
      "dataType": string
    }
  ],
  "totalsForAllResults": [
    {
      metricName: string,
      ...
    }
  ]
  "rows": [
    [
      McfData.Rows
    ]
  ],
}

بازگشت به بالا

فیلدهای پاسخ

خواص ساختار بدن پاسخ به شرح زیر تعریف می شود:

نام ملک ارزش شرح
kind string نوع منبع مقدار "analytics#mcfData" است.
id string شناسه ای برای این پاسخ داده.
query object این شی شامل تمام مقادیر ارسال شده به عنوان پارامتر به پرس و جو است. معنی هر فیلد در توضیح پارامتر پرس و جوی مربوطه آن توضیح داده شده است.
query.start-date string تاریخ شروع.
query.end-date string تاریخ پایان.
query.ids string شناسه جدول منحصر به فرد
query.dimensions[] list فهرست ابعاد تجزیه و تحلیل
query.metrics[] list فهرست معیارهای تحلیلی
query.sort[] list فهرست معیارها یا ابعادی که داده ها بر اساس آنها مرتب شده اند.
query.filters string فهرست فیلترهای متریک یا ابعاد جدا شده با کاما.
query.samplingLevel string Requested sampling level.
query.start-index integer شاخص شروع ردیف ها. مقدار پیش فرض 1 است.
query.max-results integer حداکثر نتایج در هر صفحه
startIndex integer شاخص شروع سطرها که توسط پارامتر جستجوی start-index مشخص شده است. مقدار پیش فرض 1 است.
itemsPerPage integer حداکثر تعداد ردیف‌هایی که پاسخ می‌تواند داشته باشد، صرف‌نظر از تعداد واقعی ردیف‌های برگشتی. اگر پارامتر query max-results مشخص شده باشد، مقدار itemsPerPage کوچکتر از max-results یا 10000 است. مقدار پیش فرض itemsPerPage 1000 است.
totalResults integer تعداد کل ردیف ها در نتیجه پرس و جو، صرف نظر از تعداد ردیف های برگشت داده شده در پاسخ. برای جستارهایی که منجر به تعداد زیادی ردیف می شود، totalResults می تواند بزرگتر از itemsPerPage باشد. برای توضیحات بیشتر در مورد totalResults و itemsPerPage برای جستارهای بزرگ به صفحه بندی مراجعه کنید.
profileInfo object اطلاعات مربوط به نمای (نمایه) که داده برای آن درخواست شده است. اطلاعات مشاهده (نمایه) از طریق API مدیریت Google Analytics در دسترس است.
profileInfo.profileId string مشاهده شناسه (نمایه)، مانند 1174 .
profileInfo.accountId string شناسه حسابی که این نما (نمایه) به آن تعلق دارد، مانند 30481 .
profileInfo.webPropertyId string شناسه دارایی وب که این نما (نمایه) به آن تعلق دارد، مانند UA-30481-1 .
profileInfo.internalWebPropertyId string شناسه داخلی ویژگی وب که این نما (نمایه) به آن تعلق دارد، مانند UA-30481-1 .
profileInfo.profileName string نام نما (نمایه).
profileInfo.tableId string شناسه جدول برای مشاهده (نمایه)، متشکل از "ga:" و سپس شناسه نمایش (نمایه).
containsSampledData boolean اگر پاسخ حاوی داده های نمونه برداری شده باشد درست است.
sampleSize string تعداد نمونه های مورد استفاده برای محاسبه داده های نمونه برداری شده .
sampleSpace string اندازه کل فضای نمونه برداری این نشان دهنده حجم کل فضای نمونه موجود است که نمونه ها از آن انتخاب شده اند.
columnHeaders[] list سرصفحه‌های ستونی که نام ابعاد را به دنبال نام متریک فهرست می‌کنند. ترتیب ابعاد و معیارها مانند مواردی است که از طریق پارامترهای metrics و dimensions در درخواست مشخص شده است. تعداد هدرها تعداد ابعاد + تعداد معیارها است.
columnHeaders[].name string نام بعد یا متریک.
columnHeaders[].columnType string نوع ستون. یا "DIMENSION" یا "METRIC".
columnHeaders[].dataType string نوع داده. سرصفحه‌های ستون ابعاد فقط "STRING" یا "MCF_SEQUENCE" را به عنوان نوع داده دارند. سرصفحه های ستون متریک دارای انواع داده برای مقادیر متریک مانند "INTEGER" ، "DOUBLE" ، "CURRENCY" و غیره است.
totalsForAllResults object مجموع مقادیر برای معیارهای درخواستی به عنوان جفت نام‌ها و مقادیر معیارهای کلید-مقدار. ترتیب مجموع متریک همان ترتیب متریک مشخص شده در درخواست است.
rows[] list

ردیف های داده را گزارش کنید، که در آن هر ردیف حاوی لیستی از اشیاء Mcf.Rows است. این لیست داخلی مقادیر ابعاد را به دنبال مقادیر متریک به همان ترتیبی که در درخواست مشخص شده است نشان می دهد. هر ردیف فهرستی از N فیلد دارد که در آن N = تعداد ابعاد + تعداد معیارها.

یک شی Mcf.Rows شی دیگری را می‌پیچد که می‌تواند از نوع primitiveValue یا conversionPathValue باشد. مقادیر ابعاد می توانند از هر دو نوع باشند در حالی که همه مقادیر متریک از نوع primitiveValue هستند.

یک primitiveValue به سادگی رشته ای است که در یک شی پیچیده شده است. مثلا:

{
  "primitiveValue": "2183"
}

یک conversionPathValue یک شی است که دور یک آرایه از اشیاء پیچیده شده است، جایی که هر شی شامل یک رشته nodeValue و یک رشته interactionType اختیاری است. مثلا:

{
  "conversionPathValue": [
    {
      "interactionType" : "CLICK",
      "nodeValue" : "google"
    },
    {
      "interactionType" : "CLICK",
      "nodeValue" : "google"
    }
  ]
}

بازگشت به بالا

کدهای خطا

در صورت موفقیت آمیز بودن درخواست، API گزارش قیف چند کانالی، کد وضعیت HTTP 200 را برمی گرداند. اگر در حین پردازش یک پرس و جو خطایی رخ دهد، API یک کد خطا و توضیحات را برمی گرداند. هر برنامه ای که از API تجزیه و تحلیل استفاده می کند، باید منطق مدیریت خطا را به درستی پیاده سازی کند. برای جزئیات بیشتر در مورد کدهای خطا و نحوه رسیدگی به آنها، راهنمای مرجع پاسخ به خطا را بخوانید.

بازگشت به بالا

آن را امتحان کنید!

از APIs Explorer زیر برای فراخوانی این روش در داده‌های زنده و دیدن پاسخ استفاده کنید.

بازگشت به بالا

نمونه برداری

گوگل آنالیتیکس ترکیب خاصی از ابعاد و معیارها را در لحظه محاسبه می کند. برای بازگرداندن داده ها در یک زمان معقول، Google Analytics فقط ممکن است نمونه ای از داده ها را پردازش کند.

با تنظیم پارامتر samplingLevel می توانید سطح نمونه برداری را برای استفاده برای یک درخواست مشخص کنید.

اگر یک پاسخ API گزارش MCF حاوی داده های نمونه برداری شده باشد، فیلد پاسخ containsSampledData true خواهد بود. علاوه بر این، 2 ویژگی اطلاعاتی در مورد سطح نمونه‌گیری برای پرس و جو ارائه می‌کنند: sampleSize و sampleSpace . با این 2 مقدار می توانید درصد جلساتی که برای پرس و جو استفاده شده است را محاسبه کنید. به عنوان مثال، اگر sampleSize 201,000 و sampleSpace 220,000 باشد، گزارش بر اساس (201,000 / 220,000) * 100 = 91.36٪ از جلسات است.

برای توضیح کلی نمونه گیری و نحوه استفاده از آن در گوگل آنالیتیکس به Sampling مراجعه کنید.

بازگشت به بالا

مدیریت نتایج داده های بزرگ

اگر انتظار دارید پرس و جو شما مجموعه نتایج بزرگی را برگرداند، از دستورالعمل های زیر استفاده کنید تا به شما کمک کند پرس و جوی API خود را بهینه کنید، از خطاها جلوگیری کنید و بیش از حد سهمیه را به حداقل برسانید. توجه داشته باشید که ما با مجاز کردن حداکثر 7 بعد و 10 معیار در هر درخواست API، یک خط پایه عملکرد تنظیم می‌کنیم. اگرچه پردازش برخی از پرس و جوهایی که تعداد زیادی معیار و ابعاد را مشخص می کنند ممکن است نسبت به سایرین بیشتر طول بکشد، محدود کردن تعداد معیارهای درخواستی ممکن است برای بهبود عملکرد پرس و جو کافی نباشد. در عوض، می توانید از تکنیک های زیر برای بهترین نتایج عملکرد استفاده کنید.

کاهش ابعاد در هر پرس و جو

API اجازه می دهد تا حداکثر 7 بعد را در هر درخواست مشخص کنید. بسیاری از اوقات، گوگل آنالیتیکس باید نتایج این پرس و جوهای پیچیده را در لحظه محاسبه کند. اگر تعداد ردیف‌های حاصل زیاد باشد، این امر می‌تواند زمان‌بر باشد. به عنوان مثال، جستجو برای کلمات کلیدی، بر اساس شهر به ساعت ممکن است با میلیون ها ردیف داده مطابقت داشته باشد. می‌توانید با کاهش تعداد ردیف‌هایی که Google Analytics باید پردازش کند، با محدود کردن تعداد ابعاد در جستجوی خود، عملکرد را بهبود بخشید.

تقسیم پرس و جو بر اساس محدوده تاریخ

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

صفحه بندی

صفحه‌بندی از طریق نتایج می‌تواند راهی مفید برای شکستن مجموعه‌های بزرگ نتایج به قطعات قابل مدیریت باشد. فیلد totalResults تعداد ردیف‌های منطبق را نشان می‌دهد و itemsPerPage حداکثر تعداد ردیف‌هایی را می‌دهد که می‌توان در نتیجه برگرداند. اگر نسبت totalResults به itemsPerPage زیاد باشد، ممکن است درخواست‌های فردی بیش از حد لازم طول بکشد. اگر فقط به تعداد محدودی ردیف نیاز دارید، مثلاً برای اهداف نمایشی، ممکن است برایتان مناسب باشد که یک محدودیت صریح در اندازه پاسخ را از طریق پارامتر max-results تعیین کنید. با این حال، اگر برنامه شما نیاز به پردازش مجموعه بزرگی از نتایج به طور کامل داشته باشد، ممکن است درخواست حداکثر ردیف های مجاز کارآمدتر باشد.

با استفاده از gzip

یک راه آسان و راحت برای کاهش پهنای باند مورد نیاز برای هر درخواست، فعال کردن فشرده‌سازی gzip است. اگرچه این امر به زمان اضافی CPU برای فشرده سازی نتایج نیاز دارد، معاوضه با هزینه های شبکه معمولاً آن را بسیار ارزشمند می کند. برای دریافت پاسخ کدگذاری شده با gzip، باید دو کار انجام دهید: یک هدر Accept-Encoding تنظیم کنید، و عامل کاربری خود را طوری تغییر دهید که شامل رشته gzip باشد. در اینجا نمونه ای از هدرهای HTTP که به درستی شکل گرفته اند برای فعال کردن فشرده سازی gzip آورده شده است:

Accept-Encoding: gzip
User-Agent: my program (gzip)