اطّلِع على الأقسام أدناه للتعرّف على كيفية إنشاء تقارير البحث في Search Ads 360 Reporting API.
خدمة البحث
توفّر Search Ads 360 Reporting API خدمة خاصة للبحث و إعداد التقارير.
SearchAds360Service
هي خدمة موحّدة لاسترداد العناصر وإعداد التقارير،
وتقدّم طريقتَي بحث: SearchStream
وSearch
. تتم إرسال عمليات البحث
في سلسلة طلب بحث مكتوبة بلغة طلبات البحث في "إعلانات شبكة البحث 360". يمكنك تحديد طلبات البحث لإجراء ما يلي:
- استرداد سمات محدّدة للكائنات
- استرداد مقاييس الأداء للكائنات استنادًا إلى نطاق زمني
- ترتيب العناصر استنادًا إلى سماتها
- فلترة النتائج باستخدام شروط تحدّد العناصر التي سيتم عرضها
- الحد من عدد العناصر المعروضة
تعرض كلتا طريقتَي البحث جميع الصفوف التي تتطابق مع طلب البحث. على سبيل المثال، عند retrievingcampaign.id
وcampaign.name
وmetrics.clicks
، تعرض واجهة برمجة التطبيقاتSearchAds360Row
التي تحتوي على عنصر حملة تم ضبط حقلَيid
وname
فيه، وعنصر metrics
تم ضبط حقلclicks
فيه.
طرق البحث
SearchStream
تُرسِل طلبًا واحدًا وتُنشئ اتصالاً دائمًا بواجهة برمجة التطبيقات Search Ads 360 Reporting API بغض النظر عن حجم التقرير.
- تبدأ حِزم البيانات بالتنزيل على الفور مع تخزين النتيجة بالكامل في ذاكرة تخزين مؤقت للبيانات.
- يمكن أن تبدأ التعليمة البرمجية في قراءة البيانات المخزّنة مؤقتًا بدون الحاجة إلى الانتظار حتى اكتمال البث بالكامل.
Search
تُرسِل طلبات متعدّدة مُقسّمة إلى صفحات لتنزيل التقرير بأكمله.
يقدّم SearchStream
عادةً أداءً أفضل لأنّه يزيل
وقت التنقّل بين الشبكة والجهاز المطلوب لطلب صفحات فردية. ننصحك باستخدام
SearchStream
لجميع التقارير التي تضمّ أكثر من 10,000 صف. لا يُلاحظ اختلاف مهم
في الأداء بين الطرق المستخدَمة في التقارير الأصغر حجمًا (<10,000 صف).
لا تؤثّر الطريقة التي تستخدمها في الحصص والقيود الخاصة بواجهة برمجة التطبيقات: يتم احتساب طلب بحث أو تقرير واحد كعملية واحدة بغض النظر عمّا إذا كانت النتائج مُقسّمة إلى صفحات أو مُذاعة.
مثال على طلب بحث
يعرض مثال طلب البحث هذا بيانات الأداء لحساب خلال آخر 30 يومًا حسب الحملة، مقسّمة حسب الجهاز:
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions,
metrics.clicks,
metrics.ctr,
metrics.average_cpc,
metrics.cost_micros
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
تقديم طلب
لإصدار طلب، عليك تمرير سلسلة customer_id
وquery
إلى واجهة SearchAds360Service.SearchStream
أو SearchAds360Service.Search
.
يتألّف الطلب من POST
HTTP إلى خادم Search Ads 360 Reporting API
على أيّ من عناوين URL التالية:
https://searchads360.googleapis.com/VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:searchStream
https://searchads360.googleapis.com/VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:search
في ما يلي مثال كامل على تعريف التقرير المرسَل إلى searchStream
والمُدرَج في
طلب HTTP POST
:
POST /VERSION_NUMBER/customers/CUSTOMER_ID/searchads360:searchStream HTTP/1.1 Host: searchads360.googleapis.com User-Agent: curl Content-Type: application/json Accept: application/json Authorization: Bearer [OAUTH_2.0_ACCESS_TOKEN] Parameters: { "query" : "SELECT campaign.name, campaign.status, segments.device, metrics.impressions, metrics.clicks, metrics.ctr, metrics.average_cpc, metrics.cost_micros FROM campaign WHERE segments.date DURING LAST_30_DAYS" }
معالجة ردّ
تعرِض SearchAds360Service
قائمة بعناصر SearchAds360Row
.
يمثّل كل SearchAds360Row
عنصرًا يعرضه طلب البحث. يتألّف كل عنصر
من مجموعة من السمات التي تتم تعبئتها استنادًا إلى الحقول المطلوبة
في عبارة SELECT
من طلب البحث. لا يتمّ تعبئة السمات غير المضمّنة في العبارة SELECT
في العناصر الواردة في الاستجابة.
على سبيل المثال، يملؤ طلب البحث أدناه كل كائن SearchAds360Row
بالعناصر
campaign.id
وcampaign.name
وcampaign.status
فقط. ويتم حذف السمات الأخرى، مثل
campaign.engine_id
أو campaign.bidding_strategy_type
.
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
المستندات المرجعية
يتضمّن قسم المرجع
جميع المعلومات التي تحتاج إليها لاستخدام كل عنصر بشكل صحيح. تتوفّر
صفحة واحدة لكل مرجع، على سبيل المثال ad_group
و
campaign
.
تُدرِج صفحتا segments
وmetrics
جميع حقول الشرائح والمقاييس المتاحة.
بعض الموارد والشرائح والمقاييس غير متوافقة ولا يمكن استخدامها معًا، في حين أنّ بعضها الآخر متوافق تمامًا ويكمل بعضها البعض. تتضمّن كل صفحة مرجع المعلومات التالية (إذا كانت متاحة وملائمة) وغير ذلك:
- الموارد التي تمّ تحديد مصدرها
بالنسبة إلى بعض الموارد، قد يتوفّر لك خيار دمج موارد مرتبطة بشكل ضمني من خلال اختيار حقول تلك الموارد مع حقول المورد في عبارة
FROM
. على سبيل المثال، الموردcampaign
هو مورد منسَب للموردad_group
. وهذا يعني أنّه يمكنك تضمين حقول مثلcampaign.id
وcampaign.bidding_strategy_type
في طلب البحث عند استخدامad_group
في عبارةFROM
.يسرد قسم الموارد المنسوبة الموارد المنسوبة المتاحة. ليس لكل الموارد مصادر منسوبة.
- عمود حقول الموارد
يتم تضمين جميع حقول المورد في عمود حقول المورد. يرتبط كل حقل مورد بمزيد من التفاصيل حول الحقل، بما في ذلك الوصف والفئة ونوع البيانات وعنوان URL الخاص بالنوع والإعدادات القابلة للفلترة والاختيار والتصنيف والتكرار.
- عمود "شرائح الجمهور"
لا يمكن اختيار بعض حقول الشرائح باستخدام مورد معيّن.
يسرد عمود الشرائح حقول
segments
التي يمكنك استخدامها في عبارةSELECT
نفسها كحقول للمورد. يرتبط كل حقل بتفاصيل كاملة عن الحقل، بما في ذلك وصفه وفئة نوع البيانات ونوع عنوان URL وإعدادات الفلترة والاختيار والترتيب والتكرار. إذا كنت تستخدِم المورد في عبارةFROM
، يمكنك استخدام القائمة المنسدلة نعم/لا لفلترة الشرائح غير المتاحة.- عمود المقاييس
لا يمكن اختيار بعض حقول المقاييس باستخدام مورد معيّن.
يسرد عمود المقاييس حقول
metrics
التي يمكنك استخدامها في عبارةSELECT
نفسها كحقول للمورد. يرتبط كل حقل بتفاصيل كاملة عن الحقل، بما في ذلك وصفه وفئة نوع البيانات ونوع عنوان URL وإعدادات الفلترة والاختيار والترتيب والتكرار. إذا كنت تستخدم المورد في عبارةFROM
، استخدِم القائمة المنسدلة نعم/لا لfiltrare out المقاييس غير المتاحة.
- تقسيم الموارد
تحتوي بعض المراجع على حقول مرجعية لتقسيم البيانات يمكنك اختيارها عندما يكون المرجع في عبارة
FROM
. على سبيل المثال، إذا اخترت حقل موردcampaign
، مثلcampaign.name
، عند استخدامcampaign_budget
في عبارةFROM
، سيتم تلقائيًا عرضcampaign.resource_name
واستخدامه لتقسيم البيانات، لأنّcampaign
هو مورد لتقسيم البيانات فيcampaign_budget
.يسرد قسم موارد التقسيم موارد التقسيم المتاحة. ليس لكلّ الموارد موارد لتقسيمها.
- يمكن اختيارها باستخدام
بعض حقول
segments
غير متوافقة مع المراجع والشرائح والمقاييس الأخرى.تتضمّن صفحة
segments
عنصر قابل للاختيار باستخدام قابل للتوسيع لكل حقلsegments
يسرد جميع حقول الموارد المتوافقة وحقولmetrics
وغيرها من حقولsegments
التي يمكنك تضمينها في عبارةSELECT
.
التقسيم
يمكنك تقسيم نتائج البحث عن طريق إضافة حقل
segments.FIELD_NAME
إلى عبارة SELECT
في طلب البحث.
على سبيل المثال، يؤدي segments.device
في
طلب البحث أدناه إلى إنشاء تقرير يتضمّن صفًا لـ impressions
لكل
جهاز للمورد المحدّد في عبارة FROM
.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
تبدو النتائج التي يعرضها SearchAds360Service.SearchStream
مماثلة
لسلسلة JSON التالية:
{
"results":[
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"10922"
},
"segments":{
"device":"MOBILE"
}
},
{
"campaign":{
"resourceName":"customers/1234567890/campaigns/111111111",
"name":"Test campaign",
"status":"ENABLED"
},
"metrics":{
"impressions":"28297"
},
"segments":{
"device":"DESKTOP"
}
},
...
]
}
اطّلِع على segments
للحصول على
قائمة بحقول الشرائح المتاحة التي يمكنك استخدامها.
شرائح متعددة
يمكنك تحديد شرائح متعدّدة في جملة SELECT
من طلب البحث. يحتوي
الاستجابة على عنصر SearchAds360Row
واحد لكل تركيبة من
مثيل المورد الرئيسي المحدّد في عبارة FROM
و
القيمة لكل حقل segment
تم اختياره.
على سبيل المثال، سيعرض طلب البحث التالي صفًا واحدًا لكل مجموعة من
campaign
وsegments.ad_network_type
وsegments.date
.
SELECT
segments.ad_network_type
segments.date
FROM campaign
يُرجى العِلم أنّه يتم تقسيم النتائج بشكل ضمني حسب كل مثيل من المورد الرئيسي، ولكن ليس حسب قيم الحقول الفردية المحدّدة.
ينتج عن مثال طلب البحث التالي صف واحد لكل حملة، وليس صفًا واحدًا لكل قيمة مختلفة من الحقل campaign.status
.
SELECT
campaign.status,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
التصنيف الضمني
يتم تقسيم كل تقرير في البداية حسب المورد المحدّد في العبارة FROM
. يتم تقسيم المقاييس حسب حقل resource_name
في هذا المورد.
يعرض مثال طلب البحث هذا تلقائيًا ad_group.resource_name
ويستخدمه بشكل ضمني
لتقسيم المقاييس على مستوى ad_group
.
SELECT metrics.impressions
FROM ad_group
تبدو سلسلة JSON المعروضة على النحو التالي:
{
"results":[
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/2222222222"
},
"metrics":{
"impressions":"237"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/33333333333"
},
"metrics":{
"impressions":"15"
}
},
{
"adGroup":{
"resourceName":"customers/1234567890/adGroups/44444444444"
},
"metrics":{
"impressions":"0"
}
}
]
}
شرائح التاريخ الأساسية
يمكنك استخدام شرائح التاريخ الأساسية في عبارة WHERE
لتحديد تاريخ
أو فترة زمنية.
تُعرف حقول الشرائح التالية باسم شرائح البيانات الأساسية:
segments.date
وsegments.week
وsegments.month
وsegments.quarter
و
segments.year
.
يعرض مثال طلب البحث هذا مقاييس الحملة clicks
لآخر 30 يومًا.
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
تُعدّ حقول شرائح التواريخ الأساسية استثناءً للقاعدة العامة التي تنص على أنّه
لا يمكنك استخدام حقل شرائح في عبارة WHERE
، ما لم يتم أيضًا تضمين الحقل
في عبارة SELECT
. اطّلِع على الفلترة المحظورة للحصول على مزيد من
المعلومات.
قواعد شرائح الجمهور المستندة إلى البيانات الأساسية:
يمكنك استخدام حقل تاريخ أساسي في عبارة
WHERE
بدون تضمينه في عبارةSELECT
. يمكنك أيضًا تضمين الحقل في كلتا الفقرتين إذا أردت.يعرض مثال طلب البحث هذا مقاييس
clicks
حسب اسم الحملة خلال النطاق الزمني. يُرجى العلم أنّsegments.date
غير مضمّنة في العبارةSELECT
.SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2022-02-01' AND segments.date < '2022-03-01'
في حال تضمين حقل تاريخ أساسي في عبارة
SELECT
، يجب تحديد تاريخ أو نطاق زمني محدّد في عبارةWHERE
. ليس من الضروري أن تتطابق الحقول المحدّدة في كلّ من الجملSELECT
وWHERE
.يعرض مثال طلب البحث هذا مقاييس
clicks
حسب اسم الحملة مقسّمة حسب الشهر لجميع الأيام في النطاق الزمني.SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2022-02-01' AND segments.date < '2022-03-01'
تواريخ ISO 8601
يمكنك استخدام تنسيق YYYY-MM-DD
(ISO 8601) لتحديد التواريخ والنطاقات الزمنية،
على سبيل المثال:
WHERE segments.date BETWEEN '2022-06-01' AND '2022-06-30'
WHERE segments.date >= '2022-06-01' AND segments.date <= '2022-06-30'
بالنسبة إلى أقسام التاريخ الأساسية التي تتطلّب فترة زمنية (segments.week
وsegments.month
وsegments.quarter
)، يمكنك استخدام عامل التشغيل =
مع
اليوم الأول من الفترة الزمنية، على سبيل المثال:
WHERE segments.month = '2022-06-01'
التواريخ المحدّدة مسبقًا
يمكنك أيضًا استخدام التواريخ والنطاقات الزمنية المحدّدة مسبقًا التالية:
التواريخ المحدّدة مسبقًا | |
---|---|
TODAY |
اليوم فقط. |
YESTERDAY |
أمس فقط. |
LAST_7_DAYS |
آخر 7 أيام بدون اليوم |
LAST_BUSINESS_WEEK |
أسبوع العمل السابق الذي يضم 5 أيام (من الاثنين إلى الجمعة) |
THIS_MONTH |
جميع الأيام في الشهر الحالي |
LAST_MONTH |
كل أيام الشهر السابق |
LAST_14_DAYS |
آخر 14 يومًا باستثناء اليوم |
LAST_30_DAYS |
آخر 30 يومًا باستثناء اليوم |
THIS_WEEK_SUN_TODAY |
الفترة بين الأحد السابق واليوم الحالي |
THIS_WEEK_MON_TODAY |
الفترة بين الاثنين السابق واليوم الحالي |
LAST_WEEK_SUN_SAT |
فترة 7 أيام بدءًا من الأحد السابق |
LAST_WEEK_MON_SUN |
فترة 7 أيام بدءًا من يوم الاثنين السابق |
مثال:
WHERE segments.date DURING LAST_30_DAYS
المقاييس الصفرية
عند تنفيذ طلب بحث، قد تظهر لك مقاييس ذات قيمة صفر لبعض الكيانات. تعرَّف على كيفية التعامل مع المقاييس الصفرية في طلبات البحث.
أنواع التعداد UNKNOWN
إذا تم عرض مرجع باستخدام نوع البيانات UNKNOWN
enum، يعني ذلك أنّه
النوع غير متوافق بالكامل مع إصدار واجهة برمجة التطبيقات. قد يكون قد تم
إنشاء هذه المراجع من خلال واجهات أخرى. على سبيل المثال، تمّت
إدخال حملة أو إعلان جديدَين في واجهة مستخدم "إعلانات شبكة البحث 360"، ولكنّهما غير متاحَين بعد في إصدار واجهة برمجة التطبيقات
الذي تُجري عليه طلب بحث.
لا يزال بإمكانك اختيار المقاييس عندما يكون للمورد النوع UNKNOWN
، ولكن عليك مراعاة ما يلي:
- قد يصبح المورد من النوع
UNKNOWN
متوافقًا لاحقًا، ولكن قد يظلUNKNOWN
إلى أجل غير مسمى. - قد تظهر عناصر جديدة من النوع
UNKNOWN
في أي وقت. هذه العناصر متوافقة مع الإصدارات القديمة لأنّ قيمة التعداد متوفّرة حاليًا. نقدّم موارد تتعلّق بهذا التغيير عند توفّرها حتى تتمكّن من الاطّلاع على تقييم دقيق لحسابك. قد يظهر رمزUNKNOWN
بسبب نشاط جديد في حسابك من خلال واجهات أخرى أو لأنّ أحد الموارد لم يعُد متوافقًا رسميًا. - قد تكون موارد
UNKNOWN
مرتبطة بمقاييس تفصيلية يمكنك الاستعلام عنها. - تظهر عادةً
UNKNOWN
الموارد بالكامل في واجهة مستخدِم "إعلانات شبكة البحث 360".