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

Google Ads स्क्रिप्ट से, आपको बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन को मैनेज करने की कुछ सुविधाएं मिलती हैं. बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन को वापस लाने, एसेट ग्रुप को मैनेज करने, और रिपोर्ट चलाने के लिए स्क्रिप्ट का इस्तेमाल किया जा सकता है. हालांकि, बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन बनाने के लिए, स्क्रिप्ट का इस्तेमाल नहीं किया जा सकता.

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

बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन, performanceMaxCampaigns AdsApp ऑब्जेक्ट के कलेक्शन के ज़रिए उपलब्ध होते हैं. आप उन्हें हमेशा की तरह फिर से पा सकते हैं:

const campaignName = "My Performance Max campaign";

const campaignIterator = AdsApp.performanceMaxCampaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get();

for (const campaign of campaignIterator) {
  ...
}

कुछ अन्य तरह के कैंपेन में, बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन में ऐसे विज्ञापन ग्रुप या विज्ञापन ऑब्जेक्ट नहीं होते हैं जिन्हें आप देख सकते हैं. अन्य कैंपेन के लिए, इन कॉन्सेप्ट से जुड़ी हर चीज़ आपके सेट किए गए एसेट ग्रुप के आधार पर अपने-आप मैनेज होती है.

ऐसेट और ऐसेट ग्रुप

बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन के विज्ञापन, वीडियो, इमेज, हेडलाइन, और जानकारी जैसी ऐसेट से दिखते हैं जो आपने उपलब्ध कराई हैं या अपने-आप जनरेट हुई हैं. किस तरह की ऐसेट की ज़रूरत है, इस बारे में पूरी जानकारी पाने के लिए, Google Ads API के परफ़ॉर्मेंस मैक्स कैंपेन की ऐसेट गाइड देखें.

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

एसेट ग्रुप में एसेट जोड़ें

सबसे पहले, एसेट बनाएं:

const imageUrl = "http://www.example.com/example.png";
const imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
const assetOperation = AdsApp.adAssets().newImageAssetBuilder()
   .withName("new asset name")
   .withData(imageBlob)
   .build();
const imageAsset = assetOperation.getResult();

इसके बाद, अभी-अभी बनाई गई ऐसेट का इस्तेमाल करके, उसे किसी मौजूदा ऐसेट ग्रुप में जोड़ें:

// First, fetch the Performance Max campaign we want to operate on.
const campaignIterator = AdsApp.performanceMaxCampaigns()
   .withCondition(`campaign.name = '${campaignName}'`)
   .get();
let campaign;
if (campaignIterator.hasNext()) {
   campaign = campaignIterator.next();
} else {
   throw `No campaign found with name ${campaignName}.`
}

// Then, get that campaign's asset groups.
const assetGroupIterator = campaign.assetGroups().get();

// The campaign must have at least one asset group, so we can just assume so here.
const assetGroup = assetGroupIterator.next();

// Add the asset from the previous step.
assetGroup.addAsset(imageAsset, 'MARKETING_IMAGE');

ध्यान दें कि आखिरी चरण में, आपको ऐसेट का टाइप कैसे तय करना होगा. एसेट टाइप की पूरी सूची देखने के लिए, Google Ads API दस्तावेज़ में जाएं

किसी मौजूदा ऐसेट का इस्तेमाल करने के लिए, सबसे पहले ऐसेट सिलेक्टर बनाएं:

const assetSelector = AdsApp.adAssets().assets();

इसके बाद, withCondition फ़िल्टर का इस्तेमाल करके, उन ऐसेट को चुनें जिन पर आपको प्रयोग करना है. फ़िल्टर के विकल्पों की पूरी सूची देखने के लिए, AssetSelector रेफ़रंस दस्तावेज़ देखें.

आखिर में, इटरेटर को फ़ेच करें और दूसरी इकाइयों की तरह ही दोहराएं:

const assetIterator = assetSelector.get();

for (const asset of assetIterator) {
   ...
}

टेक्स्ट ऐसेट

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

उदाहरण के लिए, हेडलाइन ऐसेट बनाने का तरीका यहां बताया गया है:

assetGroup.addAsset('asset text here', 'HEADLINE');

एसेट ग्रुप से एसेट हटाएं

किसी ऐसेट ग्रुप से ऐसेट हटाई भी जा सकती है. हालांकि, कैंपेन मान्य हो, इसके लिए आपके पास कम से कम कुछ खास तरह की ऐसेट होनी चाहिए.

पिछले उदाहरण में जोड़ी गई एसेट को हटाने का तरीका यहां बताया गया है:

assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');

search फ़ंक्शन की मदद से, किसी ऐसेट ग्रुप में मौजूद ऐसेट की सूची भी पाई जा सकती है:

// The resource name is a unique identifier for this asset group.
const assetGroupName = assetGroup.getResourceName();
results = AdsApp.search(
   `SELECT asset.resource_name, asset_group_asset.field_type
    FROM asset_group_asset
    WHERE asset_group.resource_name = '${assetGroupName}'`
);

यह एसेट के संसाधन के नाम को अपने यूनीक आइडेंटिफ़ायर के तौर पर चुनता है. नतीजों को और बेहतर बनाने के लिए, asset.type या asset.text_asset.text जैसे अन्य फ़ील्ड भी चुने जा सकते हैं. अपनी खुद की क्वेरी बनाने के लिए, इस रिपोर्ट प्रकार के लिए क्वेरी बिल्डर का इस्तेमाल करें.

टारगेट एसेट मिल जाने के बाद, एसेट ग्रुप से एसेट हटाने के लिए एसेट ग्रुप पर remove को कॉल करें:

// Let's assume at least one asset is returned. We'll just remove the first
// asset, whatever it is. In your code, customize this to choose the right asset.
const row_info = results.next().asset;
assetGroup.remove(row_info.asset.resource_name, row_info.asset_group_asset.field_type);

रिपोर्ट

campaign संसाधन में, बेहतरीन परफ़ॉर्मेंस में मदद करने वाले कैंपेन और अन्य तरह के कैंपेन रिपोर्ट किए जाते हैं. शुरुआत करने के लिए, आप कुछ इस तरह से इस्तेमाल कर सकते हैं:

SELECT
  campaign.id,
  campaign.url_expansion_opt_out,
  campaign.status,
  campaign.bidding_strategy_type,
  metrics.clicks,
  metrics.cost_micros,
  metrics.impressions,
  metrics.conversions,
  metrics.all_conversions
FROM campaign
WHERE campaign.advertising_channel_type = 'PERFORMANCE_MAX'
  AND metrics.clicks > 0

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

सीधे ऐसेट ग्रुप पर भी रिपोर्ट की जा सकती है. इसे पूरा करने के तरीके के बारे में ज़्यादा जानकारी के लिए, इस विषय की Google Ads API गाइड देखें. वहां दिखने वाली किसी भी क्वेरी को वहां ले जाएं और Google Ads स्क्रिप्ट में AdsApp.search तरीके से चलाकर वही नतीजे पाएं.