Ana içeriğe geç

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.

Dikkat

Ö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.

JavaScript
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.

JavaScript
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.

JavaScript
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.

JavaScript
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.

JavaScript
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' })
}
}
}

Sırada ne var