التقسيم

تتوفّر الشرائح في واجهة مستخدم "إعلانات 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. يتم عرض الحقل resource_name الخاص بالمرجع في عبارة FROM، ويتم تقسيم المقاييس حسب هذا الحقل، حتى إذا لم يتم تضمين الحقل resource_name بشكل صريح في طلب البحث. على سبيل المثال، عند تحديد ad_group كمورد في بند برمجي FROM، سيتم تلقائيًا عرض 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"
      }
    }
  ]
}

يتم دائمًا عرض الحقل resource_name الخاص بالكائن adGroup لأنّ ad_group تم تحديده كمورد في عبارة FROM.

search_term_view

يتم أيضًا تقسيم مورد search_term_view ضمنيًا حسب المجموعة الإعلانية، وليس فقط حسب عبارة البحث، كما يتضح من بنية اسم المورد، الذي يتضمّن أيضًا المجموعة الإعلانية. لذلك، قد تتلقّى صفوفًا تبدو مكرّرة تتضمّن عبارات البحث نفسها في نتائجك عندما تنتمي هذه الصفوف إلى مجموعات إعلانية مختلفة:

{
  "results":[
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~2222222222~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"3"
      },
      "segments":{
        "date":"2024-06-15"
      }
    },
    {
      "searchTermView":{
        "resourceName":"customers/1234567890/searchTermViews/111111111~33333333333~Z29vZ2xlIHBob3RvcyBpb3M",
        "searchTerm":"google photos"
      },
      "metrics":{
        "impressions":"2"
      },
      "segments":{
        "date":"2024-06-15"
      }
    }
  ]
}

على الرغم من أنّ العنصرَين المعروضَين في هذا المثال يبدوان متطابقَين، إلا أنّ اسمَي الموردَين مختلفان في الواقع، لا سيما في جزء معرّف المجموعة الإعلانية. وهذا يعني أنّه تم تحديد مصدر عبارة البحث "google photos" على أنّه مجموعتان إعلانيتان (المعرّف 2222222222 و33333333333) في التاريخ نفسه (2024-06-15). وبالتالي، عملت واجهة برمجة التطبيقات على النحو المطلوب ولم تعرض عناصر مكرّرة في هذه الحالة.

حقول الشرائح القابلة للاختيار

لا يمكن اختيار جميع حقول الشرائح لمورد معيّن في عبارة FROM. على سبيل المثال، لنفترض أنّك ستواصل طلب البحث من المورد ad_group. لكي يكون حقل شريحة قابلاً للاختيار من مصدر ad_group، يجب أن يكون هذا الحقل متوفّرًا في قائمة Segments الخاصة بـ ad_group. قائمة Segments هي الجزء الأصفر من جدول الحقول المتاحة في صفحة البيانات الوصفية الخاصة بمصدر ad_group.

مراجع الشرائح

عند الاختيار من بعض المراجع، قد يتوفّر لك خيار الربط الضمني بالمراجع ذات الصلة من خلال اختيار حقولها إلى جانب حقول المرجع في عبارة FROM. يمكن العثور على هذه المراجع ذات الصلة في قائمة Attributed Resources ضمن المرجع في صفحة بيانات FROM. في حالة المرجع ad_group، سيظهر لك أنّه يمكنك أيضًا اختيار حقول من المرجع campaign. يتم تلقائيًا عرض الحقل resource_name لأي Attributed Resources يتضمّن حقلًا واحدًا على الأقل في بند برمجي SELECT، حتى إذا لم يتم تضمين الحقل resource_name بشكل صريح في طلب البحث.

كما هو الحال عند اختيار حقول Attributed Resource، يمكنك أيضًا اختيار حقول Segmenting Resource. إذا كان أحد المراجع يتضمّن Segmenting Resourcesقائمة في صفحة البيانات الوصفية الخاصة به، سيؤدي اختيار حقول من أحد المراجع المدرَجة إلى تقسيم طلب البحث بشكل أكبر حسب resource_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، سيتم حصر الشرائح المتبقية المتاحة للاختيار في التقاطع بين هاتين القائمتين.

القيود المفروضة على الشرائح المشترَكة

تتضمّن بعض حقول الشرائح قيود اختيار صريحة تتطلّب طلبها مع شريحة رئيسية في عبارة SELECT:

  • يتطلّب اختيار segments.ad_sub_network_type (الذي يقسّم الشبكات الفرعية للإعلانات على YouTube، مثل "الإعلانات أثناء عرض الفيديو" و"الإعلانات ضمن الخلاصة" و"الإعلانات على Shorts") اختيار segments.ad_network_type أيضًا.
  • في الإصدار 25 والإصدارات الأحدث، يتطلّب اختيار segments.ad_sub_format_type (الذي يقسّم الإعلانات غير القابلة للتخطّي أثناء عرض الفيديو على YouTube حسب المدة) أن تختار أيضًا segments.ad_format_type.

الفلترة الضمنية من خلال اختيار الشرائح

عند اختيار حقول شرائح معيّنة في طلب البحث، قد تعمل Google Ads API ضمنيًا على فلترة النتائج لتضمين الصفوف التي تنطبق فيها شريحة الجمهور هذه والتي تتضمّن قيمة فقط.

تأثير segments.keyword.*

يحدث مثال شائع ومهم لهذا السلوك عند اختيار أي حقل ضمن segments.keyword (مثل segments.keyword.info.text وsegments.keyword.ad_group_criterion):

  • استبعاد الزيارات غير المستندة إلى كلمات رئيسية: إذا أدرجت أي حقل segments.keyword.* في بندك البرمجي SELECT، سيؤدي ذلك إلى حصر النتائج في الصفوف المرتبطة مباشرةً بمعيار مجموعة إعلانية لكلمة رئيسية على "شبكة البحث".
  • أنواع الحملات المتأثّرة: نتيجةً لذلك، يتم استبعاد البيانات من أنواع الحملات أو المجموعات الإعلانية التي لا تعتمد على الكلمات الرئيسية على شبكة البحث من النتائج. ويشمل ذلك على سبيل المثال لا الحصر:
    • الإعلانات الديناميكية على شبكة البحث: لأنّ استهدافات الإعلانات الديناميكية على شبكة البحث تستند إلى محتوى الموقع الإلكتروني وليس إلى الكلمات الرئيسية.
    • حملات Shopping: تستخدِم مجموعات المنتجات بدلاً من الكلمات الرئيسية.
    • "حملات الأداء الأفضل": على الرغم من أنّ "حملات الأداء الأفضل" قد تعرض إعلانات على شبكة البحث، لا يتم عادةً تقسيم تقاريرها حسب معايير الكلمات الرئيسية نفسها.
  • الشبكة الإعلانية: تشير حقول segments.keyword.* إلى الكلمات الرئيسية المستخدَمة على شبكة البحث. ولا يتم تقسيمها حسب الكلمات الرئيسية على الشبكة الإعلانية أو طرق الاستهداف الأخرى على الشبكة الإعلانية.

قواعد الشرائح في عبارة 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 >= '2024-01-01'
  AND segments.date <= '2024-01-31'
صالح: يعرض هذا الاستعلام أسماء الحملات والنقرات مقسّمة حسب التاريخ لجميع الأيام في النطاق الزمني الشامل.
SELECT
  campaign.name,
  metrics.clicks,
  segments.date
FROM campaign
WHERE segments.date >= '2024-01-01'
  AND segments.date <= '2024-01-31'
صالح: يعرض طلب البحث هذا أسماء الحملات والنقرات مقسّمة حسب الشهر لجميع الأيام في النطاق الزمني الشامل.
SELECT
  campaign.name,
  metrics.clicks,
  segments.month
FROM campaign
WHERE segments.date >= '2024-01-01'
  AND segments.date <= '2024-01-31'
صالح: يعرض هذا الاستعلام أسماء الحملات والنقرات مقسّمة حسب ربع السنة ثم حسب الشهر لجميع الأشهر في النطاق الزمني الشامل للسنة.
SELECT
  campaign.name,
  metrics.clicks,
  segments.quarter,
  segments.month
FROM campaign
WHERE segments.year >= 2020
  AND segments.year <= 2024