اسکریپت های مدیریت هزینه کمپین و ادگروپ

اشتراک گذاری مقاله

فهرست محتوا

مقالات مرتبط

آخرین تاریخ آپدیت: 15 مهر 1403
زمان مطالعه: 7 دقیقه

15 مهر 1403

همواره در کلاس های سرچ ادز پلاس مجموعه HDM ، یکی از مهم ترین مواردی که در ارتباط با افزایش میزان نمایش و به دنبال آن کلیک می باشد ، بالاتر قرار دادن میزان باجت روزانه برای هر کمپین می باشد . بالاتر قرار دادن باجت همواره نیز موجب خواهد شد تا حجم سرچی را به واسطه کم بودن  بودجه روزانه کمپین از دست ندهید و در کنارش با با مدیریت هزینه هر کییورد بتوانید میزان هزینه روزانه را نیز مدیریت کنید . از قدرتمند ترین امکانات پنل گوگل ادز استفاده از رول های اتومات  به منظور  بررسی ، تغییر  یک متریک در سطح کمپین ، ادگروپ و یا حتی کییورد می باشد . از متداول ترین رول های مورد استفاده در پنل گوگل ادز ، رول های کنترل هزینه کمپین و یا ادگروپ می باشد ، بدین صورت که شما مشخص میکنید در یک بازه زمانی خاص مقدار هزینه مصرف شده برای کمپین و یا ادگروپ را بررسی کند و اگر از ان مقدار بالاتر رفته بود کمپین را پاز کند اما گاهی اوقات ممکن جزئیات تنظیم یک رول فراموش شود و گاهی ممکن است که مجبور باشید برای کنترل هزینه چند کمپین رول های متنوعی استفاده کنید. راه حل جایگزین و کمی ساده تر به منظور بررسی هزینه کمپین و ادگروپ استفاده از اسکریپت هایی هستش که براتون طراحی کردیم تا فرایند ارزیابی و چکینگ هزینه های کمپین گوگل ادز و ادگروپ رو ساده تر پیش ببرید. 6 اسکریپت رو براتون طراحی کردیم و در ادامه به توضیح هر کدوم به صورت مفصل و کامل میپردازیم . به منظور استفاده از اسکریپت ها باید مسیر زیر رو در پنل پیش ببریم :

Tools and settings / Bulk actions / script

از مسیر فوق ، شما می توانید بخش اسکریپت رو ببینید و از اسکریپت ها استفاده کنید.

بررسی هزینه روزانه به تفکیک هر کمپین

نام اسکریپت : CampaignDailyCostControl قابلیت اصلی اسکریپت : شما امکان دارید که دقیقا مشخص کنید کدام کمپین دقیقا چه مقدار در یک روز هزینه کند نکته : مهم ترین نکته این هستش که دقیقا نام کمپین کپی بشود تا اشتباه تاپی در نام کمپین زمانی که در اسکریپت وارد میکنید وجود نداشته باشد. اولین اسکریپت که براتون فراهم کردیم ، چک کردن  میزان هزینه روزانه هر کمپین می‌باشد. ساختار اسکریپت به صورت زیر می‌باشد. ساختار کلی اسکریپت مطابق با شکل فوق می باشد ، از کادر سبز به صورت جداگانه ، عکس قرار داده شده است.

function main() {
  var campaignLimits = [
    { name: "Campaign 1", limit: 100 },
    { name: "Campaign 2", limit: 200 },
    { name: "Campaign 3", limit: 300 }
  ];
  
  var campaigns = AdsApp.campaigns().get();
  while (campaigns.hasNext()) {
    var campaign = campaigns.next();
    var campaignName = campaign.getName();
    var campaignCostToday = campaign.getStatsFor("TODAY").getCost();
    
    for (var i = 0; i < campaignLimits.length; i++) {
      if (campaignName === campaignLimits[i].name) {
        if (campaignCostToday > campaignLimits[i].limit) {
          campaign.pause();
        }
        break;
      }
    }
  }
}
در این بخش ، شما فقط باید نام کمپین مد نظرتان رو به صورت دقیق بین ‘’ ‘’  قرار بدین و میزان هزینه ای که مد نظر دارید در هر روز هزینه کنید هم در مقابلش قرار بدین . در واقع شما مشخص میکنید که campaign 1  تنها مجاز است در یک روز 100 لیر هزینه کند.  نکته مهم این هستش که اصلا نباید به واحد پولی اکانت توجه کنیم و شما تنها باید میزان لیمیت هزینه روزانه رو مشخص کنید. در این اسکریپت مشخص شده که تنها هزینه همان روز را ارزیابی و بررسی بشود . بعد از اینکه اسکریپت نهایی شد ،  preview رو کلیک می کنید  و  بعد authorize  کنید و جیمیلتون که اکانت گوگل ادزتون روش لاگین شده رو انتخاب می‌کنید و در ادامه RUN رو کلیک میکنید . بعد از اینکه run  کردین اسکریپت رو ،  در بخش script history  شما می‌بینید که اسکریپتتون با موفقیت پیاده سازی شده . در ستون status  می‌بینید که نوشته شده finished successfully  . اما مهم ترین قدم اینجاس که چه زمانی این شرطی که داخل اسکریپت مطرح کردیم ، باید به صورت خودکار توسط گوگل بررسی بشه ؟؟؟ ما تا اینجا اصلا در مورد همچین موردی صحبت نکردیم و الان باید این مورد رو برای این اسکریپت دقیقا مشخص کنیم. اسکریپت های مدیریت هزینه کمپین و ادگروپ | آژانس HDM برای تنظیم frequency  شما باید ، مجددا وارد بخش اسکریپت بشید و اسکریپتی که درست کردین در مرحله قبل رو مشاهده می‌کنید. اسکریپت های مدیریت هزینه کمپین و ادگروپ | آژانس HDM اسکریپت های مدیریت هزینه کمپین و ادگروپ | آژانس HDM ادیت رو میزنید و در این بخش شما مشخص می کنید که هر چند ساعت ( با چه الگوی زمانی این فرایند بررسی هزینه روزانه بررسی بشود )  شرط داخل اسکریپت بررسی بشود. در این سناریو نیاز داریم که هر ساعت این مورد بررسی بشود و اگر اون هزینه رد شده بود رو باید کمپین پاز بشود. اکنون اسکریپت شما کاملا اماده شده است و شما می توانید به صورت کامل از این اسکریپت استفاده کنید. در این سناریو کمپین هایی که در اسکریپت مشخص کردید در هزینه مشخص ، هر یک ساعت بررسی می شود و اگر اون هزینه رد شده بود کمپین متوقف خواهد شد . اما ما نیاز داریم که کمپین در روز اینده مجددا فعال بشود  ، پس باید یک رول ران کردن مجدد کمپین نیز استفاده بکنیم. در ادامه اسکریپت های متفاوت دیگر نیز برایتان قرار داده میشود ، روند اجرا کاملا مشابه به ان چیزی است که پیش تر تشریح کردیم.

دومین اسکریپت : AdGroupDailyCostControl

قابلیت اصلی اسکریپت : شما امکان دارید که دقیقا مشخص کنید کدام اد گروپ  دقیقا چه مقدار در یک روز هزینه کند نکته : مهم ترین نکته این هستش که دقیقا نام کمپین کپی بشود تا اشتباه تاپی در نام کمپین زمانی که در اسکریپت وارد میکنید وجود نداشته باشد. Frequency  حتما مشخص بشود


function main() {
var adGroupLimits = [
{ name: “Ad Group 1”, limit: 100 },
{ name: “Ad Group 2”, limit: 200 },
{ name: “Ad Group 3”, limit: 300 }
];

var adGroups = AdsApp.adGroups().get();
while (adGroups.hasNext()) {
var adGroup = adGroups.next();
var adGroupName = adGroup.getName();
var adGroupCostToday = adGroup.getStatsFor(“TODAY”).getCost();

for (var i = 0; i < adGroupLimits.length; i++) {
if (adGroupName === adGroupLimits[i].name) {
if (adGroupCostToday > adGroupLimits[i].limit) {
adGroup.pause();
}
break;
}
}
}
}

حالا میزان کنترل شما بر روی هزینه کمپین و یا ادگروپ در کل مدت زمانی که کمپین ران بوده است ارزیابی می شود که به ترتیب قرار داده می شود به بیان واضح تر اگر هدف شما این است که در هزینه کمپین یا ادگروپ در کل بازه زمانی از یک عدد مشخص بالاتر نرود ، باید میزان هزینه ای که تا الان انجام شده است را با مبلغی که در نظر دارید جمع کنید و در اسکریپت قرار بدهید به عنوان مثال : یک کمپین دارید که در کل بازه زمانی 1000 لیر هزینه کرده است ، اکنون بر روی اکانت 3000 لیر شارژ دارید و در نظر دارید که این کمپین مشخص در نهایت از این شارژ 3000 لیری تنها 500 لیر هزینه کند ، پس در اسکریپت عدد 1500 را قرار می دهید . عکس های اسکریپت به ترتیب قبل قرار داده خواهد شد:

نام اسکریپت : CampaignAllTimeCostControl



function main() {
var campaignLimits = [
{ name: “Campaign 1”, limit: 100 },
{ name: “Campaign 2”, limit: 200 },
{ name: “Campaign 3”, limit: 300 }
];

var campaigns = AdsApp.campaigns().get();
while (campaigns.hasNext()) {
var campaign = campaigns.next();
var campaignName = campaign.getName();
var campaignCostAllTime = campaign.getStatsFor(“ALL_TIME”).getCost();

for (var i = 0; i < campaignLimits.length; i++) {
if (campaignName === campaignLimits[i].name) {
if (campaignCostAllTime > campaignLimits[i].limit) {
campaign.pause();
}
break;
}
}
}
}

نام اسکریپت : AdGroupAllTimeCostControl



function main() {
var adGroupLimits = [
{ name: “Ad Group 1”, limit: 100 },
{ name: “Ad Group 2”, limit: 200 },
{ name: “Ad Group 3”, limit: 300 }
];

var adGroups = AdsApp.adGroups().get();
while (adGroups.hasNext()) {
var adGroup = adGroups.next();
var adGroupName = adGroup.getName();
var adGroupCostAllTime = adGroup.getStatsFor(“ALL_TIME”).getCost();

for (var i = 0; i < adGroupLimits.length; i++) {
if (adGroupName === adGroupLimits[i].name) {
if (adGroupCostAllTime > adGroupLimits[i].limit) {
adGroup.pause();
}
break;
}
}
}
}

اسکریپت هایی که تا الان بررسی کردیم ، امکان جدا کردن کمپین را برایمان ایجاد میکرد اما گاهی برایمان مهم نیست که هزینه هر کمپین به تفکیک به چه صورت باشد و در نهایت نمی خواهیم هزینه روزانه یا در all time  تمامی کمپین هایمان از یک عددی بالاتر بشود . در این حال از اسکریپت های زیر استفاده خواهیم کرد.

نام اسکریپت : CampaignDailyTotalCostControl



function main() {
var campaignCost = 0;
var campaigns = AdsApp.campaigns().get();
while (campaigns.hasNext()) {
var campaign = campaigns.next();
campaignCost += campaign.getStatsFor(‘TODAY’).getCost();
}
if (campaignCost >= 20500) {
var campaignIterator = AdsApp.campaigns().get();
while (campaignIterator.hasNext()) {
campaignIterator.next().pause();
}
}
}

نام اسکریپت : CampaignAllTimeTotalCostControl



function main() {
var campaignCost = 0;
var campaigns = AdsApp.campaigns().get();
while (campaigns.hasNext()) {
var campaign = campaigns.next();
campaignCost += campaign.getStatsFor(‘ALL_TIME’).getCost();
}
if (campaignCost >= 20500) {
var campaignIterator = AdsApp.campaigns().get();
while (campaignIterator.hasNext()) {
campaignIterator.next().pause();
}
}
}

در این فایل سعی کردیم که با استفاده از رویکرد های فکری متنوعی برای کنترل هزینه ، بتونیم اسکریپت های متفاوتی رو در کنار هم داشته باشم تمامی فایل اسکریپت ها قرار داده خواهد شد تا به راحتی استفاده بکنید . ممنون از توجهتون دانلود فایل اسکریپت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سیزده − 10 =

۰۲۱-۸۸۶۹۰۸۱۸

درخواست مشاوره