Komut dosyası örnekleri
Sık karşılaşılan görevler için hazır kod parçaları. Bunlardan herhangi birini düzenleyiciye kopyalayın, eşik değerlerini kendinize göre ayarlayın ve ▶ Run düğmesiyle test edin. SDK komutlarının ve zamanlamanın nasıl çalıştığı Komut dosyası yazma bölümünde anlatılmaktadır.
Örnekler gerçek eylemler (pause) içerir. Bir komut dosyasını zamanlamaya göre etkinleştirmeden önce onu canlı veriler üzerinde test edin — gerekirse pause() içeren satırları geçici olarak yorum satırına alın ve yalnızca console.log bırakın.
Düşük ROAS'a göre durdurma
Gün boyunca 20 dolardan fazla harcayan ancak 0,5'in altında ROAS veren reklamları durdurur.
function main() {
const ads = QubixApp.ads()
.withCondition('spend_24h > 20 AND roas_24h < 0.5')
.get()
for (const ad of ads) {
console.log('pause', ad.name, 'roas24h=', ad.roas_24h)
ad.pause({ duration: '24h', reason: 'low roas' })
}
}
Yüksek harcamada depozito yokluğu durumunda durdurma
Gün boyunca tek bir depozito bile almamış, buna karşılık harcaması zaten coğrafyanın ortalama ödemesini aşmış reklamları durdurur — yani para çıkıyor ama sonuç yok.
function main() {
const ads = QubixApp.ads()
.withCondition('deps_24h = 0 AND spend_24h > geo_avg_payout')
.get()
for (const ad of ads) {
console.log('pause (no deps)', ad.name, 'spend24h=', ad.spend_24h)
ad.pause({ duration: '24h', reason: 'no deposits' })
}
}
Çalıştırmalar arası bellek
İşlenen reklamları ctx.state içinde hatırlar ve sonraki çalıştırmalarda onları atlar, böylece aynı reklamlara tekrar dokunulmaz.
function main() {
const seen = ctx.state.get('seen') || []
const ads = QubixApp.ads()
.withCondition('roas_24h < 0.5 AND spend_24h > 20')
.get()
for (const ad of ads) {
if (seen.includes(ad.ad_id)) continue
ad.pause({ duration: '24h', reason: 'low roas' })
seen.push(ad.ad_id)
console.log('paused', ad.name)
}
ctx.state.set('seen', seen)
}
Seçimi sıralama ve sınırlama
Gün boyunca en yüksek harcamaya sahip beş reklamı alır ve onları yalnızca konsola yazdırır — raporlar ve kontroller için bir temel.
function main() {
const top = QubixApp.ads()
.orderBy('spend_24h', 'desc')
.withLimit(5)
.get()
for (const ad of top) {
console.log(ad.name, 'spend24h=', ad.spend_24h, 'roas24h=', ad.roas_24h)
}
}
Kampanya düzeyinde çalışma
Komutlar yalnızca reklamlar için değil, reklam setleri (QubixApp.adsets()) ve kampanyalar (QubixApp.campaigns()) için de kullanılabilir. Bir kampanyadan iç içe yer alan reklam setlerini ve reklamları alabilirsiniz.
function main() {
const campaigns = QubixApp.campaigns()
.withCondition('roas_24h < 0.3')
.get()
for (const c of campaigns) {
console.log('weak campaign', c.name)
for (const ad of c.getAds()) {
ad.pause({ duration: '12h', reason: 'weak campaign' })
}
}
}