# Kenapa Iklan Google Ads Tidak Tayang? 7 Penyebab &amp; Solusi

> Iklan Google Ads Anda tidak tayang? Temukan 7 penyebab utama dari masalah anggaran, bidding, hingga kebijakan teknis beserta solusinya.

- URL: https://medikabyte.com/kenapa-iklan-google-ads-tidak-tayang/
- Diperbarui: 2026-10-16
- Penulis: MedikaByte
- Penerbit: MedikaByte (B2B digital agency)

Skip to content

[**ADTYAA** Technology & Digital Systems](https://medikabyte.com/)

**EN**

**ID**

**中文**

Consultation

[Capabilities](https://medikabyte.com/#capabilities)
[Expertise](https://medikabyte.com/#expertise)
[Approach](https://medikabyte.com/#approach)
[Proof](https://medikabyte.com/#proof)
[About](https://medikabyte.com/#about)
[Essentials](https://medikabyte.com/essentials/)
Consultation

# Kenapa Iklan Google Ads Tidak Tayang? *Diagnosis Teknis & Panduan Solusi Lengkap*

Oleh Adtyaa Diperbarui 11 Oktober 2026 Baca 9 menit

Anggaran sudah terpasang, kampanye berstatus aktif, tetapi impresi tetap nol. Kenapa iklan Google Ads tidak tayang padahal Anda tidak mengubah apa pun? Biasanya jawabannya ada pada satu sinyal di akun yang belum terbaca: tagihan, anggaran, tawaran, kebijakan, atau penargetan. Panduan ini memetakan setiap penyebab dari hulu ke hilir, persis urutan yang saya pakai saat mengaudit akun iklan di ADTYAA, lengkap dengan tabel diagnosis dan langkah perbaikan yang bisa Anda jalankan hari ini.

**Ringkasnya**

Kenapa iklan Google Ads tidak tayang? Umumnya karena salah satu dari tujuh hal: pembayaran bermasalah, anggaran harian habis, tawaran atau target Smart Bidding terlalu ketat, Quality Score rendah, iklan ditolak atau masih ditinjau, penargetan terlalu sempit, atau negative keyword yang bentrok. Periksa status kampanye, iklan, dan kata kunci secara berurutan; biasanya satu status sudah menunjuk sumbernya.

![Kenapa iklan Google Ads tidak tayang - Ilustrasi audit teknis kampanye Google Ads](https://medikabyte.com/wp-content/uploads/2026/10/kenapa-iklan-google-ads-tidak-tayang.jpg)

Audit iklan yang tidak tayang dimulai dari status, bukan dari tebakan.

## Kenapa iklan Google Ads tidak tayang: ringkasan dan quick diagnosis

Sebelum membahas satu per satu, pegang peta besarnya. Ketujuh penyebab berikut mencakup kelompok masalah yang paling sering membuat kampanye diam, dan masing-masing dibahas pada bagian di bawah.

- Pembayaran ditolak atau saldo prepaid habis (bagian 2).
- Anggaran harian terlalu kecil dibanding biaya per klik (bagian 2).
- Tawaran atau target CPA/ROAS terlalu ketat untuk lelang (bagian 3).
- Quality Score rendah akibat relevansi dan halaman tujuan (bagian 3).
- Iklan Under review, Disapproved, atau Approved (limited) (bagian 4).
- Penargetan, lokasi, jadwal, atau volume kata kunci terlalu sempit (bagian 5).
- Negative keyword yang memblokir kata kunci Anda sendiri (bagian 5).

Untuk memastikan arah diagnosis, jalankan audit 60 detik ini sebelum membuka pengaturan lain:

1. Buka daftar Campaigns dan baca Status: Eligible, Limited by budget, Paused, atau Ended.
2. Buka Billing dan pastikan metode pembayaran valid serta saldo prepaid masih ada.
3. Buka Ads & assets dan baca status iklan: Approved, Approved (limited), Under review, atau Disapproved.
4. Buka Keywords dan cari kata kunci berstatus Low search volume.
5. Tambahkan kolom Search lost IS (budget) dan Search lost IS (rank) untuk melihat apakah hambatannya anggaran atau peringkat iklan.
6. Buka Settings dan periksa tanggal mulai dan berakhir, jadwal iklan, lokasi, serta bahasa.

## Penyebab pertama: pembayaran, billing, dan batas anggaran

Kenapa iklan Google Ads tidak tayang? Penyebab yang paling sering justru yang paling mudah diperiksa. Jika pembayaran ditolak, Google menghentikan penayangan sampai masalah penagihan selesai. Kartu kedaluwarsa, limit kartu tercapai, atau bank yang menahan transaksi dari Google adalah pola yang umum. Pada akun prepaid, iklan berhenti begitu saldo habis. Pembayaran Google Ads bermasalah seperti ini tidak akan hilang sendiri; iklan baru kembali setelah pembayaran valid.

Berikutnya adalah batas anggaran harian. Google dapat membelanjakan lebih dari anggaran harian pada hari tertentu, tetapi total tagihan bulanan tetap dibatasi sesuai batas bulanan. Masalahnya muncul ketika anggaran harian hanya setara tiga atau empat klik: iklan habis di pagi hari lalu diam, dan status kampanye berubah menjadi Limited by budget. Ini sekadar ilustrasi hitungan, tetapi prinsipnya berlaku untuk semua industri dengan biaya per klik tinggi.

- Perbarui metode pembayaran dan lakukan pembayaran manual jika ada tagihan tertunggak.
- Pada akun prepaid, isi saldo dan atur pengingat sebelum habis.
- Hitung anggaran harian dari biaya per klik yang diharapkan dikali jumlah klik minimum yang Anda perlukan per hari.
- Gunakan kolom Search lost IS (budget) untuk membuktikan bahwa anggaran memang penyebabnya sebelum menaikkannya.

## Penyebab kedua: bidding strategy, target CPA/ROAS, dan Quality Score

Bila tagihan dan anggaran aman, lelang adalah tempat berikutnya untuk mencari tahu kenapa iklan Google Ads tidak tayang. Iklan hanya tayang jika Ad Rank Anda cukup untuk memasuki lelang, dan Ad Rank dibentuk oleh tawaran, kualitas iklan, serta konteks pencarian. Tawaran yang terlalu rendah membuat iklan kalah sebelum sempat tampil. Pada strategi seperti Maximize clicks dengan batas CPC, [dokumentasi Google](https://support.google.com/google-ads/answer/6268626) menyebutkan bahwa batas yang terlalu rendah dapat membuat strategi bidding tidak mampu mencapai tujuannya.

Smart Bidding punya masalah lain: ia butuh data konversi. Target CPA yang terlalu rendah atau target ROAS yang terlalu tinggi membuat sistem memilih tidak ikut lelang, sehingga penayangan menyusut tanpa pesan error. Hal yang sama terjadi bila pelacakan konversi rusak atau belum pernah menerima data, karena algoritma tidak punya sinyal untuk dioptimalkan. Banyak orang mencari cara mengatasi iklan Google Ads tidak berjalan di tahap ini, padahal akar masalahnya adalah target yang tidak realistis, bukan bug.

Terakhir, Quality Score. Skor 1 sampai 10 pada tingkat kata kunci ini dinilai dari tiga komponen: perkiraan CTR, relevansi iklan, dan pengalaman halaman tujuan. Halaman yang lambat, tidak sesuai dengan kata kunci, atau tidak nyaman di ponsel menekan skor, menaikkan biaya per klik, lalu menurunkan peluang tayang. Perbaikannya bersifat teknis: kecepatan halaman, kesesuaian pesan antara iklan dan halaman, serta struktur ad group yang rapi.

- Naikkan tawaran atau longgarkan batas CPC berdasarkan estimasi Keyword Planner, bukan tebakan.
- Turunkan target CPA atau naikkan toleransi ROAS secara bertahap, lalu beri waktu sistem belajar.
- Uji tag konversi dengan melakukan aksi itu sendiri dan pastikan tercatat.
- Perbaiki kecepatan dan relevansi halaman tujuan sebelum menambah anggaran.

### Kampanye Anda diam dan penyebabnya belum ketemu?

Kirim tangkapan layar status kampanye, iklan, dan kata kunci Anda lewat WhatsApp. Saya bantu tunjukkan hal pertama yang perlu diperiksa.

[Konsultasi Iklan via WhatsApp](https://wa.me/6281411188809) Kirim Brief Proyek

## Penyebab ketiga: status peninjauan iklan, kebijakan, dan kepatuhan YMYL

Kenapa iklan Google Ads tidak tayang setelah disetujui? Status iklan Google Ads disetujui tapi tidak tayang adalah keluhan yang sangat sering muncul, dan jawabannya sederhana: Approved hanya berarti iklan lolos peninjauan kebijakan. Tayang atau tidaknya tetap ditentukan anggaran, tawaran, dan penargetan. Perhatikan juga status Approved (limited), yang menandakan iklan dibatasi pada lokasi atau kondisi tertentu karena kebijakan.

Soal peninjauan iklan Google Ads berapa lama, [dokumentasi kebijakan Google Ads](https://support.google.com/adspolicy/answer/6008942) menyebutkan sebagian besar iklan ditinjau sekitar satu hari kerja, dan sebagian bisa lebih lama. Kategori sensitif umumnya lebih berhati-hati diperiksa. Karena itu, jangan mengubah iklan berulang kali selama status masih Under review; setiap perubahan dapat memulai peninjauan dari awal.

Kategori YMYL (Your Money or Your Life) membutuhkan perhatian ekstra. Untuk layanan kesehatan dan keuangan, Google menerapkan kebijakan tersendiri yang bisa berbeda per negara, termasuk pembatasan klaim dan, pada kasus tertentu, persyaratan sertifikasi. Klaim hasil yang berlebihan, janji kesembuhan, atau halaman tujuan yang tidak mencantumkan identitas penyedia layanan adalah pemicu penolakan yang paling mudah dihindari. Di ADTYAA, pengerjaan situs dan iklan untuk sektor medis berjalan dalam satu alur, supaya klaim di iklan dan di halaman tujuan konsisten sejak awal.

- Baca alasan penolakan di kolom Status dan Policy details, lalu perbaiki iklan atau halaman yang disebut.
- Pastikan klaim di iklan dapat dibuktikan di halaman tujuan.
- Hindari mengedit iklan berulang selama status Under review.
- Untuk sektor kesehatan dan keuangan, periksa persyaratan kebijakan per negara target sebelum kampanye dibuat.

## Penyebab keempat: penargetan, lokasi, dan volume pencarian terlalu sempit

Kenapa iklan Google Ads tidak tayang padahal semua pemeriksaan di atas lolos? Sering kali karena tidak ada orang yang cocok dengan kriteria Anda. Kata kunci berstatus Low search volume, misalnya, menandakan pencariannya terlalu jarang untuk memicu iklan. Kata kunci ekor panjang yang terlalu spesifik sering berakhir di sini.

Negative keyword adalah penyebab yang diam-diam merusak. Satu kata di daftar negatif tingkat kampanye atau akun dapat memblokir kata kunci positif Anda sendiri, dan tidak ada notifikasi mencolok yang memberi tahu. Lapisan lain yang perlu dicek: radius lokasi yang sangat kecil, bahasa yang tidak cocok dengan pencari, jadwal iklan yang menutup jam sibuk, tanggal berakhir kampanye yang terlewat, serta penyesuaian tawaran perangkat yang dikurangi sampai batas tertinggi sehingga satu jenis perangkat tidak pernah dilayani.

- Gabungkan kata kunci sejenis ke tema yang lebih luas, atau tambahkan variasi dengan volume lebih besar.
- Periksa daftar negative keyword di tingkat ad group, kampanye, dan akun terhadap kata kunci aktif.
- Perluas radius lokasi dan jadwal iklan bila datanya belum cukup untuk mempersempit.
- Tinjau penyesuaian tawaran perangkat, demografi, dan audiens yang mungkin mengecualikan terlalu banyak pencari.

## Matrix audit teknis Google Ads ala ADTYAA Engineering

Tabel berikut menyatukan seluruh pembahasan kenapa iklan Google Ads tidak tayang menjadi satu alur troubleshooting: gejala yang Anda lihat, parameter sistem yang perlu dibuka, dan tindakan perbaikannya.

| Gejala | Penyebab utama dan parameter sistem | Tindakan perbaikan |
| --- | --- | --- |
| Semua kampanye berhenti serentak | Pembayaran ditolak atau saldo prepaid habis (Billing > Summary) | Perbarui metode pembayaran, selesaikan tagihan, isi saldo |
| Iklan tayang pagi lalu berhenti | Status Limited by budget; Search lost IS (budget) tinggi | Hitung ulang anggaran dari biaya per klik, atau persempit penargetan |
| Status Eligible tetapi impresi nol atau sangat kecil | Tawaran atau target CPA/ROAS tidak lolos lelang; Search lost IS (rank) tinggi | Longgarkan target, naikkan tawaran, perbaiki Quality Score |
| Status Approved tetapi tidak tayang | Anggaran, tawaran, jadwal, atau lokasi menghambat; Approved bukan jaminan tayang | Audit berurutan dari billing, budget, bidding, hingga targeting |
| Approved (limited) atau Disapproved | Pelanggaran atau pembatasan kebijakan (Policy details) | Perbaiki iklan dan halaman tujuan sesuai alasan, lalu ajukan peninjauan ulang |
| Kata kunci berstatus Low search volume | Volume pencarian terlalu rendah untuk memicu iklan | Ganti dengan kata kunci lebih luas atau gabungkan ke tema yang sesuai |
| Kata kunci aktif tetapi tidak pernah muncul di Search terms | Negative keyword bentrok; penyesuaian tawaran perangkat atau audiens terlalu ketat | Cek semua tingkat daftar negatif; kurangi pengecualian yang berlebihan |

Matrix ini menggambarkan cara saya memperlakukan akun iklan: seperti sistem yang punya dependensi. Billing berada di hulu, budget dan bidding di tengah, kebijakan dan penargetan di hilir. Memperbaiki hilir sebelum hulu hanya membuang waktu. Saya juga mengubah satu variabel dalam satu waktu dan mencatatnya, karena tanpa catatan Anda tidak akan tahu perubahan mana yang memulihkan penayangan. Bila Anda memakai kampanye Shopping atau Performance Max, periksa juga status produk di [Google Merchant Center](https://support.google.com/merchants/), karena produk yang ditolak di sana juga berhenti tayang di iklan.

## Kesimpulan dan solusi scaling Google Ads B2B dan medis bersama ADTYAA

Pada akhirnya, kenapa iklan Google Ads tidak tayang jarang punya jawaban tunggal. Ia lebih sering merupakan rantai kecil: pembayaran lancar, anggaran cukup, tawaran kompetitif, iklan lolos kebijakan, lalu penargetan yang punya audiens. Putus di satu mata rantai saja, seluruh kampanye diam. Pendekatan engineering membantu menjawab kenapa iklan Google Ads tidak tayang karena setiap mata rantai diperiksa berurutan dan dicatat, bukan ditebak.

Untuk brand B2B dan sektor medis, taruhannya lebih tinggi: kebijakan YMYL lebih ketat, siklus penjualan lebih panjang, dan setiap klik yang terbuang berarti peluang yang hilang. Keahlian yang relevan di sini bukan hanya mengatur kampanye, tetapi juga membangun halaman tujuan, pelacakan konversi, dan struktur situs yang saling mendukung. Itulah wilayah kerja [web engineering dan ad tech di ADTYAA](https://medikabyte.com/#capabilities). Anda bisa mengenal latar belakang [Adtyaa sebagai founder ADTYAA](https://medikabyte.com/#about), atau membaca [panduan SEO dan SEM di Essentials](https://medikabyte.com/essentials/) untuk melanjutkan.

### Ingin akun Google Ads Anda diaudit langsung?

Ceritakan kondisi kampanye dan tujuan bisnis Anda lewat WhatsApp. Saya akan membaca akunnya dengan urutan audit di atas dan menyampaikan prioritas perbaikannya.

[Konsultasi Iklan via WhatsApp](https://wa.me/6281411188809) Kirim Brief Proyek

## Kenapa Iklan Google Ads Tidak Tayang: Pertanyaan yang Sering Diajukan

**Kenapa iklan Google Ads tidak tayang padahal statusnya aktif?**

Kenapa iklan Google Ads tidak tayang walau aktif? Status aktif hanya berarti kampanye tidak dijeda. Penayangan tetap bergantung pada tagihan yang lancar, anggaran harian yang cukup, tawaran yang kompetitif, iklan yang lolos kebijakan, serta penargetan yang punya volume pencarian. Periksa status di tingkat kampanye, iklan, dan kata kunci secara berurutan untuk menemukan sumbernya.

**Apa penyebab iklan Google Ads tidak muncul meski sudah disetujui?**

Status Approved hanya menyatakan iklan lolos peninjauan kebijakan, bukan jaminan tayang. Penyebab yang paling sering adalah anggaran terbatas, tawaran di bawah ambang lelang, kata kunci dengan volume pencarian rendah, jadwal iklan atau lokasi yang terlalu sempit, dan penyesuaian tawaran perangkat yang dikurangi sampai habis.

**Bagaimana cara mengatasi iklan Google Ads tidak berjalan?**

Untuk kenapa iklan Google Ads tidak tayang pada akun Anda, mulailah dari hulu: pastikan pembayaran valid, lalu cek anggaran, strategi bidding, status iklan, dan penargetan. Ubah satu variabel dalam satu waktu dan catat perubahannya, supaya Anda tahu perubahan mana yang memulihkan penayangan.

**Apakah pembayaran Google Ads bermasalah bisa menghentikan iklan?**

Ya. Jika pembayaran ditolak atau saldo prepaid habis, iklan berhenti tayang sampai masalah penagihan selesai. Periksa halaman Billing, perbarui metode pembayaran, dan pastikan bank tidak menahan transaksi dari Google.

**Peninjauan iklan Google Ads berapa lama?**

Menurut dokumentasi kebijakan Google, sebagian besar iklan ditinjau dalam waktu sekitar satu hari kerja, dan sebagian bisa lebih lama, terutama yang memerlukan pemeriksaan manual atau menyangkut kategori sensitif seperti kesehatan dan keuangan. Jika status Under review bertahan jauh lebih lama, periksa notifikasi kebijakan di akun Anda.

Project brief

## Share your requirement.

Describe what you are building, what is not performing, or what needs to improve. I will review the brief and respond within 24 hours.

WhatsApp / Phone [0814 111 888 09](tel:+6281411188809)

Email [hallo@adtyaa.cloud](mailto:hallo@adtyaa.cloud)

Base **Jakarta, Indonesia**

Location

## Find us on Google Maps.

In-person meetings are by appointment. Please message first so a time can be confirmed.

### DJURAGAN IKLAN ID

Founded by ADTYAA

Jl. Green Pramuka City No.9 13, RT.13/RW.9, Rawasari, Kec. Cempaka Putih, Kota Jakarta Pusat, DKI Jakarta 10570

#### Opening hours

Mon, Wed to Sat 08:00 – 21:30

Tuesday 08:00 – 21:00

Sunday 09:00 – 21:30

[Get directions](https://www.google.com/maps/dir/?api=1&destination=-6.1883766,106.8732792&destination_place_id=ChIJKcjnOqb1aS4RfbYD_EKMv84)
[Chat on WhatsApp](https://wa.me/6281411188809)
[Call now](tel:+6281411188809)

Build what your business depends on.

## Let’s build something worth depending on.

One accountable technology partner across engineering, growth, security, and digital infrastructure.

Request a consultation [Explore capabilities](https://medikabyte.com/#capabilities)

[**ADTYAA**](https://medikabyte.com/)

Digital Systems & Technology Consultancy

Aditya

Founder & Technology Strategist

Djuragan Iklan

Navigate

- [Capabilities](https://medikabyte.com/#capabilities)
- [Expertise](https://medikabyte.com/#expertise)
- [Approach](https://medikabyte.com/#approach)
- [About](https://medikabyte.com/#about)
- Location
- Contact

Capabilities

- [Software Engineering](https://medikabyte.com/#capabilities)
- [Digital Engineering](https://medikabyte.com/#capabilities)
- [Growth Systems](https://medikabyte.com/#capabilities)
- [Security & Infrastructure](https://medikabyte.com/#capabilities)
- [Medical SEO](https://medikabyte.com/#medical)
- [Custom Plugins](https://medikabyte.com/essentials/)
- [Custom Themes](https://medikabyte.com/essentials/)
- [Add-ons & Care Plans](https://medikabyte.com/essentials/)

Contact

[WhatsApp](https://wa.me/6281411188809)
[hallo@adtyaa.cloud](mailto:hallo@adtyaa.cloud)
Jakarta, Indonesia

ADTYAA

© 2026 ADTYAA. All rights reserved.

[Essentials](https://medikabyte.com/essentials/)

[Chat on WhatsApp](https://wa.me/6281411188809)

var D = {"skip":["Skip to content","Lewati ke konten","跳到主要内容"],"menu":["Menu","Menu","菜单"],"lang.group":["Language","Bahasa","语言"],"nav.cap":["Capabilities","Keahlian","核心能力"],"nav.work":["Expertise","Spesialisasi","行业专长"],"nav.app":["Approach","Pendekatan","合作流程"],"nav.proof":["Proof","Bukti","实绩"],"nav.about":["About","Tentang","关于"],"nav.ess":["Essentials","Essentials","Essentials"],"nav.cta":["Consultation","Konsultasi","预约咨询"],"nav.contact":["Contact","Kontak","联系我们"],"bag.aria":["ADTYAA Essentials: services, themes, plugins, and add-ons","ADTYAA Essentials: jasa, tema, plugin, dan add-on","ADTYAA Essentials：服务、主题、插件与附加服务"],"hero.cta1":["Request a consultation","Jadwalkan konsultasi","预约咨询"],"hero.cta2":["Explore capabilities","Jelajahi keahlian","了解核心能力"],"hero.role":["Founder & Technology Strategist","Founder & Technology Strategist","创始人 · 技术战略顾问"],"cap4.title":["Software Engineering","Software Engineering","软件工程"],"cap1.title":["Digital Engineering","Digital Engineering","数字工程"],"cap2.title":["Growth Systems","Growth Systems","增长体系"],"cap3.title":["Security & Infrastructure","Security & Infrastructure","安全与基础设施"],"opt.med":["Medical SEO","SEO Medis","医疗 SEO"],"opt.other":["Other / Not sure yet","Lainnya / Belum yakin","其他 / 尚未确定"],"contact.label":["Project brief","Brief proyek","项目简报"],"contact.title":["Share your requirement.","Sampaikan kebutuhan Anda.","请告诉我们您的需求。"],"contact.copy":["Describe what you are building, what is not performing, or what needs to improve. I will review the brief and respond within 24 hours.","Jelaskan apa yang sedang Anda bangun, apa yang belum berjalan optimal, atau apa yang perlu ditingkatkan. Saya akan mempelajari brief dan merespons dalam 24 jam.","请描述您正在构建的内容、表现不佳之处或需要改进的方面。我会审阅简报并在 24 小时内回复，咨询以英文进行。"],"contact.wa":["WhatsApp / Phone","WhatsApp / Telepon","WhatsApp / 电话"],"contact.loc":["Base","Lokasi","所在地"],"contact.city":["Jakarta, Indonesia","Jakarta, Indonesia","印度尼西亚 · 雅加达"],"form.name":["Name *","Nama *","姓名 *"],"form.email":["Email","Email","邮箱"],"form.wa":["WhatsApp","WhatsApp","WhatsApp"],"form.url":["Website","Website","网站"],"form.service":["Capability *","Keahlian *","所需能力 *"],"form.choose":["Choose a capability","Pilih keahlian","请选择能力方向"],"form.eng":["Engagement","Jenis kerja sama","合作类型"],"form.time":["Timeline","Target waktu","时间安排"],"form.choose2":["Choose one","Pilih salah satu","请选择"],"form.msg":["Project / problem","Proyek / masalah","项目 / 问题"],"form.sendwa":["Send via WhatsApp","Kirim lewat WhatsApp","通过 WhatsApp 发送"],"form.sendmail":["Send via email","Kirim lewat email","通过邮件发送"],"form.note":["Your brief opens in WhatsApp or your email application. Nothing is stored on this page.","Brief Anda terbuka di WhatsApp atau aplikasi email, siap dikirim. Tidak ada data yang disimpan di halaman ini.","您的简报将在 WhatsApp 或邮件应用中打开，供您发送。本页面不会保存任何数据。"],"eng.1":["One-time fix or setup","Perbaikan atau setup sekali jalan","一次性修复或设置"],"eng.2":["Full project","Proyek penuh","完整项目"],"eng.3":["Ongoing monthly support","Dukungan bulanan berkelanjutan","持续月度支持"],"eng.4":["Not sure yet","Belum yakin","尚未确定"],"time.1":["As soon as possible","Secepatnya","尽快"],"time.2":["Within 1 month","Dalam 1 bulan","1 个月内"],"time.3":["Within 3 months","Dalam 3 bulan","3 个月内"],"time.4":["Flexible","Fleksibel","灵活"],"f.err":["Please enter your name and choose a capability first.","Isi nama dan pilih keahlian terlebih dahulu.","请先填写姓名并选择能力方向。"],"f.okwa":["Opening WhatsApp...","Membuka WhatsApp...","正在打开 WhatsApp…"],"f.okmail":["Opening your email application...","Membuka aplikasi email Anda...","正在打开邮件应用…"],"m.name":["Name","Nama","Name"],"m.email":["Email","Email","Email"],"m.wa":["WhatsApp","WhatsApp","WhatsApp"],"m.url":["Website","Website","Website"],"m.service":["Capability","Keahlian","Capability"],"m.eng":["Engagement","Jenis kerja sama","Engagement"],"m.time":["Timeline","Target waktu","Timeline"],"m.msg":["Message","Pesan","Message"],"m.subject":["Project enquiry","Permintaan proyek","Project enquiry"],"loc.label":["Location","Lokasi","地点"],"loc.title":["Find us on Google Maps.","Temukan kami di Google Maps.","在 Google 地图上找到我们。"],"loc.lead":["In-person meetings are by appointment. Please message first so a time can be confirmed.","Pertemuan langsung dengan janji temu. Kirim pesan terlebih dahulu agar waktunya dapat dikonfirmasi.","现场会面需提前预约。请先发送消息以确认时间。"],"loc.founded":["Founded by ADTYAA","Founded by ADTYAA","由 ADTYAA 创立"],"loc.hours":["Opening hours","Jam operasional","营业时间"],"loc.d1":["Mon, Wed to Sat","Sen, Rab sampai Sab","周一、周三至周六"],"loc.d2":["Tuesday","Selasa","周二"],"loc.d3":["Sunday","Minggu","周日"],"loc.dir":["Get directions","Petunjuk arah","获取路线"],"loc.wa":["Chat on WhatsApp","Chat via WhatsApp","通过 WhatsApp 洽谈"],"loc.call":["Call now","Telepon sekarang","立即致电"],"loc.map":["DJURAGAN IKLAN ID on Google Maps","DJURAGAN IKLAN ID di Google Maps","DJURAGAN IKLAN ID 的 Google 地图位置"],"final.label":["Build what your business depends on.","Bangun sistem yang diandalkan bisnis Anda.","构建您的业务所依赖的系统。"],"final.title":["Let's build something worth depending on.","Mari bangun sesuatu yang layak diandalkan.","让我们共同构建值得依赖的系统。"],"final.copy":["One accountable technology partner across engineering, growth, security, and digital infrastructure.","Satu partner teknologi yang akuntabel untuk engineering, growth, keamanan, dan infrastruktur digital.","一个对结果负责的技术合作方，覆盖工程、增长、安全与数字基础设施。"],"foot.nav":["Navigate","Navigasi","导航"],"foot.cap":["Capabilities","Keahlian","核心能力"],"foot.con":["Contact","Kontak","联系"],"foot.plugins":["Custom Plugins","Plugin Kustom","定制插件"],"foot.themes":["Custom Themes","Tema Kustom","定制主题"],"foot.addons":["Add-ons & Care Plans","Add-on & Paket Perawatan","附加服务与维护计划"],"foot.rights":["All rights reserved.","Hak cipta dilindungi.","保留所有权利。"],"dock.group":["Quick contact","Kontak cepat","快速联系"],"dock.wa":["Chat on WhatsApp","Chat via WhatsApp","通过 WhatsApp 洽谈"],"dock.maps":["Open in Google Maps","Buka di Google Maps","在 Google 地图中打开"],"dock.call":["Call now","Telepon sekarang","立即致电"],"wa.general":["Hello Adtyaa, I read your article on why Google Ads campaigns are not serving and would like to discuss my business.", "Hello Adtyaa, I read your article on why Google Ads campaigns are not serving and would like to discuss my business.", "Hello Adtyaa, I read your article on why Google Ads campaigns are not serving and would like to discuss my business."],"wa.article":["Hello Adtyaa, I read your guide on why Google Ads campaigns are not serving and would like help auditing my Google Ads account.", "Hello Adtyaa, I read your guide on why Google Ads campaigns are not serving and would like help auditing my Google Ads account.", "Hello Adtyaa, I read your guide on why Google Ads campaigns are not serving and would like help auditing my Google Ads account."],"a.home":["Home","Beranda","首页"],"a.m1":["By Adtyaa","Oleh Adtyaa","作者：Adtyaa"],"a.m2":["10 October 2026","10 Oktober 2026","2026 年 10 月 10 日"],"a.m3":["9 min read","Baca 9 menit","阅读约 9 分钟"],"a.toc":["In this article","Dalam artikel ini","本文内容"],"cta.b1":["Talk to ADTYAA on WhatsApp","Hubungi ADTYAA lewat WhatsApp","通过 WhatsApp 联系 ADTYAA"],"cta.b2":["Send a project brief","Kirim brief proyek","提交项目简报"],"au.name":["Adtyaa, Founder of [DJURAGAN IKLAN ID<\/a>","Adtyaa, Founder of](https://maps.app.goo.gl/YRw1yaWB5xfHcjwq5) [DJURAGAN IKLAN ID<\/a>","Adtyaa，](https://maps.app.goo.gl/YRw1yaWB5xfHcjwq5) [DJURAGAN IKLAN ID<\/a> 创始人"],"au.bio":["Builds professional websites, SEO and digital advertising systems for B2B brands and startups.","Membangun website profesional, SEO, dan sistem iklan digital untuk brand B2B dan startup.","为 B2B 品牌与初创企业构建专业网站、SEO 与数字广告体系。"],"au.cta":["Talk to ADTYAA on WhatsApp","Hubungi ADTYAA lewat WhatsApp","通过 WhatsApp 联系 ADTYAA"],"au.alt":["Adtyaa, author of the B2B marketing agency Indonesia guide","Adtyaa, penulis panduan B2B marketing agency Indonesia","Adtyaa，B2B marketing agency Indonesia 指南作者"]}; var LI = { en: 0, id: 1, zh: 2 }; var L = "id"; var PHONE = "6281411188809", MAIL = "hallo@adtyaa.cloud";](https://maps.app.goo.gl/YRw1yaWB5xfHcjwq5)

function $(sel, ctx) { return Array.prototype.slice.call((ctx || root).querySelectorAll(sel)); } function byId(id) { return document.getElementById(id); } function t(key, lang) { var e = D[key]; if (!e) { return key; } var v = e[LI[lang || L]]; return (v === undefined || v === "") ? e[0] : v; } function msgLang() { return "id"; } function waUrl(m) { return "https://wa.me/" + PHONE + "?text=" + encodeURIComponent(m); }

var scLoaded = false; function loadSC() { if (scLoaded) { return; } scLoaded = true; var l = document.createElement("link"); l.rel = "stylesheet"; l.href = "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&display=swap"; document.head.appendChild(l); } function apply() { if (L === "zh") { loadSC(); } document.documentElement.setAttribute("lang", L === "zh" ? "zh-Hans" : L); root.setAttribute("data-l", L); $("[data-i18n]").forEach(function (el) { el.textContent = t(el.getAttribute("data-i18n")); }); $("[data-i18n-html]").forEach(function (el) { el.innerHTML = t(el.getAttribute("data-i18n-html")); }); $("[data-i18n-alt]").forEach(function (el) { el.setAttribute("alt", t(el.getAttribute("data-i18n-alt"))); }); $("[data-i18n-title]").forEach(function (el) { el.setAttribute("title", t(el.getAttribute("data-i18n-title"))); }); $("[data-i18n-aria]").forEach(function (el) { el.setAttribute("aria-label", t(el.getAttribute("data-i18n-aria"))); }); $("[data-wa]").forEach(function (el) { el.setAttribute("href", waUrl(t(el.getAttribute("data-wa"), msgLang()))); }); $("[data-lang]").forEach(function (b) { b.setAttribute("aria-pressed", b.getAttribute("data-lang") === L ? "true" : "false"); }); var st = byId("fs"); if (st) { st.textContent = ""; st.classList.remove("err"); } }

root.addEventListener("click", function (e) { var b = e.target.closest ? e.target.closest("[data-lang]") : null; if (!b) { return; } L = b.getAttribute("data-lang"); apply(); });

(function initLang() { var pick = null; try { var q = new URLSearchParams(window.location.search || "").get("lang"); if (q && LI[q] !== undefined) { pick = q; } } catch (x) {} if (pick) { L = pick; } })();

var hd = byId("hd"), bg = byId("bg"), mn = byId("mn"); var bar = root.querySelector(".prog span"); var ticking = false; function onScroll() { ticking = false; if (hd) { hd.classList.toggle("sc", window.scrollY > 8); } if (bar) { var h = document.documentElement.scrollHeight - window.innerHeight; var p = h > 0 ? Math.min(1, Math.max(0, window.scrollY / h)) : 0; bar.style.transform = "scaleX(" + p.toFixed(4) + ")"; } } window.addEventListener("scroll", function () { if (!ticking) { ticking = true; window.requestAnimationFrame(onScroll); } }, { passive: true }); onScroll();

function closeMenu() { if (mn) { mn.classList.remove("on"); } if (bg) { bg.setAttribute("aria-expanded", "false"); } } if (bg && mn) { bg.addEventListener("click", function () { var on = mn.classList.toggle("on"); bg.setAttribute("aria-expanded", on ? "true" : "false"); }); mn.addEventListener("click", function (e) { if (e.target.closest && e.target.closest("a")) { closeMenu(); } }); } document.addEventListener("keydown", function (e) { if (e.key === "Escape") { closeMenu(); } }); window.addEventListener("resize", function () { if (window.innerWidth > 1000) { closeMenu(); } });

var form = byId("cf"); if (form) { var fs = byId("fs"); var val = function (id) { var el = byId(id); return el ? el.value.trim() : ""; }; var optText = function (id) { var el = byId(id); if (!el || !el.value) { return ""; } var key = el.options[el.selectedIndex].getAttribute("data-i18n"); return key ? t(key, msgLang()) : el.options[el.selectedIndex].text; }; var setStatus = function (key, err) { fs.textContent = key ? t(key) : ""; fs.classList.toggle("err", !!err); }; var validate = function () { var ok = true; ["f-name", "f-service"].forEach(function (id) { var el = byId(id), bad = !el.value.trim(); el.setAttribute("aria-invalid", bad ? "true" : "false"); if (bad) { ok = false; } }); return ok; }; var compose = function () { var ml = msgLang(), lines = [t("wa.general", ml), ""]; var add = function (k, v) { if (v) { lines.push(t(k, ml) + ": " + v); } }; add("m.name", val("f-name")); add("m.email", val("f-email")); add("m.wa", val("f-wa")); add("m.url", val("f-url")); add("m.service", optText("f-service")); add("m.eng", optText("f-eng")); add("m.time", optText("f-time")); var m = val("f-msg"); if (m) { lines.push(""); lines.push(t("m.msg", ml) + ":"); lines.push(m); } return lines.join("\n"); }; byId("send-wa").addEventListener("click", function () { if (!validate()) { setStatus("f.err", true); return; } setStatus("f.okwa", false); window.open(waUrl(compose()), "_blank", "noopener"); }); byId("send-mail").addEventListener("click", function () { if (!validate()) { setStatus("f.err", true); return; } setStatus("f.okmail", false); var subject = t("m.subject", msgLang()) + " - " + val("f-name"); window.location.href = "mailto:" + MAIL + "?subject=" + encodeURIComponent(subject) + "&body=" + encodeURIComponent(compose()); }); form.addEventListener("submit", function (e) { e.preventDefault(); byId("send-wa").click(); }); ["f-name", "f-service"].forEach(function (id) { var el = byId(id); var clear = function () { if (el.value.trim()) { el.setAttribute("aria-invalid", "false"); } }; el.addEventListener("input", clear); el.addEventListener("change", clear); }); }

apply();

var reduce = window.matchMedia && window.matchMedia("(prefers-reduced-motion: reduce)").matches;

function initFx(host) { if (!host) { return; } var cv = document.createElement("canvas"); cv.className = "fx"; cv.setAttribute("aria-hidden", "true"); host.insertBefore(cv, host.firstChild); var ctx = cv.getContext("2d"); if (!ctx) { return; } var W = 1, H = 1, stars = [], dust = [], nodes = [], mx = -9999, my = -9999, onScreen = true; var sprite = document.createElement("canvas"); sprite.width = sprite.height = 48; var sg = sprite.getContext("2d"), grad = sg.createRadialGradient(24, 24, 0, 24, 24, 24); grad.addColorStop(0, "rgba(255,243,209,1)"); grad.addColorStop(.25, "rgba(230,200,140,.55)"); grad.addColorStop(1, "rgba(201,164,92,0)"); sg.fillStyle = grad; sg.fillRect(0, 0, 48, 48); function rnd(a, b) { return a + Math.random() * (b - a); } function seed() { var a = W * H, i; stars = []; dust = []; nodes = []; for (i = 0; i < Math.round(a / 9000); i++) { stars.push({ x: rnd(0, W), y: rnd(0, H), r: rnd(.3, 1.05), p: rnd(0, 6.28), s: rnd(.5, 1.6) }); } for (i = 0; i < Math.round(Math.min(46, 16 + a / 42000)); i++) { dust.push({ x: rnd(0, W), y: rnd(0, H), r: rnd(1.4, 3.6), vy: rnd(.1, .38), vx: rnd(-.07, .07), a: rnd(.25, .65), p: rnd(0, 6.28) }); } for (i = 0; i < Math.round(Math.min(64, Math.max(20, a / 24000))); i++) { nodes.push({ x: rnd(0, W), y: rnd(0, H), vx: rnd(-.12, .12), vy: rnd(-.1, .1) }); } } function size() { var r = host.getBoundingClientRect(), dpr = Math.min(window.devicePixelRatio || 1, 2); W = Math.max(1, r.width); H = Math.max(1, r.height); cv.width = Math.round(W * dpr); cv.height = Math.round(H * dpr); ctx.setTransform(dpr, 0, 0, dpr, 0, 0); seed(); draw(0, true); } function draw(t, still) { var i, j, n, m, dx, dy, d, al; ctx.clearRect(0, 0, W, H); for (i = 0; i < stars.length; i++) { n = stars[i]; al = .2 + .6 * (.5 + .5 * Math.sin(t * .001 * n.s + n.p)); ctx.fillStyle = "rgba(243,232,205," + (al * .75).toFixed(3) + ")"; ctx.beginPath(); ctx.arc(n.x, n.y, n.r, 0, 6.2832); ctx.fill(); } for (i = 0; i < nodes.length; i++) { n = nodes[i]; if (!still) { n.x += n.vx; n.y += n.vy; if (n.x < -10) { n.x = W + 10; } else if (n.x > W + 10) { n.x = -10; } if (n.y < -10) { n.y = H + 10; } else if (n.y > H + 10) { n.y = -10; } } for (j = i + 1; j < nodes.length; j++) { m = nodes[j]; dx = n.x - m.x; dy = n.y - m.y; if (dx > 150 || dx < -150 || dy > 150 || dy < -150) { continue; } d = Math.sqrt(dx * dx + dy * dy); if (d < 150) { ctx.strokeStyle = "rgba(217,188,130," + ((1 - d / 150) * .2).toFixed(3) + ")"; ctx.lineWidth = .7; ctx.beginPath(); ctx.moveTo(n.x, n.y); ctx.lineTo(m.x, m.y); ctx.stroke(); } } dx = n.x - mx; dy = n.y - my; d = Math.sqrt(dx * dx + dy * dy); if (d < 190) { ctx.strokeStyle = "rgba(246,231,189," + ((1 - d / 190) * .5).toFixed(3) + ")"; ctx.lineWidth = .9; ctx.beginPath(); ctx.moveTo(n.x, n.y); ctx.lineTo(mx, my); ctx.stroke(); } ctx.fillStyle = "rgba(230,205,150,.7)"; ctx.beginPath(); ctx.arc(n.x, n.y, 1.25, 0, 6.2832); ctx.fill(); } for (i = 0; i < dust.length; i++) { n = dust[i]; if (!still) { n.y -= n.vy; n.x += n.vx + Math.sin(t * .0006 + n.p) * .12; if (n.y < -12) { n.y = H + 12; n.x = rnd(0, W); } } ctx.globalAlpha = n.a * (.65 + .35 * Math.sin(t * .0012 + n.p)); ctx.drawImage(sprite, n.x - n.r * 3, n.y - n.r * 3, n.r * 6, n.r * 6); } ctx.globalAlpha = 1; } function loop(ts) { if (onScreen && !document.hidden) { draw(ts, false); } window.requestAnimationFrame(loop); } size(); if ("ResizeObserver" in window) { new ResizeObserver(function () { size(); }).observe(host); } else { window.addEventListener("resize", size); } if (reduce) { return; } if ("IntersectionObserver" in window) { new IntersectionObserver(function (es) { es.forEach(function (en) { onScreen = en.isIntersecting; }); }, { rootMargin: "100px" }).observe(host); } host.addEventListener("pointermove", function (e) { var r = host.getBoundingClientRect(); mx = e.clientX - r.left; my = e.clientY - r.top; }); host.addEventListener("pointerleave", function () { mx = -9999; my = -9999; }); window.requestAnimationFrame(loop); } initFx(root.querySelector(".ah")); initFx(root.querySelector(".final")); initFx(root.querySelector(".au")); if (reduce || !("IntersectionObserver" in window)) { return; } if (!document.body.classList.contains("elementor-editor-active")) { root.classList.add("js"); var rv = new IntersectionObserver(function (es) { es.forEach(function (en) { if (!en.isIntersecting) { return; } en.target.classList.add("in"); rv.unobserve(en.target); }); }, { threshold: 0, rootMargin: "0px 0px -6% 0px" }); $(".rv").forEach(function (el) { rv.observe(el); }); } })();

tetap bisa diseleksi/disalin. */ (function(){ 'use strict'; if(window.__cgOn)return;window.__cgOn=1; if(document.body&&document.body.classList.contains('elementor-editor-active'))return;

var doc=document; var EDITABLE="input,textarea,select,[contenteditable='true']"; var COPYABLE='.cm,address';

doc.documentElement.classList.add('cg-on');

function inEditable(el){return !!(el&&el.closest&&el.closest(EDITABLE))} function block(e){e.preventDefault()}

doc.addEventListener('contextmenu',function(e){ if(!inEditable(e.target))block(e); });

doc.addEventListener('dragstart',block);

doc.addEventListener('selectstart',function(e){ var t=e.target&&e.target.nodeType===1?e.target:(e.target&&e.target.parentElement); if(inEditable(t)||(t&&t.closest&&t.closest(COPYABLE)))return; block(e); });

doc.addEventListener('keydown',function(e){ var k=e.code,mod=e.ctrlKey||e.metaKey,stop=false; if(k==='F12'){ stop=true; }else if(mod&&!e.shiftKey&&!e.altKey&&(k==='KeyS'||k==='KeyU')){ stop=true; /* Ctrl/Cmd + S, U */ }else if( (mod&&e.shiftKey&&(k==='KeyI'||k==='KeyJ'||k==='KeyC'))|| /* Ctrl/Cmd + Shift + I, J, C */ (e.metaKey&&e.altKey&&(k==='KeyI'||k==='KeyJ'||k==='KeyC'||k==='KeyU')) /* Cmd + Option + I, J, C, U (Mac) */ ){ stop=true; } if(stop){block(e);e.stopPropagation()} },true);

/* Desktop saja: bila panel dev tools terbuka (docked), bersihkan console saat jendela di-resize */ if(window.matchMedia&&window.matchMedia('(hover:hover) and (pointer:fine)').matches){ var raf=0; window.addEventListener('resize',function(){ if(raf)return; raf=requestAnimationFrame(function(){ raf=0; if((window.outerWidth-window.innerWidth>200||window.outerHeight-window.innerHeight>260)&&window.console&&console.clear){console.clear()} }); },{passive:true}); } }());

tetap bisa diseleksi/disalin. */ (function(){ 'use strict'; if(window.__cgOn)return;window.__cgOn=1; if(document.body&&document.body.classList.contains('elementor-editor-active'))return;

var doc=document,root=doc.documentElement; var EDITABLE="input,textarea,select,[contenteditable='true']"; var COPYABLE='.cm,address'; var WM_MS=5000; /* lama watermark tampil setelah screenshot terdeteksi */ var wm=null,wmTimer=0;

root.classList.add('cg-on');

function inEditable(el){return !!(el&&el.closest&&el.closest(EDITABLE))} function block(e){e.preventDefault()}

/* ---------- Watermark screenshot ---------- */ function showWatermark(){ if(!wm){ if(!doc.body)return; wm=doc.createElement('div'); wm.className='cg-wm'; wm.setAttribute('aria-hidden','true'); doc.body.appendChild(wm); } root.classList.add('cg-shot'); clearTimeout(wmTimer); wmTimer=setTimeout(function(){root.classList.remove('cg-shot')},WM_MS); }

/* ---------- Print ---------- */ function printOn(){root.classList.add('cg-print')} function printOff(){root.classList.remove('cg-print')} window.addEventListener('beforeprint',printOn); window.addEventListener('afterprint',printOff); if(window.matchMedia){ var mq=window.matchMedia('print'); var onMq=function(e){e.matches?printOn():printOff()}; if(mq.addEventListener)mq.addEventListener('change',onMq); else if(mq.addListener)mq.addListener(onMq); }

/* ---------- Mouse / seleksi ---------- */ doc.addEventListener('contextmenu',function(e){ if(!inEditable(e.target))block(e); });

doc.addEventListener('dragstart',block);

doc.addEventListener('selectstart',function(e){ var t=e.target&&e.target.nodeType===1?e.target:(e.target&&e.target.parentElement); if(inEditable(t)||(t&&t.closest&&t.closest(COPYABLE)))return; block(e); });

/* ---------- Keyboard ---------- */ doc.addEventListener('keydown',function(e){ var k=e.code,mod=e.ctrlKey||e.metaKey,stop=false;

/* Screenshot: PrintScreen, Cmd+Shift+3/4/5/6 (Mac), Win+Shift+S */ if(k==='PrintScreen'||e.key==='PrintScreen'|| (e.metaKey&&e.shiftKey&&(k==='Digit3'||k==='Digit4'||k==='Digit5'||k==='Digit6'||k==='KeyS'))){ showWatermark(); }

if(k==='F12'){ stop=true; }else if(mod&&!e.altKey&&(k==='KeyP'||(!e.shiftKey&&(k==='KeyS'||k==='KeyU')))){ stop=true; /* Ctrl/Cmd + P (print), S, U */ }else if( (mod&&e.shiftKey&&(k==='KeyI'||k==='KeyJ'||k==='KeyC'))|| /* Ctrl/Cmd + Shift + I, J, C */ (e.metaKey&&e.altKey&&(k==='KeyI'||k==='KeyJ'||k==='KeyC'||k==='KeyU')) /* Cmd + Option + I, J, C, U (Mac) */ ){ stop=true; } if(stop){block(e);e.stopPropagation()} },true);

/* Di Windows, PrintScreen sering hanya mengirim keyup */ doc.addEventListener('keyup',function(e){ if(e.code==='PrintScreen'||e.key==='PrintScreen')showWatermark(); },true);

/* Desktop saja: bila panel dev tools terbuka (docked), bersihkan console saat jendela di-resize */ if(window.matchMedia&&window.matchMedia('(hover:hover) and (pointer:fine)').matches){ var raf=0; window.addEventListener('resize',function(){ if(raf)return; raf=requestAnimationFrame(function(){ raf=0; if((window.outerWidth-window.innerWidth>200||window.outerHeight-window.innerHeight>260)&&window.console&&console.clear){console.clear()} }); },{passive:true}); } }());
