يمكن تنفيذ التقسيم، المتاح في واجهة مستخدم "إعلانات Google" كقائمة منفصلة، في Google Ads API من خلال إضافة الحقل المناسب إلى طلب البحث. على سبيل المثال، عند إضافة السمة segments.device
إلى طلب بحث، يتم إنشاء تقرير يتضمّن صفًا لكل مجموعة من الأجهزة والمورد المحدَّد في عبارة FROM
، وتقسيم القيم الإحصائية (مرات الظهور والنقرات والإحالات الناجحة وما إلى ذلك) بينهما.
بينما لا يمكن استخدام سوى شريحة واحدة في كل مرة في واجهة مستخدم "إعلانات Google"، يمكنك من خلال واجهة برمجة التطبيقات تحديد شرائح متعددة في طلب البحث نفسه.
SELECT
campaign.name,
campaign.status,
segments.device,
metrics.impressions
FROM campaign
ستبدو نتائج إرسال هذا الطلب إلى
GoogleAdsService.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"
}
},
...
]
}
لاحظ أنه في نتيجة النموذج أعلاه، تكون سمات الكائنات الأولى والثانية التي تتضمن اسم المورد متطابقة. يتم تقسيم مرّات الظهور حسب الجهاز، وبالتالي يمكن عرض عنصرَين أو أكثر للحملة نفسها.
التقسيم الضمني
يتم تقسيم كل تقرير في البداية حسب المورد المحدّد في عبارة FROM
. يتم عرض حقل resources_name للمورد في عبارة FROM
ويتم تقسيم المقاييس حسبه، حتى إذا لم يتم تضمين الحقل resources_name بشكل صريح في طلب البحث. على سبيل المثال، عند تحديد
ad_group
كمورد في عبارة FROM
، سيتم عرض
ad_group.resource_name
تلقائيًا وسيتم تقسيم المقاييس إليه ضمنًا على مستوى
المجموعة الإعلانية.
لذلك بالنسبة لهذا الاستعلام،
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"
}
}
]
}
يُرجى العِلم أنّه يتم دائمًا عرض الحقل resource_name
في adGroup
بسبب تحديد ad_group
كمورد في عبارة FROM
.
حقول الأقسام القابلة للاختيار
ليست كل حقول الأقسام قابلة للاختيار لمورد معيَّن في عبارة FROM
.
على سبيل المثال، سنواصل إجراء طلبات البحث من المرجع ad_group
. ليكون حقل الشريحة قابلاً للاختيار من مورد "المجموعة الإعلانية"، يجب توفُّر هذا الحقل في قائمة "Segments
" للمجموعة الإعلانية. قائمة Segments
هي الجزء الأصفر من جدول الحقول المتاحة على صفحة البيانات الوصفية لمورد ad_group
.
تقسيم الموارد
عند الاختيار من بين بعض الموارد، قد يتوفّر لك خيار الانضمام ضمنيًا إلى الموارد ذات الصلة من خلال اختيار حقولها إلى جانب حقول المورد في عبارة FROM
. ويمكن العثور على هذه الموارد ذات الصلة في قائمة "Attributed Resources
" على المورد ضمن صفحة البيانات الوصفية الخاصة بالعبارة FROM
. في حال استخدام المورد ad_group
، سيكون بإمكانك أيضًا اختيار حقول من المرجع campaign
. وسيتم تلقائيًا عرض حقل resources_name لأي Attributed Resources
يتضمن حقلاً واحدًا على الأقل
في عبارة SELECT
، حتى إذا لم يتم تضمين حقلresource_name بشكل صريح في طلب البحث.
مثلما تختار حقول Attributed Resource
، يمكنك أيضًا اختيار حقول Segmenting Resource
. إذا تضمّن مورد معيّن قائمة Segmenting Resources
على صفحة البيانات الوصفية الخاصة به، سيؤدي اختيار الحقول من أحد هذه الموارد المدرَجة إلى تقسيم طلب البحث حسب resources_name المعروض الخاص بـ Segmenting Resource
. على سبيل المثال، ستجد أنّ
مورد campaign
مُدرج على أنّه Segmenting Resource
لمورد campaign_budget
. عند اختيار أيّ
حقل حملة، مثل campaign.name
، من
مورد campaign_Budget، لن يؤدّي اختيار حقل campaign.name
فقط إلى إرجاع الحقل
campaign.resource_name
وتقسيمه.
إمكانية الاختيار بين الشرائح والمقاييس
وقد لا يكون حقل شريحة معيّن متوافقًا مع بعض حقول الأقسام الأخرى أو مع بعض حقول المقاييس. لتحديد حقول الأقسام المتوافقة مع بعضها، يمكنك مراجعة قائمة selectable_with
للأقسام في عبارة SELECT
.
وفي حال استخدام المورد ad_group
، يتوفّر أكثر من 50 شريحة يمكنك اختيارها. في المقابل، تشمل قائمة selectable_with
الخاصة بـ
segments.hotel_check_in_date
مجموعة أصغر بكثير من الشرائح المتوافقة. وهذا يعني أنّك إذا أضفت الحقل
segments.hotel_check_in_date
إلى عبارة SELECT
، ستقتصر
على الشرائح المتاحة التي يتبقّى لتحديدها عند تقاطع هاتين القائمتين.
- عند إضافة بعض الشرائح، قد تنخفض المقاييس في صف الملخّص
- عند إضافة
segments.keyword.info.match_type
إلى طلب بحث باستخدامFROM ad_group_ad
، تطلب هذه الشريحة من طلب البحث الحصول فقط على صفوف البيانات التي تحتوي على كلمات رئيسية وإزالة أي صف غير مرتبط بكلمة رئيسية. في هذه الحالة، ستكون المقاييس أقل لأنّها ستستبعد أي مقاييس غير متعلّقة بالكلمات الرئيسية.
قواعد المقاطع في عبارة WHERE
عند تضمين مقطع في عبارة WHERE
، يجب أن يكون أيضًا ضمن عبارة SELECT
. وتُستثنى من هذه القاعدة شرائح التاريخ التالية، والتي
يُشار إليها باسم شرائح التاريخ الأساسي:
segments.date
segments.week
segments.month
segments.quarter
segments.year
قواعد حقول شريحة التاريخ الأساسي
وظائف الشرائح segments.date
وsegments.week
وsegments.month
وsegments.quarter
وsegments.year
على النحو التالي:
يمكن فلترة هذه المقاطع في عبارة
WHERE
بدون ظهورها في البندSELECT
.إذا كان أي من هذه الشرائح مُدرجًا في الفقرة
SELECT
، يجب تحديد نطاق زمني محدود مكوّن من شرائح التاريخ الأساسي في عبارةWHERE
(ليس من الضروري أن تكون شرائح التاريخ هي نفسها المحدّدة فيSELECT
).
أمثلة
غير صالح: بما أنّ السمة segments.date مضمّنة في الفقرة SELECT ، يجب تحديد نطاق زمني محدّد في البند WHERE لكل من segments.date أو segments.week أو segments.month أو segments.quarter أو segments.year .
|
SELECT campaign.name, metrics.clicks, segments.date FROM campaign |
صالح: يعرض طلب البحث هذا أسماء الحملات
والنقرات التي تم تسجيلها خلال النطاق الزمني. يُرجى العِلم أنّ العلامة segments.date لا تحتاج إلى الظهور في عبارة SELECT .
|
SELECT campaign.name, metrics.clicks FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
صالح: يعرض طلب البحث هذا أسماء الحملات والنقرات مقسّمة حسب التاريخ لجميع الأيام في النطاق الزمني. |
SELECT campaign.name, metrics.clicks, segments.date FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
صالح: يعرض طلب البحث هذا أسماء الحملات والنقرات مقسّمة حسب الشهر لجميع الأيام في النطاق الزمني. |
SELECT campaign.name, metrics.clicks, segments.month FROM campaign WHERE segments.date > '2020-01-01' AND segments.date < '2020-02-01' |
صالح: يعرض طلب البحث هذا أسماء الحملات والنقرات مقسّمة حسب ربع السنة ثم حسب الشهر لجميع الأشهر في نطاق السنة. |
SELECT campaign.name, metrics.clicks, segments.quarter, segments.month FROM campaign WHERE segments.year > 2015 AND segments.year < 2020 |
search_term_view
ويُرجى العِلم بأنّه بالنسبة إلى
المورِّد search_term_view
، يتم أيضًا تقسيمه ضمنيًا حسب المجموعة الإعلانية، وليس فقط عبارة بحث، كما تنعكس في بنية اسم المورد التي يستند إليها
وتشمل المجموعة الإعلانية أيضًا. وبالتالي، ستحصل على بعض الصفوف التي تبدو مكرّرة مع ظهور عبارات البحث نفسها في نتائجك بينما تنتمي الصفوف في الواقع إلى مجموعة إعلانية مختلفة:
{
"results":[
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"3"
},
"segments":{
"date":"2015-06-15"
}
},
{
"searchTermView":{
"resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
"searchTerm":"google photos"
},
"metrics":{
"impressions":"2"
},
"segments":{
"date":"2015-06-15"
}
}
]
}
رغم أن العنصرين المعروضين في هذا المثال يبدو أنهما مكرّران،
فإن أسماء مواردهما مختلفة في الواقع، لا سيما في الجزء "المجموعة الإعلانية". وهذا يعني أن عبارة البحث "صور Google" تُنسب إلى المجموعتين الإعلانيتين (المعرّف 2222222222
و33333333333
) في التاريخ نفسه (15-06-2015).
وبالتالي، يمكننا أن نستنتج أن واجهة برمجة التطبيقات عملت على النحو المنشود ولم تعرض كائنات مكررة في هذه الحالة.