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

Google Ads स्क्रिप्ट, कैंपेन के ड्राफ़्ट और एक्सपेरिमेंट की सुविधा देती है. इनका इस्तेमाल, Search और 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.

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

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

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