बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन के लिए वैकल्पिक कॉम्पोनेंट

कन्वर्ज़न लक्ष्य

परफ़ॉर्मेंस मैक्स कैंपेन बनाने पर, कन्वर्ज़न लक्ष्यों की एक सीरीज़ अपने-आप बन जाती है. यह सीरीज़ खाते में मौजूद CustomerConversionGoal से मैच करती है. बेहतरीन परफ़ॉर्मेंस में मदद करने वाले अपने हर कैंपेन के लिए, इन्हें अपडेट करके इन्हें पसंद के मुताबिक बनाया जा सकता है.

ऐसा करने के लिए, सबसे पहले आपको ग्राहक के सभी कन्वर्ज़न लक्ष्यों की सूची फ़ेच करनी होगी.

const searchResults = AdsApp.search(
  `SELECT
     customer_conversion_goal.category,
     customer_conversion_goal.origin
   FROM customer_conversion_goal`
);

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

इस कोड को चलाने से पहले, आपको अपने परफ़ॉर्मेंस मैक्स कैंपेन के लिए कैंपेन आईडी फ़ेच करना होगा.

हमारा सुझाव है कि आप कैंपेन बनाने की प्रक्रिया के दौरान, कन्वर्ज़न लक्ष्यों को एक अलग ट्रांज़ैक्शन के तौर पर सेट अप करें. CampaignConversionGoalOperation के लिए यह ज़रूरी है कि अनुरोध के लिए partialFailure को false पर सेट किया जाए. अगर आपको इस कोड को उसी ट्रांज़ैक्शन में चलाना है जहां पहली बार कैंपेन बनाया जाता है, तो आपको कार्रवाइयों का पूरा सेट सेट करना होगा, ताकि कुछ हद तक फ़ेल होने पर रोक लगाई जा सके. यह उदाहरण कोड बताता है कि अलग ट्रांज़ैक्शन में यह कार्रवाई कैसे की जा सकती है.

operations = [];
while (searchResults.hasNext()) {
  const row = searchResults.next();
  const conversionGoal = row.customerConversionGoal;

  operations.push({
    "campaignConversionGoalOperation": {
      "update": {
        "resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
        // Insert your logic here to determine whether you want this particular
        // campaign conversion goal to be biddable or not.
        // This code will just default everything to being biddable, but that
        // is not necessarily best for your use case.
        "biddable": true
      },
      "updateMask": "biddable"
    }
  });
}

AdsApp.mutateAll(operations, {partialFailure: false});

अभियान लक्ष्यीकरण

बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन में कैंपेन टारगेटिंग के लिए, एपीआई गाइड ज़रूर देखें. यहां आपको शर्तों के टाइप की पूरी सूची मिलेगी.

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

mutateAll पर किए जाने वाले कॉल के हिस्से के तौर पर, कैंपेन के साथ-साथ ये शर्तें भी बनाई जा सकती हैं. कोड का यह उदाहरण मानता है कि इसी तरह कोड का स्ट्रक्चर तैयार किया जा रहा है.

operations.push({
  "campaignCriterionOperation": {
    "create": {
      "campaign": campaignOperation.campaignOperation.create.resourceName,
      "negative": false,
      "location": {
        // 1023191 represents New York City
        "geoTargetConstant": "geoTargetConstants/1023191"
      }
    }
  }
});

ऐसेट ग्रुप के सिग्नल

शुरू करने से पहले, एपीआई दस्तावेज़ में ऐसेट ग्रुप सिग्नल के बारे में पढ़ें. इन्हें सेट अप करने के लिए, ऐसेट ग्रुप को या तो मौजूदा AudienceInfo या SearchThemeInfo शर्त से लिंक किया जाता है. इसके बजाय, अगर आपको ऑडियंस का इस्तेमाल करना है, तो ऑडियंस के रिसॉर्स के नाम वाले searchTheme फ़ील्ड के बजाय, audience फ़ील्ड की जानकारी दें.

operations.push({
  "assetGroupSignalOperation": {
    "create": {
      "assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
      "searchTheme": {
        "text": "mars cruise"
      }
    }
  }
});