Daftar tunggu untuk SaaS baru7 menit baca
Cara membangun daftar email pra-peluncuran untuk peluncuran di Product Hunt
Kumpulkan daftar peluncuran berminggu-minggu sebelum Product Hunt, tandai setiap pendaftaran per channel, dan kirim email hari-H dalam dua gelombang mengikuti reset waktu Pasifik.
Mulai kumpulkan email di halaman Anda sendiri empat sampai enam minggu sebelum peluncuran, dengan field sumber tersembunyi agar Anda tahu dari channel mana setiap pendaftaran datang. Minta orang menyetujui email di hari peluncuran, lalu ekspor daftarnya seminggu sebelumnya dan bagi menjadi dua pengiriman: satu tepat setelah hari Product Hunt dimulai pukul 12.01 dini hari waktu Pasifik, dan satu untuk wilayah Amerika di pagi hari mereka.
Peluncuran di Product Hunt punya tanggal tetap dan jendela 24 jam. Orang yang paling mungkin mencoba produk Anda dan meninggalkan komentar yang bermakna adalah mereka yang meminta dikabari, jadi daftarnya lebih penting daripada postingan peluncuran. Halaman ini membahas apa yang berubah ketika daftar dibangun untuk satu hari itu.
Apa bedanya daftar untuk Product Hunt
- Tenggatnya tetap. Daftar tunggu biasa bisa menunggu sampai produk siap. Di sini, daftar harus diekspor, dibersihkan, dan dimuat ke tool email Anda sebelum tanggal yang Anda pilih berminggu-minggu lalu.
- Harinya mengikuti waktu Pasifik. Peluncuran tayang pukul 12.01 dini hari PT dan bersaing untuk peringkat hari itu. Daftar Anda tersebar di semua zona waktu, jadi satu pengiriman di satu jam akan menemui setengahnya sedang tidur.
- Yang diminta adalah masukan, bukan vote. Aturan Product Hunt melarang meminta upvote, dan melakukannya bisa membuat peluncuran didiskualifikasi. Minta daftar Anda mencoba produknya dan berkomentar tentang apa yang ingin mereka ubah. Ini sesuai aturan, dan komentar lebih menarik dibaca daripada sekadar angka.
- Hari peluncuran membawa lonjakan. Pengunjung Product Hunt mendarat di situs Anda dan mendaftar dalam hitungan menit satu sama lain. Batas formulir yang tidak pernah berpengaruh selama berminggu-minggu bisa berpengaruh selama beberapa jam.
- Empat sampai enam minggu sebelumnya, halaman tayang dengan formulir, dan setiap channel tempat Anda membagikannya mendapat nilai ref sendiri.
- Seminggu sebelumnya, ekspor daftar, hapus duplikat, dan bagi orang yang menyetujui menjadi dua gelombang berdasarkan negara.
- Sehari sebelumnya, naikkan batas untuk seluruh formulir agar trafik peluncuran tidak ditolak.
- Pukul 12.01 dini hari waktu Pasifik, peluncuran tayang.
- Beberapa menit kemudian, kirim gelombang 1 ke semua orang di luar wilayah Amerika, tempat saat itu pagi atau siang.
- Sekitar pukul 06.00 waktu Pasifik, kirim gelombang 2 ke wilayah Amerika.
- Keesokan harinya, ucapkan terima kasih ke daftar dan bandingkan nilai ref mana yang membawa orang yang mendaftar dan bertahan.
Formulirnya
Mulai dari formulir yang hanya berisi email di panduan utama dan tambahkan dua hal: checkbox yang meminta persetujuan email di hari peluncuran, dan ref tersembunyi yang diisi dari link tempat orang datang.
<form id="launch-list" action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
<label for="email">Email</label>
<input id="email" name="email" type="email" autocomplete="email" required>
<label>
<input name="launch_reminder" type="checkbox" value="true">
Email me the morning we launch on Product Hunt
</label>
<input type="hidden" name="ref" value="direct">
<input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden>
<button>Get early access</button>
</form>
<script>
const params = new URLSearchParams(location.search);
const ref = params.get("ref") || params.get("utm_source");
if (ref) {
document.querySelector('#launch-list [name="ref"]').value = ref.toLowerCase().replace(/[^a-z0-9_-]/g, "").slice(0, 40);
}
</script>- Checkbox dimulai dalam keadaan tidak dicentang. Email di hari peluncuran berbeda dari akses awal, jadi orang harus menyetujuinya sendiri. Ikiform menyimpan
trueataufalsebersama timestamp pendaftaran. - Skrip menyalin
?ref=atau?utm_source=ke input tersembunyi dan membuang apa pun yang bukan huruf, angka,-, atau_. Tanpa keduanya,reftetapdirect. - Product Hunt biasanya menambahkan
ref=producthuntke link di halaman peluncuran Anda, jadi pendaftaran di hari peluncuran menandai dirinya sendiri.
Tambahkan definisi field di tab Fields formulir. Ikiform lalu menolak kiriman yang tidak menyertakan email, menyimpan checkbox sebagai true atau false sungguhan, dan membatasi ref hingga 40 karakter agar tidak ada yang bisa mengisinya berlebihan.
{
"version": 1,
"title": "Launch list",
"fields": [
{ "id": "email", "type": "email", "label": "Email", "required": true },
{ "id": "launch_reminder", "type": "checkbox", "label": "Email me the morning we launch on Product Hunt" },
{ "id": "ref", "type": "text", "label": "Source", "validation": { "max_length": 40 } }
]
}Satu ref per channel
Tentukan nilainya sebelum Anda membagikan link di mana pun, dan pakai setiap kali:
| Tempat Anda membagikan | Link | Ref yang disimpan |
|---|---|---|
| Postingan X atau Bluesky Anda | example.com/?ref=x | x |
example.com/?ref=linkedin | linkedin | |
| Postingan komunitas, seperti Indie Hackers | example.com/?ref=ih | ih |
| Newsletter atau blog Anda | example.com/?utm_source=newsletter | newsletter |
| Halaman peluncuran Product Hunt Anda | Ditambahkan oleh Product Hunt | producthunt |
Siapkan formulir untuk trafik peluncuran
Batas default cocok untuk halaman pra-peluncuran yang sepi. Hari peluncuran tidak sepi. Setiap pengunjung bisa mengirim 5 per menit, yang sudah lebih dari cukup, tetapi seluruh formulir dibatasi 300 per menit. Peluncuran yang masuk halaman depan bisa mengirim lebih banyak pendaftaran dari itu di menit yang ramai.
- Sehari sebelumnya, buka pengaturan formulir dan pilih rate limit Custom dengan batas formulir yang lebih tinggi. Kembalikan setelah minggu peluncuran.
- Jika Anda melakukan demo di meetup atau co-working space, semua orang berbagi satu IP. Pilih Relaxed untuk hari itu.
- Kiriman yang ditolak mendapat
429 rate_limiteddan headerRetry-After. Formulir HTML biasa menampilkan halaman error Ikiform dengan link untuk kembali. - Aktifkan pemeriksaan manusia di Spam check jika hari peluncuran mendatangkan bot. Formulir biasa tidak perlu diubah untuk itu; lihat perlindungan spam.
Bagi email peluncuran menjadi dua gelombang
Seminggu sebelum peluncuran, baca daftar lewat REST API dan bagi. Skrip ini menyimpan pendaftaran terbaru per email, membuang siapa pun yang tidak mencentang kotak, dan menulis dua file CSV berdasarkan negara yang dicatat Ikiform. Skrip ini butuh secret key dengan submissions:read.
import { writeFileSync } from "node:fs";
import { createClient } from "@ikiform/sdk";
const AMERICAS = new Set(["US", "CA", "MX", "BR", "AR", "CO", "CL", "PE", "EC", "UY", "PY", "BO", "VE", "GT", "CR", "PA", "DO", "PR"]);
const ikiform = createClient({ apiKey: process.env.IKIFORM_SECRET_KEY });
const seen = new Set();
const waves = { midnight: [], morning: [] };
for await (const submission of ikiform.submissions.iterate({ formId: "frm_xxxxxxxxxxxxxxxx", status: "received", limit: 100 })) {
const email = String(submission.fields.email ?? "").trim().toLowerCase();
if (!email || seen.has(email)) continue;
seen.add(email);
if (submission.fields.launch_reminder !== true) continue;
const country = submission.meta.country ?? "";
const wave = !country || AMERICAS.has(country) ? waves.morning : waves.midnight;
wave.push([email, String(submission.fields.ref ?? "").replaceAll(",", ""), country].join(","));
}
for (const [name, rows] of Object.entries(waves)) {
writeFileSync(`wave-${name}.csv`, ["email,ref,country", ...rows].join("\n"));
console.log(`${name}: ${rows.length} people`);
}- Pendaftaran datang dari yang terbaru, jadi orang yang mendaftar dua kali dinilai dari jawaban terakhirnya. Jika mereka tidak mencentang kotak di kali kedua, mereka tidak diikutkan.
- Impor kedua file ke tool email Anda sebagai segmen terpisah dan jadwalkan: gelombang 1 beberapa menit setelah pukul 12.01 dini hari waktu Pasifik, gelombang 2 sekitar pukul 06.00 waktu Pasifik.
- Jalankan sekali lagi pada malam sebelum peluncuran untuk menangkap pendaftaran minggu terakhir.
Email di hari peluncuran
Kirim dari tool email Anda, agar unsubscribe dan bounce tertangani. Awali dengan produknya, taruh link halaman peluncuran di urutan kedua, dan minta komentar, bukan vote:
Subject: We're on Product Hunt today
Hi,
You joined the Acme list a few weeks ago. Today we launched on Product Hunt,
and the product is open to everyone on this list first.
Try it: https://acme.example/start
Our launch page: https://www.producthunt.com/products/acme
If you have a minute, tell us on the launch page what you'd change.
Honest comments help more than anything else today.
Ada, founder of AcmeSehari setelahnya
Ekspor daftar lagi dengan Export CSV, difilter ke 7 hari terakhir, dan hitung pendaftaran berdasarkan ref. Channel yang membawa orang yang kemudian sign-in adalah tempat postingan peluncuran Anda berikutnya. Kirim ucapan terima kasih singkat dari tool email Anda kepada orang yang bergabung di hari peluncuran; mereka menemukan Anda lewat Product Hunt dan belum pernah mendengar kabar dari Anda.
Pastikan berfungsi
Lakukan ini seminggu sebelum peluncuran, bukan di malam harinya.
- Di Allowed domains formulir, tambahkan domain situs Anda, ditambah
localhostselama pengembangan. Biarkan kosong untuk menerima kiriman dari mana saja. - Buka halaman dengan
?ref=xlalu kirim. Kiriman menampilkanrefsebagaixdanlaunch_remindersebagaifalse. - Kirim lagi dengan kotak dicentang dan tanpa query string.
refberisidirectdanlaunch_reminderberisitrue. - Buka Submissions di dashboard. Kiriman baru ada di sana dengan setiap field yang Anda kirim.
- Jalankan skrip gelombang dan pastikan setiap alamat uji ada di file yang sesuai dengan negaranya.
- Tidak ada yang masuk? Ubah filter status di dashboard ke Spam. Spam mendapat jawaban sukses yang sama dengan kiriman asli.
Jebakan
| Masalah | Yang harus dilakukan |
|---|---|
429 rate_limited | Satu pengunjung mengirim melebihi rate limit formulir. Standard mengizinkan 5 per menit per pengunjung. Tunggu sesuai Retry-After, atau pilih Relaxed atau Custom untuk formulir yang mengirim dari satu IP bersama. |
422 dengan Unknown field untuk utm_source atau parameter lain | Hanya ref yang didefinisikan. Skrip membaca utm_source ke dalam ref alih-alih mengirimnya, jadi pastikan Anda tidak menambahkan input tersembunyi lain. |
Setiap pendaftaran punya ref bernilai direct | Skrip berjalan sebelum formulirnya ada, atau id formulirnya berbeda. Letakkan skrip setelah formulir dan pertahankan id="launch-list". |
| Negara kosong di hasil ekspor | Ikiform tidak bisa mengetahui lokasi pengunjung. Skrip menaruh negara kosong di gelombang pagi, yang menjangkau wilayah Amerika saat terjaga dan semua orang lainnya di siang atau sore hari mereka. |
| Kiriman ada di dashboard tetapi tidak ada email atau webhook yang datang | Kiriman itu disimpan sebagai spam. Spam tidak memicu apa pun. Buka di filter Spam untuk melihat alasannya, dan tandai sebagai bukan spam untuk mengirim email dan webhook-nya. |
Pertanyaan
Empat sampai enam minggu memberi Anda waktu untuk membagikan halaman di beberapa tempat dan mempelajari mana yang berhasil. Mulai lebih awal jika Anda belum punya audiens; daftarnya tumbuh lambat di awal.
Tidak. Aturan Product Hunt melarang meminta upvote, dan melakukannya bisa membuat peluncuran didiskualifikasi. Minta orang mencoba produknya dan meninggalkan komentar tentang apa yang ingin mereka ubah. Itu membuat Anda tetap sesuai aturan dan memberi Anda masukan yang bisa dipakai.
Peluncuran tayang pukul 12.01 dini hari waktu Pasifik. Kirim satu gelombang beberapa menit kemudian ke orang di luar wilayah Amerika, dan gelombang kedua sekitar pukul 06.00 waktu Pasifik ke wilayah Amerika, agar kebanyakan orang membacanya di pagi hari mereka.
Biasanya ya. Setiap kiriman mencatat negara koneksi pengunjung jika memungkinkan, dan negara itu muncul di API dan webhook sebagai meta.country. Nilainya bisa kosong, jadi anggap saja sebagai petunjuk.
Tidak, tidak ada paket gratis. Pengujian gratis: Anda bisa mengirim 50 kiriman uji per bulan dari localhost sebelum membayar. Untuk go live, Pro mulai $6/bln untuk 500 kiriman, atau Anda bisa bayar sekali untuk 10.000 kiriman seharga $49 atau 50.000 kiriman seharga $149, dengan kredit yang tidak pernah kedaluwarsa.
Mentok di salah satu langkah, atau ingin panduan untuk situasi Anda? Email hello@ikiform.com.