NPS anket formu
Ziyaretçinin sizi önerme olasılığını 0 ile 10 arasında sorun, sonra isteğe bağlı yorum. JavaScript varsa iki adım, tek gönderim.
Tilda mı kullanıyorsunuz? Kodu T123 bloğuna yapıştırın (ücretli plan) ya da kodsuz webhook'u kullanın.
Kopyaladığınız şey
Bu başlangıç şablonu, bir ziyaretçinin sizi önerme olasılığını 0 ile 10 arasında bir ölçekte sorar, sonra isteğe bağlı bir yorum sunar.
Bu, sizin ziyaretçilerinize yönelik bir ankettir. Ziyaretçi, sizi başkalarına önermeyi değerlendirir. Formgong'un bir puanı değildir ve bu site ürün için bir skor yayımlamaz.
JavaScript varken yorum ikinci adımdadır. Betik bu adımı yalnızca bir sayı seçildikten sonra gösterir.
JavaScript yokken küçük bir noscript stili iki adımı birden gösterir. Ziyaretçi yine de tek bir form gönderebilir.
POST tektir ve sondadır. İlk adım kısmi bir başvuru göndermez.
Telegram'ın göstereceği alanlar
Puan, adı score olan bir radyo grubudur. Telegram score yazar, sonra 0 ile 10 arasındaki sayıyı yazar.
Yorum alanının adı comment olarak kalır. E-posta isteğe bağlıdır ve adı email olur, böylece biri bir adres bırakırsa yanıt verebilirsiniz.
Adı score olan ikinci bir grup eklemeyin. Aynı adı taşıyan radyolar tek bir yanıttır.
botcheck honeypot'u dahildir, boştur ve ekran dışındadır. Doldurulmuş bir honeypot spam sayılır ve iletilmez.
Ek snippet, adımlardan sonra aynı yanıtları fetch ile JSON olarak gönderir. Forma yine de erişim anahtarı gerekir.
Siz bunu açana ve bir site anahtarı yapıştırana kadar Turnstile yorumda kalır. YOUR_TURNSTILE_SITE_KEY bir yer tutucudur, çalışan bir anahtar değildir.
Bunun iddia etmediği şeyler
Şablon bir destekçi endeksi, bir grafik ya da bir kıyas ölçütü hesaplamaz. Sayıları gelen kutusunda ya da Telegram'da okursunuz.
Potansiyel müşterilere puan vermez ve yanıtları bir modele göndermez. Sayı yalnızca bir alandır. Gelen kutuda okuduğunuz değer, formun gönderdiği sayıdır.
Ücretsiz plan başvuruları 30 gün tutar ve ayda 300 başvuruya izin verir. Telegram anında gelir. Ücretsiz planda her başvuru için e-posta gelir.
Saklama AB'dedir. İşleten Formgong'dur. Ürün hakkında support@formgong.com adresine yazın.
Bu iki adımlı soru yerine uzun bir sektör formu gerekiyorsa merkezdeki sektör şablonlarını kullanın.
Önizleme
Form kodu
<form id="fg-nps" action="https://formgong.com/submit" method="POST" style="position:relative">
<input type="hidden" name="access_key" value="fk_your_access_key">
<input type="hidden" name="_lang" value="tr">
<fieldset data-step="1">
<legend>Bizi önerme olasılığınız nedir?</legend>
<p><span>Düşük</span> <span>Yüksek</span></p>
<label><input type="radio" name="score" value="0" required> 0</label>
<label><input type="radio" name="score" value="1" required> 1</label>
<label><input type="radio" name="score" value="2" required> 2</label>
<label><input type="radio" name="score" value="3" required> 3</label>
<label><input type="radio" name="score" value="4" required> 4</label>
<label><input type="radio" name="score" value="5" required> 5</label>
<label><input type="radio" name="score" value="6" required> 6</label>
<label><input type="radio" name="score" value="7" required> 7</label>
<label><input type="radio" name="score" value="8" required> 8</label>
<label><input type="radio" name="score" value="9" required> 9</label>
<label><input type="radio" name="score" value="10" required> 10</label>
<button type="button" data-next>İleri</button>
</fieldset>
<fieldset data-step="2" hidden>
<label>Neyi bilmeliyiz? <textarea name="comment"></textarea></label>
<label>E-posta <input type="email" name="email" autocomplete="email"></label>
<button type="button" data-back>Geri</button>
<button type="submit">Gönder</button>
</fieldset>
<div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
<label>Bu alanı boş bırakın <input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
<!--
İsteğe bağlı. Bu form için Turnstile açın, sonra bu yorum işaretlerini kaldırın ve site anahtarınızı yapıştırın.
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<div class="cf-turnstile" data-sitekey="YOUR_TURNSTILE_SITE_KEY" data-language="tr"></div>
-->
</form>
<noscript><style>[data-step]{display:block}</style></noscript>
<script>
(function () {
var form = document.getElementById("fg-nps");
if (!form) return;
var steps = form.querySelectorAll("[data-step]");
function show(index) {
steps.forEach(function (step, i) { step.hidden = i !== index; });
}
var next = form.querySelector("[data-next]");
var back = form.querySelector("[data-back]");
if (next) next.addEventListener("click", function () {
var picked = form.querySelector('input[name="score"]:checked');
if (!picked) return;
show(1);
});
if (back) back.addEventListener("click", function () { show(0); });
})();
</script>Aynı yanıtlar tek bir JSON fetch ile
<form id="fg-nps" action="https://formgong.com/submit" method="POST" style="position:relative">
<input type="hidden" name="access_key" value="fk_your_access_key">
<input type="hidden" name="_lang" value="tr">
<fieldset data-step="1">
<legend>Bizi önerme olasılığınız nedir?</legend>
<p><span>Düşük</span> <span>Yüksek</span></p>
<label><input type="radio" name="score" value="0" required> 0</label>
<label><input type="radio" name="score" value="1" required> 1</label>
<label><input type="radio" name="score" value="2" required> 2</label>
<label><input type="radio" name="score" value="3" required> 3</label>
<label><input type="radio" name="score" value="4" required> 4</label>
<label><input type="radio" name="score" value="5" required> 5</label>
<label><input type="radio" name="score" value="6" required> 6</label>
<label><input type="radio" name="score" value="7" required> 7</label>
<label><input type="radio" name="score" value="8" required> 8</label>
<label><input type="radio" name="score" value="9" required> 9</label>
<label><input type="radio" name="score" value="10" required> 10</label>
<button type="button" data-next>İleri</button>
</fieldset>
<fieldset data-step="2" hidden>
<label>Neyi bilmeliyiz? <textarea name="comment"></textarea></label>
<label>E-posta <input type="email" name="email" autocomplete="email"></label>
<button type="button" data-back>Geri</button>
<button type="submit">Gönder</button>
</fieldset>
<div aria-hidden="true" style="position:absolute;inset-inline-start:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)">
<label>Bu alanı boş bırakın <input type="text" name="botcheck" tabindex="-1" autocomplete="off"></label>
</div>
<!--
İsteğe bağlı. Bu form için Turnstile açın, sonra bu yorum işaretlerini kaldırın ve site anahtarınızı yapıştırın.
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
<div class="cf-turnstile" data-sitekey="YOUR_TURNSTILE_SITE_KEY" data-language="tr"></div>
-->
</form>
<noscript><style>[data-step]{display:block}</style></noscript>
<script>
(function () {
var form = document.getElementById("fg-nps");
if (!form) return;
var steps = form.querySelectorAll("[data-step]");
function show(index) {
steps.forEach(function (step, i) { step.hidden = i !== index; });
}
var next = form.querySelector("[data-next]");
var back = form.querySelector("[data-back]");
if (next) next.addEventListener("click", function () {
var picked = form.querySelector('input[name="score"]:checked');
if (!picked) return;
show(1);
});
if (back) back.addEventListener("click", function () { show(0); });
})();
</script>
<script>
(function () {
var form = document.getElementById("fg-nps");
if (!form) return;
var status = document.createElement("p");
status.setAttribute("role", "status");
form.appendChild(status);
form.addEventListener("submit", function (event) {
event.preventDefault();
var data = Object.fromEntries(new FormData(form));
fetch("https://formgong.com/submit", {
method: "POST",
headers: { "Content-Type": "application/json", Accept: "application/json" },
body: JSON.stringify(data)
}).then(function (res) { return res.json(); }).then(function (result) {
status.textContent = result && result.success ? (result.message || "Gönderildi. Teşekkürler!") : ((result && result.message) || "Gönderilemedi. Lütfen tekrar deneyin.");
if (result && result.success) form.reset();
}).catch(function () {
status.textContent = "Gönderilemedi. Lütfen tekrar deneyin.";
});
});
})();
</script>Sorular ve yanıtlar
0 alt uç mu?
Evet. Radyolar 0'dan 10'a gider. Etiketler hangi ucun düşük, hangi ucun yüksek olduğunu söyler. Saklanan değer sayıdır.
Yorumu zorunlu yapabilir miyim?
Textarea üzerine required özniteliğini ekleyebilirsiniz. Bu başlangıç şablonu onu isteğe bağlı bırakır ki yalnızca puan da gönderilebilsin.
İlk adım bir şey kaydeder mi?
Hayır. Formgong, form gönderildiğinde tek bir başvuru alır. Yoruma geçmek bir gönderim yapmaz.
E-posta neden isteğe bağlı?
Bazı kişiler bir puan paylaşır ve adres bırakmaz. Bir yanıt yolu gerekiyorsa bunu etikette söyleyin ve alanı required olarak işaretleyin.