اطّلِع على الأقسام أدناه للتعرّف على كيفية إنشاء تقارير البحث في 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".