Google Ads API में किसी एक संसाधन टाइप की इकाइयों को बनाने, अपडेट करने या हटाने का सबसे आसान तरीका, संसाधन की खास सेवा का इस्तेमाल करना है.
एंडपॉइंट में बदलाव करना
बदले जा सकने वाले हर संसाधन के लिए, उससे जुड़ी सेवा और ऑपरेशन टाइप होता है. किसी संसाधन में बदलाव करने के लिए, उसकी खास सेवा का इस्तेमाल करें. इसके लिए, ऑपरेशन में इनमें से कोई एक फ़ील्ड भरें और उसे सेवा के म्यूटेट एंडपॉइंट पर भेजें:
- बनाएं (
create): बनाने के लिए नया संसाधन ऑब्जेक्ट. - अपडेट (
update): बदला गया संसाधन ऑब्जेक्ट, साथ हीupdate_maskमें बदले गए फ़ील्ड की जानकारी. - हटाएं (
remove): टारगेट किए गए संसाधन कीresource_nameस्ट्रिंग को हटाना है.
उदाहरण के लिए, नया Campaign बनाने के लिए, यह तरीका अपनाएं:
- चुने गए एट्रिब्यूट के साथ एक
Campaignऑब्जेक्ट बनाएं. - इसे
CampaignOperationकेcreateफ़ील्ड में असाइन करें. CampaignService.MutateCampaignsकोMutateCampaignsRequestमें ऑपरेशन भेजें.
Google Ads API में, संसाधन के हिसाब से उपलब्ध सभी सेवाओं के लिए यही पैटर्न लागू होता है:
AdGroup:AdGroupOperationकोAdGroupService.MutateAdGroupsमें पास करें.CampaignCriterion:CampaignCriterionOperationकोCampaignCriterionService.MutateCampaignCriteriaमें पास करें.
नीचे दिए गए REST JSON पेलोड में, CampaignService.MutateCampaigns के लिए किए गए अनुरोध के बारे में बताया गया है:
{
"customerId": "CUSTOMER_ID",
"operations": [
{
"create": {
"name": "Interplanetary Cruise #1",
"advertisingChannelType": "SEARCH",
"status": "PAUSED",
"manualCpc": {},
"campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
],
"partialFailure": false,
"validateOnly": false
}
एक से ज़्यादा कार्रवाइयां और सीमाएं
संसाधन के हिसाब से किए जाने वाले ज़्यादातर बदलाव के अनुरोधों में, बार-बार इस्तेमाल किया जाने वाला operations फ़ील्ड स्वीकार किया जाता है. इसलिए,एक अनुरोध में उस संसाधन टाइप के लिए कई कार्रवाइयां शामिल हो सकती हैं. हर अनुरोध में 10, 000 कार्रवाइयां या AdGroupCriterionService.MutateAdGroupCriteria के लिए 20,000 कार्रवाइयां शामिल हो सकती हैं. CustomerService.MutateCustomer में एक operation फ़ील्ड स्वीकार किया जाता है. डिफ़ॉल्ट रूप से, अनुरोध में मौजूद सभी कार्रवाइयां एक साथ पूरी होती हैं. हालांकि, अगर सेवा partial_failure के साथ काम करती है और आपने इसे true पर सेट किया है, तो ऐसा नहीं होगा.
हालांकि, अलग-अलग संसाधन सेवाओं की दो मुख्य सीमाएं हैं:
- एक ही तरह का संसाधन: किसी संसाधन सेवा के लिए किए गए अनुरोध में, सिर्फ़ उस सेवा से मैनेज किए जाने वाले संसाधनों में बदलाव किया जा सकता है.
- एक से ज़्यादा रिसॉर्स के लिए, कुछ समय के लिए इस्तेमाल होने वाले आईडी नहीं: किसी रिसॉर्स के लिए म्यूटेट कॉल सिर्फ़ एक तरह के रिसॉर्स को स्वीकार करता है. इसलिए, किसी पैरंट रिसॉर्स (जैसे कि
customers/CUSTOMER_ID/campaigns/-1) को कुछ समय के लिए इस्तेमाल होने वाला नेगेटिव आईडी असाइन नहीं किया जा सकता. साथ ही, उसी अनुरोध में किसी दूसरे टाइप के चाइल्ड रिसॉर्स (जैसे किAdGroup) से इसे रेफ़रंस नहीं किया जा सकता. (एक ही संसाधन टाइप में, सेल्फ़-रेफ़रंसिंग वाले टेंपररी आईडी का इस्तेमाल किया जा सकता है. ऐसा हैरारकी वाले ट्री के लिए किया जाता है. जैसे,AdGroupCriterionलिस्टिंग ग्रुप औरAssetGroupListingGroupFilterनोड.)
अगर आपको एक ही अनुरोध में कई तरह के संसाधनों में बदलाव करना है या अलग-अलग तरह के संसाधनों के लिए, कुछ समय के लिए संसाधन के नामों का रेफ़रंस देना है, तो GoogleAdsService.Mutate का इस्तेमाल करें.
वर्शन के हिसाब से अंतर
संसाधनों में बदलाव करते समय, Google Ads API के साथ काम करने वाले सभी वर्शन के बीच इन अंतरों का ध्यान रखें:
- लाइफ़साइकल के लक्ष्य से जुड़ी सेवाएं: ग्राहकों को जोड़े रखने के लक्ष्यों में बदलाव,
GoalService.MutateGoals(retention_goal_settings) औरCampaignGoalConfigService.MutateCampaignGoalConfigs(campaign_retention_settings) के ज़रिए, सभी सपोर्ट किए गए वर्शन में किया जाता है. इसके लिए, स्टैंडर्ड रिपीटेडoperationsफ़ील्ड का इस्तेमाल किया जाता है. वर्शन 25 और इसके बाद के वर्शन में, नए ग्राहक हासिल करने के लक्ष्य (new_customer_acquisition_goal_settings/campaign_new_customer_acquisition_settings) और लॉयल्टी प्रोग्राम में शामिल ग्राहकों को बनाए रखने के लक्ष्य (loyalty_retention_goal_settings/campaign_loyalty_retention_settings) को भीGoalService.MutateGoalsऔरCampaignGoalConfigService.MutateCampaignGoalConfigsके ज़रिए बदला जाता है. यहCustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalsऔरCampaignLifecycleGoalService.ConfigureCampaignLifecycleGoalsकी जगह लेता है. इनका इस्तेमाल v23 और v24 में नए ग्राहक हासिल करने के लिए किया जाता है. साथ ही, येoperationफ़ील्ड की एक वैल्यू स्वीकार करते हैं.