अभियान ड्राफ़्ट और प्रयोग

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

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

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

इस गाइड में, स्क्रिप्ट में ड्राफ़्ट और प्रयोगों के साथ काम करने के बुनियादी वर्कफ़्लो के बारे में बताया गया है.

ड्राफ़्ट

कोई ड्राफ़्ट बनाना

किसी मौजूदा बेस कैंपेन से ड्राफ़्ट बनाने के लिए, DraftBuilder का इस्तेमाल करें और कोई यूनीक नाम दें. बेस कैंपेन, सर्च कैंपेन, Display एक्सपैंशन के साथ Search Network कैंपेन या डिसप्ले कैंपेन (Display Network के लिए मोबाइल ऐप्लिकेशन कैंपेन को छोड़कर) होना चाहिए. साथ ही, इसमें शेयर किया गया बजट नहीं होना चाहिए.

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

const draftBuilder = campaign.newDraftBuilder()
    .withName("INSERT_DRAFT_NAME_HERE")
    .build();

const draft = draftBuilder.getResult();

DraftBuilder.build(), स्क्रिप्ट में आम तौर पर इस्तेमाल होने वाले ऑपरेशन के तौर पर, DraftOperation दिखाता है. ज़्यादा जानकारी के लिए, बिल्डर के लिए बनी हमारी गाइड देखें.

draft की पहचान, उसके बेस कैंपेन आईडी और ड्राफ़्ट आईडी के कॉम्बिनेशन से की जाती है. ज़्यादा जानकारी के लिए, DraftSelector.withIds() देखें.

ड्राफ़्ट कैंपेन को प्रोविज़न करना

draft ऑब्जेक्ट, बेस कैंपेन और ड्राफ़्ट कैंपेन को जोड़ता है. बेस कैंपेन में अपडेट लागू करने के लिए, ड्राफ़्ट कैंपेन के ज़रिए बदलावों को लागू किया जाता है.

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

const draftCampaign = draft.getDraftCampaign();

draftCampaign.setAdRotationType("CONVERSION_OPTIMIZE");
draftCampaign.createNegativeKeyword("shoes");

ध्यान रखें कि ड्राफ़्ट कैंपेन के लिए, विज्ञापन नीति की जांच ठीक वैसे ही की जाती है जैसे कि बुनियादी कैंपेन के लिए की जाती है. नीति का उल्लंघन करने वाले विज्ञापनों वाले ड्राफ़्ट कैंपेन से, एक्सपेरिमेंट नहीं चलाया जा सकता.

ड्राफ़्ट लागू करना

ड्राफ़्ट कैंपेन को प्रोविज़न करने के बाद, इनमें से कोई एक काम किया जा सकता है:

  1. अगर आपको बदलावों का इस्तेमाल नहीं करना है, तो ड्राफ़्ट को आसानी से हटाया जा सकता है. ड्राफ़्ट को हटाने के बाद, उसे वापस नहीं लाया जा सकता. हालांकि, Google Ads यूज़र इंटरफ़ेस (यूआई) के ड्राफ़्ट टैब में, सभी ड्राफ़्ट में जाकर उसे देखा जा सकता है.

    draft.remove();
    
  2. अगर आपको ड्राफ़्ट में किए गए बदलावों को लागू करना है, तो यहां दिए गए तरीके से ऐसा किया जा सकता है:

    draft.startApplying();
    

    इस तरीके से, अपडेट को बेस कैंपेन में लागू करने की प्रोसेस शुरू हो जाती है. इसलिए, ड्राफ़्ट का स्टेटस Google Ads यूज़र इंटरफ़ेस (यूआई) में लागू किया जा रहा है... होगा. हालांकि, इस तरीके से प्रोसेस पूरी होने पर, आपको इसकी सूचना नहीं दी जाएगी.

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

प्रयोग

कोई एक्सपेरिमेंट बनाना

experiment, ड्राफ़्ट की तरह ही होता है. इसे भी किसी बेस कैंपेन से बनाया जाता है. आपने ExperimentBuilder के साथ experiment बनाया है. इससे, दो "ग्रुप" वाला एक्सपेरिमेंट अपने-आप बन जाएगा. ये ग्रुप, एक्सपेरिमेंट के अलग-अलग हिस्सों को दिखाते हैं. एक ग्रुप (जिसे कंट्रोल ग्रुप कहा जाता है) में बेस कैंपेन होगा और दूसरे ग्रुप (जिसे ट्रीटमेंट ग्रुप कहा जाता है) में एक नया ड्राफ़्ट कैंपेन होगा. एक्सपेरिमेंट शेड्यूल करने से पहले, आपको ऊपर दिए गए ड्राफ़्ट के चरणों के मुताबिक, इस कैंपेन को पसंद के मुताबिक बनाना होगा.

एक्सपेरिमेंट बनाते समय, बिल्डर में ये सभी सेट करना न भूलें:

withCampaign
वह कैंपेन जिस पर आपको एक्सपेरिमेंट चलाना है.
withTrafficSplitPercent
एक्सपेरिमेंट ग्रुप में कितना ट्रैफ़िक जाएगा. 50% के लिए, 50 डालें.
withStartDate और withEndDate
इससे कैंपेन के शुरू और खत्म होने की तारीख का पता चलता है. YYYYMMdd फ़ॉर्मैट में बताएं.
withType
SEARCH_CUSTOM या DISPLAY_CUSTOM, यह इस बात पर निर्भर करता है कि आपने किस नेटवर्क का इस्तेमाल किया है.
withSuffix
इससे एक सफ़िक्स तय होता है, जिसे ट्रीटमेंट कैंपेन बनाते समय उसके नाम में जोड़ा जाएगा.
withGoals
इस एक्सपेरिमेंट के लक्ष्यों के बारे में बताता है. यह सिर्फ़ आपको याद दिलाने के लिए है कि आपने कैंपेन बनाते समय क्या लक्ष्य तय किए थे. [{metric: 'CLICKS', direction: 'INCREASE'}] एक अच्छी डिफ़ॉल्ट वैल्यू है.

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

const experiment = AdsApp.newExperimentBuilder()
  .withCampaign(campaign)
  .withTrafficSplitPercent(50)
  .withStartDate("20230501")
  .withEndDate("20230601")
  .withType("SEARCH_CUSTOM")
  .withSuffix("experiment")
  .withGoals([{metric: 'CLICKS', direction: 'INCREASE'}])
  .build();

// The experimentCampaign represents the customizeable draft.
const experimentCampaign = experiment.getExperimentCampaign();

ड्राफ़्ट के उलट, एक्सपेरिमेंट की पहचान एक आईडी से की जाती है. ज़्यादा जानकारी के लिए, ExperimentSelector.withIds() देखें.

एक्सपेरिमेंट कैंपेन के लिए बजट तय करना

draft की तरह ही, experiment भी कैंपेन नहीं है. इसके बजाय, यह बेस कैंपेन, ड्राफ़्ट, और एक्सपेरिमेंट कैंपेन से जुड़ा होता है. एक्सपेरिमेंट कैंपेन के फ़ील्ड में बदलाव किए जा सकते हैं. हालांकि, इनमें बदलाव नहीं किया जा सकता:

  • नाम
  • स्थिति
  • आरंभ तारीख
  • समाप्ति तारीख
  • बजट
const experimentCampaign = experiment.getExperimentCampaign();

// Will succeed.
experimentCampaign.setAdRotationType("ROTATE_FOREVER");
experimentCampaign.createNegativeKeyword("sneakers");

// Will fail.
experimentCampaign.setName("INSERT_EXPERIMENT_NAME_HERE");

एक्सपेरिमेंट के नाम, शुरू होने की तारीख, और खत्म होने की तारीख में बदलाव किए जा सकते हैं. इसके बाद, ये बदलाव एक्सपेरिमेंट कैंपेन में लागू हो जाएंगे.

// Will succeed.
experiment.setName("INSERT_EXPERIMENT_NAME_HERE");

// Will succeed if date is acceptable.
const date = "20220601";
experiment.setStartDate(date);

एक्सपेरिमेंट शुरू करने के लिए, experiment.startScheduling() को कॉल करें. यह एक ऐसी प्रोसेस है जो एक साथ नहीं होती, क्योंकि इसे बेस कैंपेन की सभी सेटिंग कॉपी करनी होती हैं.

एक्सपेरिमेंट खत्म होने के बाद

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

experiment.finish();
const stats = experimentCampaign.getStatsFor("INSERT_TIME_PERIOD_HERE");
  • अगर आंकड़ों के आधार पर, आपको एक्सपेरिमेंट से संतुष्टि नहीं मिल रही है, तो आपके पास एक्सपेरिमेंट को हटाने का विकल्प है. इससे एक्सपेरिमेंट कैंपेन भी हट जाएगा. एक्सपेरिमेंट को हटाने के बाद, उसे वापस नहीं लाया जा सकता. हालांकि, Google Ads यूज़र इंटरफ़ेस (यूआई) के एक्सपेरिमेंट टैब में, सभी एक्सपेरिमेंट में जाकर, उसे अब भी देखा जा सकता है.

    experiment.remove();
    
  • अगर आप एक्सपेरिमेंट के नतीजों से संतुष्ट हैं, तो आपके पास दो विकल्प हैं:

    1. बदलाव लागू करने की प्रोसेस शुरू की जा सकती है. ड्राफ़्ट की तरह ही, प्रोसेस पूरी होने पर आपको सूचना नहीं दी जाएगी.

      experiment.startApplying();
      
    2. बेस कैंपेन पर असर डाले बिना, एक्सपेरिमेंट कैंपेन को एक अलग और पूरी तरह से काम करने वाले कैंपेन के तौर पर सेट किया जा सकता है. इस प्रोसेस को ग्रेजुएशन कहा जाता है. यह तुरंत पूरी हो जाती है और इसके लिए नया बजट सेट करना ज़रूरी होता है.

      const budget = AdsApp.budgets()
          .withCondition(`campaign_budget.id = ${budgetId}`)
          .get()
          .next();
      
      experiment.graduate(budget);
      

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

दूसरी ज़रूरी बातें

बुनियादी इकाइयां

Google Ads स्क्रिप्ट में ड्राफ़्ट और प्रयोग की सुविधा के साथ, बुनियादी इकाइयों की अवधारणा भी शुरू की गई है. ड्राफ़्ट और एक्सपेरिमेंट कैंपेन और उनमें मौजूद विज्ञापन ग्रुप, उनके ओरिजनल बेस कैंपेन से अलग होते हैं. इसलिए, Campaign और AdGroup के पास अब अपने बेस कैंपेन और विज्ञापन ग्रुप को ऐक्सेस करने के तरीके हैं: getBaseCampaign() और getBaseAdGroup().

अगर किसी बुनियादी कैंपेन या विज्ञापन ग्रुप से कॉल किया जाता है, तो ये तरीके कॉल करने वाली इकाई को दिखाते हैं. कैंपेन और विज्ञापन ग्रुप में मौजूद इकाइयों, जैसे कि कीवर्ड और विज्ञापनों के लिए भी ऐसे तरीके दिए गए हैं.

बुनियादी इकाइयों को ट्रैक करने में मदद करने के लिए, कैंपेन में isBaseCampaign(), isDraftCampaign(), और isExperimentCampaign() के तरीके दिए गए हैं.

Campaign.draftCampaigns() और Campaign.experimentCampaigns() के नए तरीकों की मदद से, उन सभी ड्राफ़्ट और प्रयोग वाले कैंपेन को ऐक्सेस किया जा सकता है जिनका बेस कैंपेन, कॉलिंग कैंपेन है. हालांकि, CampaignSelector.withCondition() का इस्तेमाल करके ड्राफ़्ट कैंपेन नहीं चुने जा सकते. इसके बजाय, AdsApp.drafts() का इस्तेमाल करें.

गड़बड़ी ठीक करना

ड्राफ़्ट और प्रयोग से जुड़े ये तरीके, स्क्रिप्ट के चलने पर शुरू होते हैं. हालांकि, ये असिंक्रोनस तरीके हो सकते हैं:

  • Draft.startApplying()
  • Experiment.startApplying()
  • Experiment.startScheduling()

आपको यह देखने के लिए इंतज़ार करना चाहिए कि ये कार्रवाइयां पूरी हुई हैं या नहीं. startApplying() और startScheduling() के पूरा होने के बाद, Google Ads का यूज़र इंटरफ़ेस (यूआई) लागू है या चालू है स्थिति दिखाता है. साथ ही, यह गड़बड़ी होने पर, लागू नहीं किया जा सका या बनाया नहीं जा सका दिखाता है. इस पर क्लिक करके, गड़बड़ियां देखी जा सकती हैं.

ऐसा भी हो सकता है कि कुछ तरीके, झलक देखने के चरण में काम न करें, लेकिन चलाए जाने के बाद काम कर जाएं. उदाहरण के लिए, ड्राफ़्ट बनाने के बाद:

const draftCampaign = draft.getDraftCampaign();
draftCampaign.createNegativeKeyword("shoes"); // Will fail in preview.

यह प्रीव्यू मोड में काम नहीं करेगा, क्योंकि यह ड्राफ़्ट कैंपेन को तुरंत ऐक्सेस नहीं कर सकता.

इसी तरह, कोई एक्सपेरिमेंट बनाकर, उसके ड्राफ़्ट कैंपेन को तुरंत फ़ेच करने की कोशिश करने पर, झलक मोड में यह काम नहीं होगा. इसकी वजह यह है कि ड्राफ़्ट असल में नहीं बनाया गया है.

इस वजह से, स्क्रिप्ट चलाने के बाद, स्क्रिप्ट की सूची के नीचे मौजूद लॉग देखें. साथ ही, अगर आपको लगता है कि स्क्रिप्ट, झलक देखने के मोड की सीमाओं की वजह से काम नहीं कर रही है, तो ही उसे आगे बढ़ाएं.