Carrd
Pro Plus では Carrd のカスタムフォームを Send to URL で Ikiform に向け、Pro Standard では HTML フォームを Embed 要素に貼り付けます。
Carrd のお問い合わせフォームや登録フォームは、送信データを Carrd 独自の送信先に送ります。Pro Plus のカスタムフォームは任意の URL に送信でき、Ikiform にはそれで十分です。Pro Standard では独自の HTML を埋め込めます。
| Carrd のプラン | Ikiform との接続方法 |
|---|---|
| Pro Plus 以上 | Form 要素のタイプを Custom > Send to URL に。コードは不要です。 |
| Pro Standard | 独自の HTML フォームを入れた Embed 要素 |
| Pro Lite と無料プラン | どちらも使えません。これらのプランには埋め込みもカスタムフォームもありません。 |
Send to URL を使うカスタムフォーム
フォームを作成する
Add Element > Form をクリックし、Type を Custom にしてから Send to URL を選びます。
URL、メソッド、形式を設定する
URL https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx設定 値 原因 Method AJAX 訪問者はページにとどまります。Carrd は 2xxをすべて成功として扱い、Ikiform は送信データを保存すると201で応答します。Format Default 標準のフォーム送信を送ります。JSON でも動きます。 Headers なし ブラウザーからの送信では、Ikiform にヘッダーは必要ありません。 AJAX ではなく POST を選ぶと、ブラウザーは Carrd のサイトを離れて Ikiform のサンクスページか Redirect after submit(送信後のリダイレクト)の URL に移動し、Carrd の On Success の設定は適用されません。XML は選ばないでください。Ikiform は
415 unsupported_media_typeで拒否します。フィールドの ID を設定する
各フィールドの Submitted ID、それが空の場合は ID が、Ikiform でのフィールド名になります。Carrd はラベルから ID を生成するので、
email、name、messageのように自分で設定してください。Format を JSON にすると、fields.firstnameのような Submitted ID はネストしたオブジェクトとして送られ、Ikiform はそのまま保存します。- File フィールドは追加しないでください。Ikiform はまだファイルを受け付けず、
422 files_not_supportedで送信を拒否します。 - Collect UTM parameters は
utm_source、utm_medium、utm_campaign、utm_term、utm_contentを追加します。Ikiform でフィールドを定義している場合は、これらも追加してください。追加しないと、Unknown field エラーで送信が失敗します。 - Hidden フィールドには常にあらかじめ設定した値が入るので、ハニーポットとしては使えません。スパムスコアはすべての送信で引き続き動きます。
- File フィールドは追加しないでください。Ikiform はまだファイルを受け付けず、
On Success と On Failure を選ぶ
リクエストのあとに Carrd が表示する内容を選びます。On Failure は
422 validation_failedや429 rate_limitedなど、Ikiform のすべてのエラーが対象です。Carrd は Ikiform のメッセージを表示しないので、失敗時のテキストは一般的な内容にしておいてください。
403 challenge_required を返し、Carrd は毎回 On Failure を表示します。Pro Standard での Embed 要素
Add Element > Embed をクリックし、Type を Code、Style を Inline にして、フォームを貼り付けます。埋め込みはビルダーでは描画されないので、確認するには公開してください。
<form action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post" target="_top">
<input name="email" type="email" placeholder="Email" autocomplete="email" required>
<input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden>
<button type="submit">Join the waitlist</button>
</form>これは通常のフォームとして送信されるので、オンにすれば人間確認も動きます。<style> ブロックでスタイルを付けるか、より完全なサイトビルダー用の埋め込みから始めてください。
許可ドメイン
どちらの方法でも、ブラウザーは Carrd のページから送信するので、許可ドメインは通常どおり動きます。
| フォームが動く場所 | 許可ドメインに追加するもの |
|---|---|
| 無料またはデフォルトの URL | your-site.carrd.co |
| Pro のブランドなし URL | your-site.crd.co |
| 独自ドメイン | example.com(www.example.com も含まれます) |
carrd.coやcrd.coだけを追加しないでください。他の人のサイトも含め、そのホスト上のすべてのサイトが一致してしまいます。
テストのチェックリスト
- サイトを公開します。フォームと埋め込みは公開されたサイトでしか動きません。
- フォームを送信し、Carrd が On Success のメッセージを表示するか、埋め込みの場合はサンクスページに移動することを確認します。
- Ikiform で送信データを開き、フィールド名が自動生成されたものではなく、設定した ID になっていることを確認します。
- フォームにフィールドが定義された状態で無効なメールアドレスを送信し、Carrd が On Failure を表示することを確認します。
トラブルシューティング
| 症状 | 原因 | 対処 |
|---|---|---|
| 送信のたびに Carrd が On Failure を表示する | Ikiform が送信を拒否した: XML なら 415、Unknown field やファイルなら 422、チェックがオンなら 403 challenge_required、Reject なら 403 origin_not_allowed | Default の形式を使い、フィールドの ID を合わせ、File フィールドを削除し、チェックをオフにし、ドメインを追加します。 |
| Ikiform のフィールド名が、設定した ID ではなくラベルのようになっている | Submitted ID と ID が空のままだった | ID を設定して、もう一度公開します。 |
送信データが origin_mismatch でスパムフィルターの下に届く | 送信したページが、フォームの許可ドメインに含まれていない | 上の表のホストを追加します。Reject を選んでいる場合、同じ送信には代わりに 403 origin_not_allowed が返ります。 |
| ビルダーで埋め込みが空白になっている | Carrd はビルダーで埋め込みのコードを実行しない | 公開して、本番のサイトで確認します。 |