Giveaway Campaign
Tarik pemenang secara automatik dari email-confirmed entries. Setiap pick adalah deterministic - boleh diverify oleh sesiapa dari seed dan snapshot hash yang public. Sokong 1 hingga 10 pemenang setiap campaign, referral mechanics, dan pelbagai cara untuk visitor dapat extra entries.
Bila guna giveaway? Untuk launch baru (bagi 3 buyer pertama dapat free copy), drive referral traffic (visitor share untuk dapat extra entries), validate demand (kumpul email + qualify dengan URL proof), atau reward repeat buyers (action_type buyer_product). Untuk waitlist tanpa pemenang, guna Lead / Prelaunch page. Untuk ranking + voting public, guna Pertandingan Baya.
1. Cipta campaign baru
Pergi ke Dashboard → Campaigns → New campaign. Anda akan masuk ke form dengan beberapa tab. Mula dengan tab Basics:
- Campaign name + slug. Slug adalah URL slug untuk public page anda di
/g/[slug]. Contoh: "raya-2026". Auto-generate dari name, tapi anda boleh edit. - Starts / Ends / Draw dates. Starts dan Ends decide bila visitor boleh enter. Draw date adalah bila anda boleh klik Pick winners (tak automatic). Pastikan
draw_at >= end_at. - Prize text + prize image. Prize text papar pada public card. Prize image ialah hero visual + link preview di WhatsApp / Facebook / X (recommended 1200x675 / 16:9). Anda boleh upload gambar atau Generate dengan AI - templates sudah inject prize text untuk hasil yang relevant.
- Number of winners (1 - 10). Anda boleh pilih multiple winners untuk satu campaign - semua dipilih serentak dari snapshot yang sama, semua dapat prize yang sama. Field ini di-lock setelah anda klik Pick winners (snapshot frozen, tak boleh ubah odds selepas tu).
- Theme + CTA label + T&C URL. Theme decide warna dan visual style public card. T&C URL wajib - link kepada terms anda sendiri (atau link kepada page yang anda buat dalam Baya). Phone number field dan public leaderboard adalah optional.
2. Tetapkan cara entries dikira (Eligibility tab)
Eligibility config decide berapa entries setiap visitor dapat dan untuk apa. Setiap action ada weight - berapa entries yang slot tu beri. Weight di-snapshot bila visitor verify, jadi kalau anda ubah weight kemudian, entry yang lama tak terjejas.
Wajib ada. Setiap entry yang confirm email dapat weight ini. Default 1 entry. Naikkan ke 2 - 5 kalau anda nak email baseline lebih bernilai berbanding referral.
Bonus untuk inviter bila friend confirm email mereka. Default +5 per friend. Anti-self-referral aktif - referrer dengan IP yang sama dengan referee tak dapat credit (false positive boleh berlaku pada shared NAT seperti rumah / pejabat - acceptable trade-off).
+N entries kalau visitor sudah membeli product anda dengan email yang sama (status: success). Auto-verified - visitor klik Verify, system check orders table.
+N entries kalau visitor sudah submit form pada lead page anda dengan email yang sama. Auto-verified macam buyer_product.
+N entries kalau visitor sudah tinggal approved review untuk product anda. Sesuai untuk reward customer feedback.
Visitor paste URL untuk prove mereka share / post tentang giveaway anda di TikTok / Instagram / X / etc. Anda set required_domains (mis. ['tiktok.com']) untuk constraint URL kepada platform tertentu. Optional toggle Require manual review - kalau ON, submission masuk dalam dashboard untuk anda approve/disqualify; kalau OFF, auto-trust (entries dikira serta-merta).
3. Captcha (Settings tab)
Captcha ON by default - kuat-kuat sokong. Bot fill semua entries dalam masa 30 saat senang, dan email confirmation tak protect kalau bot ada email throwaway pool.
- Default
*.baya.myauto-handled. Public giveaway page di{workspace}.baya.my/g/{slug}guna Baya internal Cloudflare Turnstile widget. - Custom domain? Kalau anda guna custom domain (mis.
giveaway.brandanda.com), Baya tak boleh guna widget kami untuk validate hostname tersebut. Anda perlu register Cloudflare Turnstile widget anda sendiri (free tier OK) dan paste Site Key + Secret Key dalam Settings tab. Each domain = own widget. Lihat box biru dalam form untuk panduan setup.
4. Embed atau standalone (Embed tab)
Selepas publish, campaign anda hidup di /g/[slug]. Tapi anda boleh embed pada mana-mana sales / lead page anda untuk drive entries dari traffic sedia ada.
- Standalone URL - copy dan share URL
{workspace}.baya.my/g/{slug}di social media / WhatsApp / email. - Embed pada sales/lead page - dalam Embed tab, pilih page mana yang anda nak letak block giveaway tu. Visual Edit akan tunjuk block tersebut dan anda boleh adjust kedudukan dalam sales page editor. Sesuai untuk launch tertentu (mis. giveaway free copy untuk visitor sales page).
- Share link target - dalam Settings tab, default share link adalah
/g/[slug]. Tukar kepada source page kalau anda nak referral traffic landed kembali pada sales page anda (bukan giveaway page kosong) - elok untuk maintain marketing context.
5. Apa yang visitor lihat
- Sign up dengan email- visitor klik "Enter (N entries) →" pill, masukkan email (dan name + phone kalau toggled), tick T&C, submit. Captcha dijalankan secara silent.
- Confirm email - visitor terima email dengan link confirm. Klik = entry diaktifkan, baseline weight ditambah, share panel muncul.
- Action lain locked sebelum confirm- referral, buyer verification, URL proof semua tunjuk pill "🔒 Sign up first" sebelum visitor sign up + confirm. Selepas confirm, button Verify / Submit URL muncul.
- Share panel + leaderboard - visitor dapat URL share dengan
?ref=...token. Setiap friend yang confirm dengan link tersebut beri inviter referral bonus. Public leaderboard (kalau enabled) papar top 10 referrers (masked email atau first name + initial).
6. Pilih pemenang
Selepas draw_at sampai, masuk ke Dashboard → Campaigns → [campaign] → Draw winner. Klik Pick N winners.
- Atomic pick - semua N pemenang dipilih serentak dalam satu transaction. Tak ada partial state.
- Email automatik - setiap pemenang dapat email dengan subject "You won (1st winner) — [campaign name]" (atau tanpa position kalau N=1). Email ini wajib dan tak boleh disable - jaminan integrity bahawa pemenang yang dipilih oleh algoritma betul-betul tahu mereka menang.
- Audit certificate public - di
/g/[slug]/draw/[drawId]. Papar masked email + name setiap pemenang, seed, snapshot SHA-256, total entries, total weight, dan algoritma version (baya-giveaway-v2). Sesiapa boleh reproduce setiap pemenang dari maklumat ini sahaja. - Resend email per slot- kalau email satu pemenang bounce, klik Resend pada card tu. Per-slot indicator papar "Email sent" atau "Email not sent" supaya partial failure visible.
7. Forfeit dan redraw
Pemenang tak respond dalam masa 7 hari? Anda boleh forfeit slot tersebut sahaja - pemenang lain tak terjejas.
- Per-position forfeit - klik Forfeit this slot pada card pemenang. Confirm dengan reason (optional, untuk audit).
- Per-position redraw - selepas forfeit, button Redraw [position] muncul. Pemenang baru dipilih dari snapshot yang sama, kecuali entries yang sudah pernah jadi pemenang (active atau forfeited - no recycling).
- Cap 2 redraw per position - selepas itu, anda tak boleh redraw lagi untuk slot tu. Cap ini protect dari scenario re-draw selama-lamanya sehingga orang tertentu menang. Hubungi support kalau anda perlu pengecualian.
- Public certificate update- audit trail penuh ditunjuk: pemenang asal (strikethrough "Forfeited") + replacement winner sebelahnya. Transparency sepenuhnya.
8. Tips dan gotchas
- Number of winners locked selepas pick. Tetapkan dengan teliti sebelum klik Pick winners. Selepas snapshot frozen, field ini di-lock supaya seller tak boleh ubah odds selepas tahu siapa kandidat.
- Free trial = 1 active campaign. Paid plans uncapped. Archive campaign lama kalau anda nak mula yang baru tetapi sudah hit cap.
- Phone number field optional. Tapi kalau anda nak enable WhatsApp notification channel untuk pemenang, phone field MESTI ON. Form refinement akan reject submit.
- Total entries mesti >= number of winners. Kalau anda set 5 winners tapi cuma 3 entries confirmed pada draw_at, freeze akan reject. Backup plan: turunkan winner_count sebelum freeze, atau extend deadline.
- Entries CSV export tersedia di Entries tab → Export. Sesuai untuk follow-up marketing kepada non-winners (kalau T&C anda allow).
- URL proof submissions ada tab khusus dalam Entries page. Kalau action tu set Require manual review, semua submission masuk pending sehingga anda approve atau disqualify.