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

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

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

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

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

ड्राफ़्ट

एक ड्राफ़्ट बनाएं

DraftBuilder का इस्तेमाल करके और उसे यूनीक नाम देकर, किसी मौजूदा बेस कैंपेन से ड्राफ़्ट बनाया जाता है. बेस कैंपेन, सर्च, डिसप्ले एक्सपैंशन के साथ सर्च नेटवर्क या डिसप्ले कैंपेन या डिसप्ले कैंपेन होना चाहिए. हालांकि, इनमें 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()

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

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

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

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

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

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