প্রচারণার খসড়া এবং পরীক্ষা-নিরীক্ষা

গুগল বিজ্ঞাপন স্ক্রিপ্ট প্রচারাভিযানের খসড়া এবং পরীক্ষা-নিরীক্ষা সমর্থন করে, যা অনুসন্ধান এবং প্রদর্শন নেটওয়ার্ক প্রচারাভিযানের পরিবর্তনগুলি প্রস্তুত এবং পরীক্ষা করতে ব্যবহৃত হয়।

এই নির্দেশিকাটি একটি স্ক্রিপ্টে খসড়া এবং পরীক্ষা-নিরীক্ষার সাথে কাজ করার জন্য মৌলিক কর্মপ্রবাহ ব্যাখ্যা করে।

খসড়া

একটি খসড়া হল একটি বিদ্যমান প্রচারণার ক্লোন যা নিজস্ব বিজ্ঞাপন পরিবেশন করবে না, তবে মূল প্রচারণা পরিবর্তন না করেই পরিবর্তনগুলি মঞ্চস্থ করতে ব্যবহার করা যেতে পারে। পর্যায়ক্রমে পরিবর্তনগুলি তারপর মূল প্রচারণায় প্রয়োগ করা যেতে পারে।

একটি খসড়া তৈরি করুন

একটি বিদ্যমান বেস ক্যাম্পেইন থেকে একটি ড্রাফট তৈরি করা হয় একটি DraftBuilder ব্যবহার করে এবং একটি অনন্য নাম প্রদান করে। বেস ক্যাম্পেইনটি অবশ্যই একটি সার্চ, ডিসপ্লে এক্সপ্যানশন সহ সার্চ নেটওয়ার্ক ক্যাম্পেইন, অথবা ডিসপ্লে ক্যাম্পেইন (ডিসপ্লে নেটওয়ার্কের জন্য মোবাইল অ্যাপ ক্যাম্পেইন ব্যতীত) হতে হবে এবং এর একটি ভাগ করা বাজেট থাকা উচিত নয়।

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 বিজ্ঞাপন UI এর খসড়া ট্যাবে "সমস্ত খসড়া" এর অধীনে দেখা যেতে পারে।

        draft.remove();
    
  2. যদি আপনি খসড়ায় করা পরিবর্তনগুলি রাখার সিদ্ধান্ত নেন, তাহলে আপনি সেগুলি প্রয়োগ করতে পারেন:

        draft.startApplying();
    

    এই পদ্ধতিটি বেস ক্যাম্পেইনে আপডেটগুলি প্রয়োগ করার প্রক্রিয়া শুরু করে, তাই খসড়াটির অবস্থা Google বিজ্ঞাপন UI-তে " প্রয়োগ করা হচ্ছে..." থাকবে। তবে, প্রক্রিয়াটি সম্পূর্ণ হলে পদ্ধতিটি আপনাকে অবহিত করবে না

  3. আপনি যদি প্রথমে আপনার পরিবর্তনগুলি পরীক্ষা করে দেখতে চান, তাহলে আপনি একটি পরীক্ষা তৈরি করতে খসড়াটি ব্যবহার করতে পারেন।

পরীক্ষা-নিরীক্ষা

একটি পরীক্ষা মূল প্রচারণার সমান্তরালে একটি কাস্টমাইজযোগ্য প্রচারণা চালায় এবং নির্দিষ্ট শতাংশের ট্র্যাফিকের জন্য বিজ্ঞাপন দেখায়। পরীক্ষার ফলাফলের উপর ভিত্তি করে, আপনি মূল প্রচারণায় পরিবর্তনগুলি প্রয়োগ করতে পারেন, পরীক্ষাটিকে একটি স্বাধীন প্রচারণায় শাখা করতে পারেন, অথবা পরীক্ষামূলক প্রচারণাটি পরিত্যাগ করতে পারেন।

একটি পরীক্ষা তৈরি করুন

একটি experiment একটি খসড়ার মতো, এবং এটি একটি বেস ক্যাম্পেইন থেকেও তৈরি করা হয়। আপনি একটি ExperimentBuilder দিয়ে একটি experiment তৈরি করেন। এটি স্বয়ংক্রিয়ভাবে দুটি "বাহু" সহ একটি পরীক্ষা তৈরি করবে যা পরীক্ষার বিভিন্ন অংশকে প্রতিনিধিত্ব করে। একটি বাহুতে (যাকে নিয়ন্ত্রণ বাহু বলা হয়) বেস ক্যাম্পেইন ধারণ করবে এবং অন্যটিতে (যাকে চিকিত্সা বাহু বলা হয়) একটি নতুন খসড়া প্রচারাভিযান থাকবে যা আপনি পরীক্ষার সময়সূচী নির্ধারণ করার আগে (আগে দেখানো খসড়ার ধাপ অনুসারে) কাস্টমাইজ করবেন।

একটি পরীক্ষা তৈরি করার সময়, বিল্ডারে নিম্নলিখিত সমস্ত কিছু সেট করতে ভুলবেন না:

withCampaign
আপনি যে প্রচারণার উপর ভিত্তি করে পরীক্ষাটি করতে চান।
withTrafficSplitPercent
পরীক্ষামূলক বাহুতে কত ট্র্যাফিক যাবে। ৫০% এর জন্য, 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 বিজ্ঞাপন UI-এর পরীক্ষামূলক ট্যাবে "সমস্ত পরীক্ষা" বিভাগে দেখা যেতে পারে।

        experiment.remove();
    
  • যদি আপনি পরীক্ষার ফলাফলে সন্তুষ্ট হন, তাহলে আপনার কাছে দুটি বিকল্প আছে:

    1. আপনি পরিবর্তনগুলি প্রয়োগ করা শুরু করতে পারেন এবং ঠিক যেমন খসড়ার ক্ষেত্রে, প্রক্রিয়াটি সম্পূর্ণ হলে আপনাকে অবহিত করা হবে না।

          experiment.startApplying();
      
    2. আপনি বেস ক্যাম্পেইনকে প্রভাবিত না করেই একটি স্বাধীন, সম্পূর্ণরূপে পরিচালিত ক্যাম্পেইন হিসেবে পরীক্ষামূলক প্রচারণা প্রতিষ্ঠা করতে পারেন। গ্র্যাজুয়েশন নামে পরিচিত এই প্রক্রিয়াটি অবিলম্বে সম্পন্ন হয় এবং এর জন্য একটি নতুন বাজেট নির্ধারণ করতে হয়।

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

      নতুন প্রচারণা আর বেস প্রচারণার সাথে বাজেট ভাগ করে নিতে পারবে না, যার ফলে নতুন বাজেটের প্রয়োজন হয়। গ্র্যাজুয়েট করা প্রচারণাগুলি সাধারণ প্রচারণার মতোই, কারণ তাদের সমস্ত ক্ষেত্র পরিবর্তনযোগ্য এবং তারা আরও খসড়া এবং পরীক্ষার জন্য বেস প্রচারণা হিসেবে কাজ করতে পারে।

অন্যান্য বিবেচ্য বিষয়

বেস সত্তা

গুগল বিজ্ঞাপন স্ক্রিপ্টে ড্রাফ্ট এবং পরীক্ষা-নিরীক্ষার প্রবর্তন বেস এন্টিটির ধারণারও পরিচয় করিয়ে দেয়। ড্রাফ্ট এবং পরীক্ষা-নিরীক্ষা প্রচারণা এবং তাদের মধ্যে থাকা বিজ্ঞাপন গোষ্ঠীগুলি তাদের মূল বেস প্রচারণা থেকে আলাদা, যে কারণে Campaign এবং AdGroup এখন তাদের বেস প্রচারণা এবং বিজ্ঞাপন গোষ্ঠী অ্যাক্সেস করার পদ্ধতিগুলি ব্যবহার করে: getBaseCampaign() এবং getBaseAdGroup()

এই পদ্ধতিগুলি কোনও বেস ক্যাম্পেইন বা বিজ্ঞাপন গোষ্ঠী দ্বারা কল করা হলে কলিং সত্তাটি ফেরত দেয়। ক্যাম্পেইন এবং বিজ্ঞাপন গোষ্ঠীর মধ্যে থাকা সত্তা, যেমন কীওয়ার্ড এবং বিজ্ঞাপনগুলিকেও এই ধরণের পদ্ধতি দেওয়া হয়েছে।

বেস এন্টিটিগুলির ট্র্যাক রাখতে সাহায্য করার জন্য, প্রচারাভিযানগুলিকে isBaseCampaign() , isDraftCampaign() , এবং isExperimentCampaign() পদ্ধতি দেওয়া হয়েছে।

নতুন Campaign.draftCampaigns() এবং Campaign.experimentCampaigns() পদ্ধতিগুলি আপনাকে কলিং ক্যাম্পেইনকে তাদের বেস ক্যাম্পেইন হিসেবে ব্যবহার করে এমন সমস্ত ড্রাফ্ট এবং এক্সপেরিমেন্ট ক্যাম্পেইন অ্যাক্সেস করতে দেয়। তবে, আপনি CampaignSelector.withCondition() দিয়ে ড্রাফ্ট ক্যাম্পেইন নির্বাচন করতে পারবেন না; পরিবর্তে AdsApp.drafts() ব্যবহার করুন।

ত্রুটি পরিচালনা

স্ক্রিপ্টটি চালানোর সময় খসড়া এবং পরীক্ষা-নিরীক্ষার সাথে জড়িত নিম্নলিখিত পদ্ধতিগুলি এগিয়ে যায়, কিন্তু অ্যাসিঙ্ক্রোনাসভাবে ব্যর্থ হতে পারে:

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

এই ক্রিয়াকলাপগুলি সফল হয়েছে কিনা তা পরীক্ষা করার জন্য আপনার অপেক্ষা করা উচিত। Google বিজ্ঞাপন UI যথাক্রমে startApplying() এবং startScheduling() সফলভাবে সম্পন্ন হওয়ার পরে Applied বা Active স্ট্যাটাসগুলি দেখায়। এবং, এটি Unable to apply বা Unable to create upon failure নির্দেশ করে, যা আপনাকে ত্রুটিগুলি দেখতে ক্লিক করতে দেয়।

এটাও সম্ভব যে কিছু পদ্ধতি প্রিভিউ পর্যায়ে ব্যর্থ হয়, কিন্তু চালানোর পরে সফল হয়; উদাহরণস্বরূপ, একটি খসড়া তৈরি করার পরে:

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

এটি প্রিভিউ মোডে ব্যর্থ হবে কারণ এটি তাৎক্ষণিকভাবে খসড়া প্রচারণা অ্যাক্সেস করতে পারবে না।

একইভাবে, একটি পরীক্ষা তৈরি করে তাৎক্ষণিকভাবে এর খসড়া প্রচারণা আনার চেষ্টা করলেও প্রিভিউ মোডে ব্যর্থ হবে, কারণ খসড়াটি আসলে তৈরি করা হয়নি।

এই কারণে, আপনার স্ক্রিপ্টগুলির তালিকার নীচের লগগুলি চালানোর পরে সেগুলি পরীক্ষা করুন এবং যদি আপনি মনে করেন যে প্রিভিউ মোডে সীমাবদ্ধতার কারণে কারণটি হয়েছে তবেই কেবল একটি ব্যর্থ-প্রিভিউ স্ক্রিপ্ট নিয়ে এগিয়ে যান।