কনভার্সন সংক্রান্ত লক্ষ্য
আপনি যখন পারফর্ম্যান্স ম্যাক্স ক্যাম্পেন তৈরি করেন, তখন অ্যাকাউন্টে CustomerConversionGoal-এর সাথে ম্যাচ করে এমন
কনভার্সন লক্ষ্যের একটি সিরিজ অটোমেটিক
তৈরি হয়ে যায়। আপনি প্রতিটি পারফর্ম্যান্স ম্যাক্স ক্যাম্পেন আপডেট করে এগুলি কাস্টমাইজ করতে পারবেন।
এটি করতে, আপনাকে প্রথমে আপনার পারফর্ম্যান্স ম্যাক্স ক্যাম্পেনের আইডি এবং সমস্ত গ্রাহক কনভার্সন লক্ষ্যের একটি তালিকা আনতে হবে। এখানে একটি ক্যাম্পেনের লক্ষ্য পরিবর্তন করার একটি উদাহরণ দেওয়া হল, যদিও আপনি একাধিক পারফর্ম্যান্স ম্যাক্স ক্যাম্পেনের মাধ্যমে লুপ করার জন্য আপনার কোড সেট-আপ করতে পারেন।
// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";
const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
campaignId = search.next().campaign.id;
console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
console.log(`No campaign named "${campaignName}" found`);
// Perform further error handling here
}
// Query for a list of customer conversion goals
const searchResults = AdsApp.search(
`SELECT
customer_conversion_goal.category,
customer_conversion_goal.origin
FROM customer_conversion_goal`
);
তারপর, আপনি ফিরে পাওয়া সব কনভার্সন লক্ষ্য ইটারেট করতে পারবেন এবং বর্তমান পারফর্ম্যান্স ম্যাক্স ক্যাম্পেনের জন্য আপডেট অপারেশন তৈরি করতে পারবেন যাতে প্রতিটি লক্ষ্যের জন্য টার্গেটিং কাস্টমাইজ করা যায়। এই বিভাগের পরে দেখানো কোডের উদাহরণে সব লক্ষ্যকে বিড করার উপযুক্ত হিসেবে সেট করা হয়, তবে আপনি ক্যাম্পেন থেকে কী পেতে চান তার সাথে ম্যাচ করার জন্য লজিকের সেই অংশ কাস্টমাইজ করতে চাইবেন।
আমরা ক্যাম্পেন তৈরির বাকি প্রসেস থেকে আলাদা ট্রানজ্যাকশনে কনভার্সন সংক্রান্ত লক্ষ্য সেট-আপ করার সাজেশন দিই। CampaignConversionGoalOperation
-এর জন্য অনুরোধের partialFailure false-এ সেট করতে হবে। আপনি যদি
এই কোডটি সেই একই ট্রানজ্যাকশনে চালাতে চান যেখানে আপনি প্রথমবার ক্যাম্পেন তৈরি করেন, তাহলে
আপনাকে অবশ্যই আংশিক ব্যর্থতা বন্ধ করার জন্য সম্পূর্ণ সেট অফ অপারেশন সেট করতে হবে। এই
উদাহরণ কোডটি দেখায় যে কীভাবে এই অপারেশনটি একটি আলাদা
ট্রানজ্যাকশনে করতে হয়।
operations = [];
while (searchResults.hasNext()) {
const row = searchResults.next();
const conversionGoal = row.customerConversionGoal;
operations.push({
"campaignConversionGoalOperation": {
"update": {
"resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
// Insert your logic here to determine whether you want this particular
// campaign conversion goal to be biddable or not.
// This code will just default everything to being biddable, but that
// is not necessarily best for your use case.
"biddable": true
},
"updateMask": "biddable"
}
});
}
AdsApp.mutateAll(operations, {partialFailure: false});
ক্যাম্পেন টার্গেটিং
পারফর্ম্যান্স ম্যাক্সে ক্যাম্পেন টার্গেটিংয়ের জন্য, অনুমোদিত মানদণ্ডের সম্পূর্ণ তালিকা পেতে API গাইড চেক করে দেখতে ভুলবেন না।
পারফর্ম্যান্স ম্যাক্স ক্যাম্পেন তৈরি করার জন্য অতিরিক্ত শর্তের প্রয়োজন নেই, তবে
আপনার ব্যবহারের উপর ভিত্তি করে টার্গেটিং সীমাবদ্ধ করতে সাহায্য করার জন্য এটি উপযোগী হতে পারে। পরের কোড
উদাহরণ থেকে কীভাবে ভৌগোলিক লোকেশন টার্গেট সেট-আপ করতে হয় তা জানতে পারবেন। অন্যান্য ধরনের মাপকাঠির ফর্ম্যাটের জন্য আপনি
CampaignCriterion ডকুমেন্টেশন রেফারেন্স হিসেবে ব্যবহার করতে পারেন।
আপনি ক্যাম্পেনের সাথে সাথেই এই মাপকাঠি তৈরি করতে পারেন, এটি mutateAll-এ করা
একই কলের অংশ। এই কোডের উদাহরণে ধরে নেওয়া হয়েছে যে আপনি এইভাবে
কোড স্ট্রাকচার করছেন।
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
অ্যাসেট গ্রুপ সিগন্যাল
শুরু করার আগে API ডকুমেন্টেশনে অ্যাসেট গ্রুপ সিগন্যাল সম্পর্কে
পড়ে নিন। এগুলি আগে থেকে থাকা
AudienceInfo বা SearchThemeInfo মানদণ্ডের সাথে অ্যাসেট গ্রুপ লিঙ্ক করে সেট-আপ করা হয়। আপনি যদি এর পরিবর্তে কোনও অডিয়েন্স ব্যবহার করতে চান, তাহলে searchTheme ফিল্ডের পরিবর্তে audience ফিল্ডে অডিয়েন্সের রিসোর্স নাম উল্লেখ করুন।
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});