शॉपिंग कैंपेन

Google Ads स्क्रिप्ट की मदद से, शॉपिंग कैंपेन को कुछ हद तक मैनेज किया जा सकता है. मौजूदा शॉपिंग कैंपेन के साथ काम करने, प्रॉडक्ट ग्रुप की हैरारकी बनाने और मैनेज करने, और शॉपिंग रिपोर्ट चलाने के लिए स्क्रिप्ट का इस्तेमाल किया जा सकता है. हालांकि, शॉपिंग कैंपेन बनाने, कैंपेन लेवल पर शॉपिंग प्रॉपर्टी सेट करने (उदाहरण के लिए: कैंपेन की प्राथमिकता, इन्वेंट्री फ़िल्टर वगैरह) या Merchant Center खातों को लिंक करने के लिए, स्क्रिप्ट का इस्तेमाल नहीं किया जा सकता.

शॉपिंग कैंपेन और विज्ञापन ग्रुप वापस लाना

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

const campaignName = "My first shopping campaign";

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

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

किसी कैंपेन को वापस पाने के बाद, उसके विज्ञापन ग्रुप भी इसी तरह से वापस पाए जा सकते हैं. यह सिर्फ़ तब बेहतर होता है, जब आपको कैंपेन और उसके विज्ञापन ग्रुप, दोनों पर कार्रवाई करनी हो.

const adGroupIterator = campaign.adGroups()
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

अगर आपको सिर्फ़ कुछ खास विज्ञापन ग्रुप पर कार्रवाई करनी है, तो पहले कैंपेन को फ़ेच किए बिना, विज्ञापन ग्रुप फ़ेच करने के लिए AdsApp.shoppingAdGroups() तरीके का इस्तेमाल किया जा सकता है:

const adGroupIterator = AdsApp.shoppingAdGroups()
    .withCondition(`campaign.name = "${campaignName}"`)
    .withCondition(`ad_group.name = "${adGroupName}"`)
    .get();

for (const adGroup of adGroupIterator) {
    ...
}

प्रॉडक्ट विज्ञापन

Google Ads स्क्रिप्ट की मदद से, प्रॉडक्ट के विज्ञापन को वापस पाया जा सकता है. इसके लिए, ShoppingAdGroup के ads() तरीके का इस्तेमाल करें. ShoppingAdGroup के newAdBuilder() तरीके का इस्तेमाल करके, नए प्रॉडक्ट विज्ञापन बनाए जा सकते हैं.

प्रॉडक्ट ग्रुप के क्रम में जाना

ShoppingAdGroup के rootProductGroup तरीके का इस्तेमाल करके, प्रॉडक्ट ग्रुप के लेआउट की रूट को ऐक्सेस किया जा सकता है. इसके बाद, चाइल्ड प्रॉडक्ट ग्रुप को दोहराने और प्रॉडक्ट ग्रुप के क्रम को ट्रैवर्स करने के लिए, children वाले तरीके का इस्तेमाल किया जा सकता है. हर नोड एक ProductGroup ऑब्जेक्ट होता है. प्रॉडक्ट ग्रुप के असल टाइप का पता लगाने के लिए, getDimension तरीके का इस्तेमाल किया जा सकता है. इसे किसी खास टाइप (उदाहरण के लिए, ProductBrand) में भी कास्ट किया जा सकता है. इसके लिए, कास्ट करने के तरीके (उदाहरण के लिए, asBrand) का इस्तेमाल करें. यहां दिया गया कोड स्निपेट, प्रॉडक्ट ग्रुप की हैरारकी को बार-बार ट्रैवर्स करने का तरीका दिखाता है.

walkTree(shoppingAdGroup.rootProductGroup(), 1);

function walkTree(root, level) {
  // Logger.log(root.getDimension());
  let description = "";
  switch (root.getDimension()) {
    case "ROOT":
      description = "Root";
      break;

    case "CATEGORY":
      description = root.asCategory().getName();
      break;

    case "BRAND":
      description = root.asBrand().getName();
      break;

    // Handle more types here.
    ...
  }

  if (root.isOtherCase()) {
    description = "Other";
  }

  const padding = new Array(level + 1).join('-');
  console.log("%s, %s, %s, %s, %s, %s",
             padding,
             description,
             root.getDimension(),
             root.getMaxCpc(),
             root.isOtherCase(),
             root.getId().toFixed());
  const children = root.children().get();
  for (const child of children) {
    walkTree(child, level + 1);
  }
}

कोई प्रॉडक्ट ग्रुप चुनना

प्रॉडक्ट ग्रुप के क्रम में, किसी खास प्रॉडक्ट ग्रुप को चुनने के लिए, productGroups के AdsApp, ShoppingCampaign या ShoppingAdGroup उदाहरण का इस्तेमाल करें. बिड मैनेजमेंट के मकसद से, प्रॉडक्ट के खास ग्रुप चुनते समय, पूरे प्रॉडक्ट ग्रुप की हैरारकी को ट्रैवर्स करने के मुकाबले, यह तरीका आसान है. यहां दिए गए कोड स्निपेट में, पिछले महीने में पांच से ज़्यादा क्लिक और 0.01 से ज़्यादा क्लिक मिलने वाले सभी प्रॉडक्ट ग्रुप को चुनने का तरीका बताया गया है. साथ ही, इनकी बिड को 0.01 तक बढ़ाने का तरीका भी बताया गया है.

function main() {
  const productGroups = AdsApp.productGroups()
      .withCondition("metrics.clicks > 5")
      .withCondition("metrics.ctr > 0.01")
      .forDateRange("LAST_MONTH")
      .get();
  for (const productGroup of productGroups) {
    productGroup.setMaxCpc(productGroup.getMaxCpc() + 0.01);
  }
}

प्रॉडक्ट ग्रुप का लेआउट अपडेट करना

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

const root = shoppingAdGroup.rootProductGroup();

// Add a brand product group for a "cardcow" under root.
const brandProductGroup = root.newChild()
    .brandBuilder()
    .withName("cardcow")
    .withBid(1.2)
    .build()
    .getResult();

// Add new conditions for New and Refurbished cardcow brand items.
const newItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("New")
    .withBid(1.5)
    .build()
    .getResult();

// Refurbished items will use the bid from "cardcow" product group.
const refurbishedItems = brandProductGroup.newChild()
    .conditionBuilder()
    .withCondition("Refurbished")
    .build()
    .getResult();

इसी तरह, ProductGroup के remove तरीके का इस्तेमाल करके, किसी उप-डिवीज़न को हटाया जा सकता है. इससे, हटाए जा रहे प्रॉडक्ट ग्रुप के नीचे मौजूद प्रॉडक्ट ग्रुप की पूरी हैरारकी भी मिट जाती है.

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

"अन्य सभी" प्रॉडक्ट ग्रुप

शॉपिंग प्रॉडक्ट ग्रुप की हैरारकी में हर लेवल पर "बाकी सभी" ("अन्य") प्रॉडक्ट ग्रुप होता है. इससे उन प्रॉडक्ट को मैनेज किया जा सकता है जो प्रॉडक्ट ग्रुप की हैरारकी में बनाई गई आपकी कस्टम शर्त से मेल नहीं खाते. आपने जो सामान्य प्रॉडक्ट ग्रुप जोड़ा है और "अन्य" प्रॉडक्ट ग्रुप के बीच अंतर करने के लिए, isOtherCase के तरीके का इस्तेमाल किया जा सकता है.

नीचे दिया गया कोड स्निपेट, रूट प्रॉडक्ट ग्रुप के क्रम में "अन्य" प्रॉडक्ट ग्रुप को ढूंढता है और उसकी बिड को प्रिंट करता है.

const root = shoppingAdGroup.rootProductGroup();

const childProductGroups = root.children().get();
let everythingElseProductGroupFound = false;

for (const childProductGroup of childProductGroups) {
  if (childProductGroup.isOtherCase()) {
    console.log("'Everything else' product group found. Type of the " +
               "product group is %s and bid is %s.",
               childProductGroup.getDimension(),
               childProductGroup.getMaxCpc());
    everythingElseProductGroupFound = true;
    break;
  }
}
if (!everythingElseProductGroupFound) {
  console.log("No 'Everything else' product group found under root " +
             "product group.");
}

किसी लीफ़ प्रॉडक्ट ग्रुप को अलग-अलग सबग्रुप में बांटने पर, स्क्रिप्ट अपने-आप एक "अन्य" प्रॉडक्ट ग्रुप बनाती हैं. इससे यह पक्का होता है कि प्रॉडक्ट ग्रुप का क्रम सही रहे. "अन्य" प्रॉडक्ट ग्रुप को पैरंट प्रॉडक्ट ग्रुप की बिड इनहेरिट होती है.

नया शॉपिंग विज्ञापन ग्रुप बनाना

Google Ads स्क्रिप्ट की मदद से, ShoppingCampaign के newAdGroupBuilder तरीके का इस्तेमाल करके, नया शॉपिंग विज्ञापन ग्रुप बनाया जा सकता है. ShoppingAdGroup बनाने के बाद, प्रॉडक्ट ग्रुप की नई हैरारकी बनाने के लिए, createRootProductGroup का तरीका इस्तेमाल किया जा सकता है.

रिपोर्ट

Google Ads स्क्रिप्ट, product_group_view और shopping_performance_view रिपोर्ट के साथ काम करती हैं. इनकी मदद से, अपने शॉपिंग कैंपेन की परफ़ॉर्मेंस को ट्रैक किया जा सकता है. शिकायत करने के बारे में ज़्यादा जानने के लिए, हमारी शिकायत करने से जुड़ी गाइड पढ़ें.