التقسيم

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

تقسيم الموارد

عند الاختيار من بعض الموارد، قد يتوفر لك خيار الانضمام ضمنيًا على الموارد ذات الصلة بتحديد حقولها إلى جانب حقول المصدر في عبارة FROM. يمكن العثور على هذه الموارد ذات الصلة في قائمة Attributed Resources للمورد في البيانات الوصفية للفقرة FROM . في حال استخدام مورد ad_group، سترى يمكنك أيضًا اختيار حقول من campaign. المصدر. يشير هذا الحقل إلى الحقل resources_name لأي Attributed Resources مع ما لا يقل عن واحد في عبارة SELECT تلقائيًا، حتى إذا كانت لم يتم تضمين الحقل resources_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). وبالتالي، يمكننا أن نستنتج أن واجهة برمجة التطبيقات عملت على النحو المنشود ولم تعرض الكائنات المكررة في هذه الحالة.