ビルダーのフォームを卒業する2 分で読めます
Carrd のフォーム:送信データをフォームバックエンドに送る
Carrd のお問い合わせフォームはメールで届けるだけで、カスタムフォームには Pro Plus が必要です。すべての送信を保存するには、Plus なら Send to URL、Standard なら HTML の埋め込みを使います。
Carrd のフォームには Pro プランが必要です。Pro Standard ではお問い合わせフォームと登録フォームが使え、Pro Plus では任意の URL に送信できるカスタムフォームが加わります。Pro Plus ではカスタムフォームを Ikiform のエンドポイントへの Send to URL に設定すれば、Carrd 自身の成功メッセージも残ります。Pro Standard では HTML のフォームを Embed 要素に貼り付ければ、アップグレードせずに自由なフィールドを使えます。
Carrd ならではの違い
Carrd に送信数の上限はありません。フォームの機能をプランで分けており、各プランは決まった数のサイトに対する年額料金です。2026 年 10 月時点で、Carrd の料金ページとドキュメントでは次のように分かれています。
| プラン | 使えるフォーム | 意味すること |
|---|---|---|
| Free と Pro Lite | なし | フォーム要素も埋め込みもなし。別の場所のフォームにリンクするか、アップグレードします |
| Pro Standard(年 $19 から) | 最大 5 人の受信者にメールを送る Contact フォーム、メールツールに登録者を追加する Signup フォーム、Embed 要素 | お問い合わせフォームのフィールドは固定です。埋め込みには自作のフォームを含め、どんな HTML でも入れられます |
| Pro Plus(年 $49 から) | 上記すべてに加えて Custom フォーム。メールを送るか、Airtable、Make、n8n、Zapier、URL、自分のコードに送信できます | フィールドは自由で、Send to URL で好きな場所に送信できます |
Carrd のお問い合わせフォームは各メッセージを @mail.carrd.site からメールで届けるので、受信トレイが記録になり、迷惑メールに振り分けられたメッセージは見落としがちです。移行するよくある理由はこれです。1 つのメールボックスではなく、保存されて検索できる一覧、エクスポート、チーム全員への通知がほしいのです。
Mailchimp、Kit などのメールツールに新しい購読者を追加したいだけなら、Pro Standard の Carrd の Signup フォームですでにでき、そちらのほうが適しています。Ikiform にはメールツールとのワンクリック連携はありません。
- 無料プランや Pro Lite にはフォーム要素も埋め込みもないので、つなぐものがありません。アップグレードするか、別の場所でホストしたフォームにリンクしてください。
- Pro Standard では、HTML のフォームを Embed 要素に貼り付けます。訪問者のブラウザーがそれを Ikiform に送信します。
- Pro Plus では、Carrd のエディターで Custom フォームを作り、AJAX メソッドの Send to URL に設定します。Carrd のフォームが Ikiform に送信し、Carrd 自身の成功メッセージを表示します。
Pro Plus:Send to URL
Carrd のフォームエディターとスタイルをそのまま使え、コードは不要です。以下のフィールドは写真家の撮影予約の問い合わせ用です。自分のものに置き換えてください。
- Add Element > Form をクリックし、Type を Custom に、続いて Send to URL に設定します。
- エンドポイントを URL に貼り付けます。
- Method を AJAX に、Format を Default に設定します。Carrd は
2xxの応答をすべて成功とみなし、Ikiform は送信を保存すると201を返します。 - フィールドを追加します:Text
name、Emailemail、Selectservice、Datepreferred_date、Text Areadetails。各フィールドの ID を設定してください。設定しないと Carrd がラベルから生成します。 - On Success で、表示するメッセージかセクションを選びます。On Failure の文言は一般的なものにしておきます。Carrd は Ikiform のエラーメッセージを表示しません。
- 公開します。フォームが送信できるのは公開したサイトからだけです。
https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx| Carrd の設定 | 使うもの | 避ける名前 |
|---|---|---|
| Method | AJAX:訪問者はページにとどまる | POST:ブラウザーが Ikiform のサンクスページに移動し、On Success は実行されない |
| Format | Default か JSON | XML:Ikiform は 415 unsupported_media_type で拒否する |
| Collect UTM parameters | 問題なし。ただしフィールド定義には utm_ フィールドを 5 つ追加する | フィールドを定義したあとでオンにする:UTM タグ付きのリンクからの送信がすべて Unknown field で失敗する |
| File フィールド | 使わない | ファイルのアップロードにはまだ対応していません。ファイル付きの送信には 422 files_not_supported が返ります。 |
| Spam Protection | このフォームではなし | キャプチャのプロバイダー:Carrd のドキュメントには Send to URL のフォームでトークンを検証するとは書かれておらず、Ikiform が Turnstile のトークンを確認するのは自分のキーを Ikiform に保存した場合だけです |
Hidden フィールドは常に設定済みの値を送るので、ここではハニーポットとして機能しません。それでも、Ikiform のスパムスコア、レート制限、許可ドメインはすべての送信に適用されます。このフォームでは Ikiform の Spam check をオフのままにしてください。AJAX の送信ではチェックを表示できず、403 challenge_required で失敗します。
Pro Standard:Embed 要素
Pro Standard では Carrd でカスタムフォームを作れませんが、貼り付けることはできます。Add Element > Embed をクリックし、Type を Code に、Style を Inline にして、これを貼り付けます。Carrd のフォームのスタイルは埋め込みコードには届かないので、独自のスタイルを含めています。
<form id="booking" action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post" target="_top">
<input name="name" placeholder="Name" autocomplete="name" required>
<input name="email" type="email" placeholder="Email" autocomplete="email" required>
<select name="service" required>
<option value="" disabled selected>What do you need?</option>
<option value="portrait">Portrait session</option>
<option value="event">Event coverage</option>
<option value="product">Product photos</option>
</select>
<input name="preferred_date" type="date" aria-label="Preferred date">
<textarea name="details" rows="4" placeholder="Anything else?" maxlength="2000"></textarea>
<input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden>
<button type="submit">Request a booking</button>
<p id="booking-note" role="status"></p>
</form>
<style>
#booking { display: grid; gap: 0.75rem; font: inherit; }
#booking input, #booking select, #booking textarea { font: inherit; padding: 0.75rem; border: 1px solid #ccc; border-radius: 0.5rem; }
#booking button { font: inherit; padding: 0.75rem; border: 0; border-radius: 0.5rem; background: #111; color: #fff; }
</style>
<script>
const booking = document.getElementById("booking");
booking.addEventListener("submit", async (event) => {
event.preventDefault();
const note = document.getElementById("booking-note");
note.textContent = "Sending";
try {
const response = await fetch(booking.action, {
method: "POST",
headers: { Accept: "application/json" },
body: new FormData(booking),
});
const result = await response.json();
if (result.ok) {
booking.replaceChildren("Thanks. I'll reply with availability.");
return;
}
const fields = result.error.fields ?? {};
note.textContent = fields.preferred_date?.[0] ?? fields.email?.[0] ?? result.error.message;
} catch {
note.textContent = "Couldn't send. Try again, or email me directly.";
}
});
</script>- スクリプトは
fetchで送信し、フォームをお礼の一文に置き換えるので、ページは変わりません。 - Carrd の Hidden フィールドと違い、非表示の
_gotcha入力欄はここでは本物のハニーポットです。 - スクリプトの読み込みに失敗しても、フォームは通常どおり送信されます。
target="_top"で、結果がフレームの中に開くのを防ぎます。 - 埋め込みは Carrd のエディターでは動きません。フォームを見るには公開してください。
どちらの版も同じフィールドを送ります。テストが届いたら、Ikiform でフィールドを定義します。
プレビュー
Ikiform のバリデーターをブラウザーで実行します。何も送信されません。
preferred_date は date フィールドなので、Ikiform は YYYY-MM-DD を受け付けます。Carrd の Date フィールドもブラウザーの日付入力も、この形式で送ります。Carrd の許可ドメイン
your-site.carrd.co(Pro なら your-site.crd.co)と独自ドメインを追加します。carrd.co 単体は追加しないでください。すべての Carrd サイトが送信できるようになってしまいます。Carrd のドキュメントガイドに、すべての設定とその理由があります。
Carrd で動作を確認する
- フォームの Allowed domains に自分のサイトのドメインを追加し、開発中は
localhostも追加します。空のままにすると、どこからの送信も受け付けます。 - 公開し、公開したサイトでフォームを送信します。
- Carrd に On Success が表示されるか、埋め込みにお礼の一文が表示されることを確認します。
- ダッシュボードで Submissions を開きます。送ったすべてのフィールドを含む新しい送信データがあります。
- name が設定した ID になっていること、
preferred_dateが2026-11-14のような形式であること、想定していないutm_フィールドが届いていないことを確認します。 - 通知の各受信者の受信トレイを確認します。それぞれにフィールド入りのメールが届き、フォームに
emailフィールドがあれば Reply で送信者に返信できます。
ハマりどころ
| 問題 | 対処法 |
|---|---|
| Carrd で毎回 On Failure が表示される | XML 形式(415)、File フィールド(422)、UTM の収集による Unknown field、または Ikiform の Spam check がオン(403)のどれかです。当てはまるものを直してください。 |
| フィールド名がラベルのようになっている | ID と Submitted ID が空でした。設定して再公開してください。 |
| エディターで埋め込みが空白になる | Carrd はエディターで埋め込みコードを実行しません。公開して本番のサイトで確認してください。 |
403 origin_not_allowed が返る、またはすべての送信がスパムになる | ページのドメインがフォームの Allowed domains にありません。ドメインと、ローカルテスト用の localhost を追加してください。登録したドメインのサブドメインは許可されます。 |
403 challenge_required | フォームのスパムチェックが Ikiform に設定されていて、fetch の送信にトークンがありませんでした。送信のたびに @ikiform/sdk の challenge(formId) でトークンを取得するか、チェックをオフにしてください。 |
よくある質問
Pro Plus です。Send to URL を含む Custom フォームは Advanced Forms の機能です。Pro Standard なら、代わりに自作の HTML フォームを Embed 要素に貼り付けられます。
AJAX です。訪問者が Carrd のページにとどまり、On Success と On Failure の設定が実行されます。POST だと、ブラウザーが Ikiform のサンクスページか設定したリダイレクト先に移動します。
いいえ。Hidden フィールドは常に設定済みの値を送るので、ボットと人を見分けられません。それでも Ikiform のスパムスコア、レート制限、許可ドメインはすべての送信をチェックし、埋め込みの版なら本物のハニーポットを入れられます。
はい。むしろそうすべきでしょう。メールツールに直接登録者を追加できます。問い合わせや予約など、記録を保存したいフォームに Ikiform を使ってください。
いいえ、無料プランはありません。テストは無料で、支払う前に localhost から月 50 件のテスト送信ができます。本番運用するには、月 $6 で 500 件からの Pro か、1 回払いで 10,000 件 $49 または 50,000 件 $149 のパックを選べます。クレジットに有効期限はありません。
手順で詰まったときや、あなたの状況に合うガイドがほしいときはメールでどうぞ: hello@ikiform.com