परफ़ॉर्मेंस मैक्स कैंपेन के वैकल्पिक कॉम्पोनेंट

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

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

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

// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";

const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
  campaignId = search.next().campaign.id;
  console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
  console.log(`No campaign named "${campaignName}" found`);
  // Perform further error handling here
}

// Query for a list of customer conversion goals
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"
      }
    }
  }
});