संसाधन का मेटाडेटा

GoogleAdsFieldService का इस्तेमाल करके, संसाधनों, संसाधन के फ़ील्ड, सेगमेंटेशन कुंजियों, और GoogleAdsService Search और SearchStream तरीकों में उपलब्ध मेट्रिक के कैटलॉग के लिए डाइनैमिक तौर पर अनुरोध किया जा सकता है. कैटलॉग, ऐसा मेटाडेटा उपलब्ध कराता है जिसका इस्तेमाल Google Ads API क्लाइंट, Google Ads क्वेरी लैंग्वेज स्टेटमेंट की पुष्टि करने और उन्हें बनाने के लिए कर सकते हैं.

एचटीटीपी अनुरोध और जवाब का उदाहरण

अनुरोध में, Google Ads API सर्वर को भेजा गया HTTP GET शामिल होता है. यह सर्वर इस यूआरएल पर मौजूद है:

https://googleads.googleapis.com/v23/googleAdsFields/{resource_or_field}

यहां ad_group संसाधन के लिए, GoogleAdsFieldService से मिले जवाब के साथ-साथ अनुरोध का एक उदाहरण दिखाया गया है:

अनुरोध

https://googleads.googleapis.com/v23/googleAdsFields/ad_group

जवाब

{
  "resourceName": "googleAdsFields/ad_group",
  "name": "ad_group",
  "category": "RESOURCE",
  "selectable": false,
  "filterable": false,
  "sortable": false,
  "selectableWith": [
    "campaign",
    "customer",
    "metrics.average_cpc",
    "segments.device",
    ...
  ],
  "attributeResources": [
    "customer",
    "campaign"
  ],

  "metrics": [
    "metrics.conversions",
    "metrics.search_budget_lost_impression_share",
    "metrics.average_cost",
    "metrics.clicks",
    ...
  ],
  "segments": [
    "segments.date",
    "segments.ad_network_type",
    "segments.device",
    ...
  ]
}

इस उदाहरण के लिए, अहम कलेक्शन ये हैं:

attributeResources
ऐसे संसाधन जिन्हें FROM क्लॉज़ में मौजूद संसाधन से इंप्लिसिट तौर पर जोड़ा जा सकता है.
metrics
ऐसी मेट्रिक जिन्हें FROM क्लॉज़ में मौजूद संसाधन के साथ चुना जा सकता है. यह सिर्फ़ उन फ़ील्ड के लिए अपने-आप भरता है जहां category RESOURCE है.
segments
ऐसे सेगमेंट के लिए कुंजियां जिन्हें FROM क्लॉज़ में मौजूद संसाधन के साथ चुना जा सकता है. ये क्वेरी में दी गई मेट्रिक को सेगमेंट करते हैं. सिर्फ़ उन फ़ील्ड के लिए जानकारी अपने-आप भर जाती है जिनमें category की वैल्यू RESOURCE है.
selectableWith

किसी संसाधन या सेगमेंट फ़ील्ड पर मौजूद selectableWith एट्रिब्यूट, अन्य संसाधनों, सेगमेंट या मेट्रिक के बारे में बताता है. इन्हें एक ही GAQL क्वेरी में चुना जा सकता है. यह एट्रिब्यूट तब ज़रूरी होता है, जब आपको किसी ऐसे संसाधन या सेगमेंट के फ़ील्ड शामिल करने हों जिसे FROM क्लॉज़ में नहीं बताया गया है.

GAQL क्वेरी बनाते समय:

  1.  FROM क्लॉज़ में मौजूद संसाधन, मुख्य इकाई होता है. इस संसाधन से फ़ील्ड हमेशा चुने जा सकते हैं.
  2.  इसके अलावा, प्राइमरी इकाई के साथ उपलब्ध संगत मेट्रिक और सेगमेंट भी चुने जा सकते हैं.
  3.  अगर आपने FROM क्लॉज़ के बाहर किसी संसाधन या सेगमेंट से फ़ील्ड शामिल किए हैं, तो आपको यह पक्का करना होगा कि यह गैर-FROM संसाधन या सेगमेंट, क्वेरी में चुने गए अन्य सभी फ़ील्ड, सेगमेंट, और मेट्रिक के साथ काम करता हो.

किसी खास संसाधन (मान लें कि यह संसाधन A है) के लिए selectableWith सूची में, वे सभी अन्य संसाधन, सेगमेंट, और मेट्रिक शामिल होती हैं जिन्हें संसाधन A के फ़ील्ड के साथ चुना जा सकता है. ऐसा तब होता है, जब संसाधन A मुख्य इकाई न हो.

उदाहरण:

क्वेरी का यह उदाहरण देखें: SELECT ad_group.id, segments.date, campaign.name FROM ad_group

  •   FROM क्लॉज़, ad_group के बारे में बताता है.

  •   इस क्वेरी में FROM रिसोर्स से ad_group.id, segments.date, और campaign.name को चुना गया है.

  •   campaign.name को चुना गया है, लेकिन campaign, FROM क्लॉज़ में नहीं है. इसलिए, आपको यह पुष्टि करनी होगी कि यह चुने गए अन्य एलिमेंट के साथ काम करता है या नहीं.

  •   यह पक्का करने के लिए कि यह क्वेरी मान्य है, campaign रिसोर्स segments.date (चुना गया दूसरा फ़ील्ड) के साथ काम करना चाहिए. इसलिए, आपको campaign संसाधन के लिए selectableWith एट्रिब्यूट की वैल्यू की जांच करनी होगी. अगर segments.date, campaign की selectableWith सूची में मौजूद है, तो क्वेरी मान्य है.

अगर आपने किसी ऐसी संसाधन से फ़ील्ड चुने हैं जो FROM क्लॉज़ में नहीं है, तो उस संसाधन की selectableWith सूची में, आपके SELECT क्लॉज़ में मौजूद अन्य सभी सेगमेंट और संसाधन शामिल होने चाहिए.

मेटाडेटा की जानकारी

GoogleAdsFieldService का इस्तेमाल करके, इन लेवल पर कैटलॉग का अनुरोध किया जा सकता है:

संसाधन
उदाहरण के लिए, googleAdsFields/campaign.
संसाधन का फ़ील्ड
उदाहरण के लिए, googleAdsFields/campaign.name.
सेगमेंटेशन फ़ील्ड
उदाहरण के लिए, googleAdsFields/segments.ad_network_type.
मेट्रिक
उदाहरण के लिए, googleAdsFields/metrics.clicks.