Chuyển tới nội dung chính

Ví dụ về script

Các đoạn mã có sẵn cho những tác vụ phổ biến. Sao chép bất kỳ đoạn nào vào trình soạn thảo, điều chỉnh các ngưỡng cho phù hợp với bạn và kiểm thử bằng nút ▶ Chạy. Cách hoạt động của các lệnh SDK và lịch trình được trình bày trong mục Viết một script.

Chú ý

Các ví dụ chứa hành động thực tế (pause). Trước khi bật một script theo lịch, hãy kiểm thử nó trên dữ liệu thực — nếu cần, hãy tạm thời chú thích các dòng có pause() và chỉ để lại console.log.

Tạm dừng theo ROAS thấp

Dừng các quảng cáo đã chi hơn $20 trong ngày nhưng cho ROAS dưới 0.5.

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

Tạm dừng khi không có nạp tiền dù chi tiêu cao

Dừng các quảng cáo không có dù chỉ một lần nạp tiền nào trong ngày, trong khi chi tiêu đã vượt mức payout trung bình cho geo — tức là tiền đang đổ ra nhưng không có kết quả.

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

Ghi nhớ giữa các lần chạy

Ghi nhớ các quảng cáo đã xử lý trong ctx.state và bỏ qua chúng ở những lần chạy tiếp theo, để không động đến cùng những quảng cáo đó một lần nữa.

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

Sắp xếp và giới hạn vùng chọn

Lấy năm quảng cáo có chi tiêu cao nhất trong ngày và chỉ đơn giản in chúng ra console — cơ sở cho các báo cáo và kiểm tra.

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

Làm việc ở cấp chiến dịch

Các lệnh khả dụng không chỉ cho quảng cáo, mà còn cho nhóm quảng cáo (QubixApp.adsets()) và chiến dịch (QubixApp.campaigns()). Từ một chiến dịch, bạn có thể lấy các nhóm quảng cáo và quảng cáo lồng bên trong.

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

Tiếp theo là gì