التقسيم

تتوفّر ميزة التقسيم في واجهة مستخدم "إعلانات 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، سيؤدي ذلك إلى حصر النتائج بالصفوف المرتبطة مباشرةً بمعيار المجموعة الإعلانية للكلمات الرئيسية على "شبكة البحث".
  • أنواع الحملات المتأثرة: نتيجةً لذلك، يتم استبعاد البيانات من أنواع الحملات أو المجموعات الإعلانية التي لا تعتمد على الكلمات الرئيسية على "شبكة البحث" من النتائج. ويشمل ذلك على سبيل المثال لا الحصر:
    • الإعلانات الديناميكية على شبكة البحث: لأنّ استهدافات "الإعلانات الديناميكية على شبكة البحث" تستند إلى محتوى الموقع الإلكتروني وليس الكلمات الرئيسية.
    • حملات تسوّق: تستخدم مجموعات المنتجات بدلاً من الكلمات الرئيسية.
    • حملات الأداء الأفضل: على الرغم من أنّ "حملات الأداء الأفضل" قد تظهر على "شبكة بحث Google"، لا يتم عادةً تقسيم تقاريرها حسب معايير الكلمات الرئيسية نفسها.
  • الشبكة الإعلانية: تتعلّق حقول 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