使い方ガイド MOTENASU

おもてなしフォームの作成方法

MOTENASUのおもてなしフォームとは、HPやLPにタグを追加してフォームを作成できる機能です。おもてなしフォームでは、3種類のフォームを作成することができ、目的に合わせてご利用いただけます。

①リード登録用フォーム・・・・直接MOTENASUにリード登録が可能です
②お問合せ用フォーム・・・・・MOTENASUの管理画面で個別対応ができます
③アンケートフォーム・・・・・アンケート機能で集計も可能です

このフォームを活用することで、顧客情報の収集・お問い合わせ対応・アンケート集計などが行え、必要に応じてセグメント情報の追加も可能です。

さらに、EFO(エントリーフォーム最適化)機能が搭載されており、ユーザーの入力負担を軽減し、フォームの離脱率を下げることが可能です。

1.新規登録

[新規登録]ボタンをクリックします。パーツを並べてフォームを作成し、保存ダイアログで各種の設定を行います。フォームのデザイン作成方法については「CMS・デザイン作成」をご参照ください。
設定が完了したら、画面右上の「保存」ボタンをクリックしてください。

2.おもてなしフォームの詳細設定

おもてなしフォームを作成した後は、保存をクリックして詳細設定を行います。

2-1 タイプ

タイプとは、作成するフォームの用途を選択する機能になります。下記の3つからお選びください

リード登録・・・・直接MOTENASUにリード登録が可能です
お問い合わせ・・・MOTENASUの管理画面で個別対応ができます
アンケート・・・・アンケート用フォームで結果の集計が可能です

2-2 名前

管理しやすい名前を設定してください。

2-3 フォームID

複数のフォームを設置しているとき「どのフォームなのか」を判断するために使います。半角英数字以外を入力するとエラーとなります。

2-4 必須項目

必須で入力させる項目を設定します。ここで必須を選択した項目は必ずフォームにも設置が必要です。タグを使って設置が可能です。

2-5 リード登録・リード更新設定

リード登録
タイプ「お問い合わせ」「アンケート」のとき、MOTENASUにリードとして登録する/しないを選択します。

リード更新
すでに登録済みリードの場合、情報を更新する/しないを選択します。ただし、リード情報を更新する場合はMOTENASUからチャネル配信をする必要があります。

<ポイント>

チャネル配信時のフォーム遷移先URLを下記の形式で送付をお願いします。
https://おもてなしフォームタグ設置URL?[[USERUPDATE]] 
*?[[USERUPDATE]] のタグを読み取ってリード情報を更新する事ができます。

2-6 ステージ

お客様がリード登録された際、同時にステージを設定することが可能です。ステージ1~3までご利用いただけます。

2-7 完了時リターンメール自動返信

お客様がフォーム登録を完了された後に、自動でメールを送付する機能です。ここでは、下記が設定可能です。

  ・送信元アドレス
  ・送信者名
  ・メールタイトル
  ・テキストメール(本文)
  ・HTMLメール(本文)

2-8 セグメント

お客様がフォーム登録を完了された後に、自動でセグメントを付与することができます。

2-9 リダイレクト

お客様がフォーム登録を完了された後に、遷移させるページを選択できます。

①リダイレクトする・・・・リダイレクトするを選択した場合、貴社HPのトップページなどご希望のページへ遷移させられます。リダイレクトURLにご希望のURLをご記入ください。

②リダイレクトしない・・・リダイレクトをしないを選択した場合は、貴社にて完了ページを作成する事が可能です。

2-10 登録完了時転送アドレス

お客様が登録を完了した後の自動返信メールを受信したい場合、希望するメールアドレスにそのメールを配信することができます。

すべての項目の設定が完了したら保存ボタンを押してください。

3.作成したフォームをHPにセットするためのタグを貼り付ける

作成したフォームは、貴社のHPにタグを埋め込むだけで表示することが可能です。ここでは、貴社のHPに表示させる方法をご紹介します。

3-1 タグをコピーする

[埋め込みコードコピー]ボタンをクリックします。クリックするだけで、タグがコピーされます。

3-2 貴社HPにタグを張り付ける

タグをコピーした状態で、張り付けたいページの編集画面を開いてください。コピーしたソースを既存のWEBページ内のフォームを設置したい場所に貼りつけてください。

4.表示を確認する

フォームのタグをWebサイトに貼り付けたら、実際のページでフォームが正しく表示されるか確認します。入力テストを行い、データの登録・更新が正常に反映されているかチェックしてください。

5.EFO機能について

おもてなしフォームには、ユーザーの入力体験を最適化するEFO(Entry Form Optimization)機能が搭載されています。

EFO v2.0の特徴

・Vanilla JavaScript(ES6+)で実装され、jQueryに依存しません
・リアルタイムバリデーションで即座にフィードバック
・視覚的なエラー表示で入力ミスを防止
・二重送信防止機能
・ページ離脱警告機能

5-1 リアルタイムバリデーション

ユーザーが入力フィールドに値を入力すると、即座にバリデーションが実行され、視覚的なフィードバックが表示されます。

バリデーションのタイミング

・テキスト入力: 文字入力ごとに検証
・選択項目: 選択変更時に検証
・すべてのフィールド: フォーカスアウト時に検証

5-2 視覚的フィードバック

EFOのデザイン(入力OK表示、エラー表示など)は、貴社のWebページにCSSを追加することでカスタマイズできます。

入力OK状態

入力値が正しい場合、フィールドに緑色の枠線と背景色が表示され、「✓ 入力OK」メッセージが表示されます。
・緑色の枠線(2px solid #28a745)
・薄い緑色の背景(#d4edda)
・「✓ 入力OK」メッセージ

エラー状態

入力値にエラーがある場合、フィールドに赤色の枠線と背景色が表示され、具体的なエラーメッセージが表示されます。
・赤色の枠線(2px solid #dc3545)
・薄い赤色の背景(#f8d7da)
・具体的なエラーメッセージ

5-2-1 デザインのカスタマイズ方法

HTMLファイルの<head>タグ内、または</body>タグの直前に、以下のような<style>タグを追加してください。

カスタマイズ可能な要素

.inputOK: 入力OK時のフィールドスタイル(枠線、背景色)
.inputOKtxt: 「✓ 入力OK」メッセージのスタイル
.inputError: エラー時のフィールドスタイル(枠線、背景色)
.efo-error-message: エラーメッセージのスタイル
#sub: 送信ボタンのスタイル

カスタマイズ例1: 入力OK時の枠線と背景色を変更する

<style>
 .inputOK {
  border: 2px solid #0066cc !important; /* 枠線を青に */
  background: #e6f2ff !important; /* 背景を薄い青に */
 }
</style>

カスタマイズ例2:「✓ 入力OK」メッセージの色とサイズを変更する

<style>
 .inputOKtxt {
  color: #0066cc !important; /* 文字色を青に */
  font-size: 14px !important; /* フォントサイズを14pxに */
  font-weight: bold !important;
 }
</style>

カスタマイズ例3: エラー時の枠線と背景色を変更する

<style>
 .inputError {
  border: 2px solid #ff6600 !important; /* 枠線をオレンジに */
  background: #fff3e6 !important; /* 背景を薄いオレンジに */
 }
</style>

カスタマイズ例4: エラーメッセージの色とサイズを変更する

<style>
 .efo-error-message {
  color: #ff6600 !important; /* 文字色をオレンジに */
  font-size: 14px !important; /* フォントサイズを14pxに */
  font-weight: bold !important;
 }
</style>

カスタマイズ例5: 送信ボタンの色を変更する

<style>
 #sub {
  background: linear-gradient(to bottom, #0066cc, #0052a3) !important; /* 青のグラデーション */
  color: #fff !important;
 }
 #sub:hover {
  background: linear-gradient(to bottom, #0052a3, #004080) !important; /* ホバー時は濃い青 */
 }
</style>

カスタマイズ例6: ラジオボタン・チェックボックスの入力OK時のスタイルを変更する

<style>
 input[type="radio"].inputOK,
 input[type="checkbox"].inputOK {
  outline: 2px solid #0066cc !important; /* アウトラインを青に */
  outline-offset: 2px !important;
 }
</style>

注意事項

・カスタマイズしたスタイルを確実に適用するために、各プロパティの末尾に!importantを付けてください。
・カスタマイズ用のCSSは、efo-v2.jsを読み込んだ後に配置してください。
・変更が反映されない場合は、ブラウザのキャッシュをクリアしてから再度確認してください。

5-3 バリデーションルール

以下のバリデーションルールが自動的に適用されます。

必須項目チェック

・ルール: 空欄不可
・エラーメッセージ: 「必須で入力してください。」

氏名(カナ)チェック

・対象: lastNameKana, firstNameKana, companyNameKana, departmentNameKana
・ルール: 全角カタカナのみ
・エラーメッセージ: 「全角カナで入力してください。」

メールアドレスチェック

・ルール: RFC準拠、連続ドット禁止
・エラーメッセージ: 「正しいメールアドレスを入力してください。」

電話番号チェック

・対象: tel, companyTel, companyTel2, companyTel3, companyFax
・ルール: 9~13桁の数字(ハイフン任意)
・エラーメッセージ: 「電話番号を半角数字 9 ~ 13 桁で入力してください。」

郵便番号チェック

・対象: zipcode, companyZipcode
・ルール: 7桁または8桁の数字
・エラーメッセージ: 「郵便番号7桁または8桁で入力してください。」

文字数制限チェック

・対象: 氏名、住所、会社名など(85文字以内)
・エラーメッセージ: 「85文字以内で入力してください。」

整数チェック

・ルール: 0または正の整数のみ
・エラーメッセージ: 「数値で入力してください。」

5-4 送信ボタン制御

必須項目の入力状況に応じて、送信ボタンの表示が自動的に制御されます。

送信可能状態

・条件: 全必須項目が入力済み
・表示: ✓ 送信ボタン表示(緑色)

送信不可状態

・条件: 1つ以上の必須項目が未入力
・表示: ✗ エラーメッセージ表示「⚠ 必須項目 N 件を入力してください」

送信中状態

・条件: 送信処理実行中
・表示: ✗ ボタン無効化(グレー)

二重送信防止機能

送信ボタンをクリックすると、処理が完了するまでボタンが無効化され、二重送信を防止します。

5-5 ページ離脱警告

フォームに入力後、送信せずにページを離れようとすると、警告メッセージが表示されます。

警告表示の条件

・未入力: 警告なし
・入力済み & 未送信: 警告あり「登録が完了していません。このまま移動しますか?」
・送信完了: 警告なし

5-6 対応フォームタイプ

EFO機能は以下の3種類のフォームタイプに対応しています。

user(ユーザー登録フォーム)

・APIエンドポイント: /api/user/entry/
・個人情報、法人情報の登録

info(お問い合わせフォーム)

・APIエンドポイント: /api/info/entry/
・カスタムフィールド対応

questionnaire(アンケートフォーム)

・APIエンドポイント: /api/questionnaire/entry/
・質問フィールド対応

5-7 カスタムフィールド対応

標準フィールドに加えて、以下のカスタムフィールドもサポートしています。

text(テキスト入力)

・バリデーション: 必須チェック、文字数制限

text-integer(整数入力)

・バリデーション: 必須チェック、整数形式

textarea(複数行テキスト)

・バリデーション: 必須チェック、文字数制限

radio(ラジオボタン)

・バリデーション: 必須チェック(1つ選択)

selectbox(プルダウンメニュー)

・バリデーション: 必須チェック(デフォルト値以外)

selectbox-multiple(複数選択プルダウン)

・バリデーション: 必須チェック(1つ以上選択)

checkbox(チェックボックス)

・バリデーション: 必須チェック(1つ以上選択)

5-8 ブラウザ対応状況

EFO v2.0は以下のブラウザで動作確認済みです。

デスクトップブラウザ

・Chrome(最新版): ✓ 完全対応
・Firefox(最新版): ✓ 完全対応
・Safari(最新版): ✓ 完全対応
・Edge(最新版): ✓ 完全対応

モバイルブラウザ

・iOS Safari(iOS 12+): ✓ 完全対応
・Android Chrome(最新版): ✓ 完全対応
・WebView(iOS 12+ / Android 5+): ✓ 完全対応(大文字小文字対応)

WebView対応について

一部のWebView(Chatwork内ブラウザなど)では、HTML要素のname属性が自動的に小文字化される問題がありますが、EFO v2.0では大文字小文字を区別しない要素取得機能により、この問題を解決しています。

5-9 パフォーマンス最適化

EFO v2.0では、以下のパフォーマンス最適化が施されています。

イベントハンドラー最適化

従来のjQuery版では、keydown、keyup、keypressの3つのイベントで処理していましたが、v2.0ではinputイベント1つに集約し、パフォーマンスを66%改善しました。

パフォーマンス目標値

・スクリプト読み込み時間: 1秒以内
・外部スクリプト読み込み: 合計2秒以内
・フォーム操作可能までの時間: ページ読み込みから3秒以内

5-10 モーダルダイアログ

エラー発生時やネットワーク障害時には、モーダルダイアログでユーザーに通知します。

表示タイミング

・送信エラー(制限エラー、ネットワークエラー)
・フォーム読み込みエラー

閉じる方法

・「閉じる」ボタンをクリック
・モーダル外側(オーバーレイ)をクリック
・Escキーを押下

制限エラーメッセージ

「登録の上限に達したため、現在登録を受け付けることができません。お手数ですが、時間をおいて再度お試しください。」

ネットワークエラーメッセージ

「送信に失敗しました。お手数ですが、ページを再読み込みして再度お試しください。」

5-11 レスポンシブデザイン

EFO v2.0は、スマートフォンやタブレットでも快適に利用できるよう、レスポンシブデザインに対応しています。

スマートフォン向け最適化

・フォントサイズ: 16px以上(ズーム防止)
・タップターゲットサイズ: 最低44px
・ラジオボタン/チェックボックス: 20px × 20px
・送信ボタン: 横幅100%、タップしやすいサイズ

5-12 セキュリティ機能

EFO v2.0には以下のセキュリティ対策が実装されています。

XSS対策

・入力値はtextContentを使用してエスケープ
・HTMLタグの自動エスケープ

CSRF対策

・CSRFトークンの検証
・サーバーサイドでのトークン確認

通信セキュリティ

・HTTPS必須
・Cookie属性: Secure, SameSite=Lax

二重送信防止

・送信ボタンの無効化
・処理完了まで再送信を防止

5-13 技術情報

技術スタック

・フロントエンド: Vanilla JavaScript(ES6+)
・依存ライブラリ: なし
・外部連携: Yubinbango.js(郵便番号API)
・Cookie管理: js.cookie.js

6.トラブルシューティング

よくある問題と解決方法について説明します。

問題1: バリデーションが動作しない

考えられる原因:

・efo-v2.jsが正しく読み込まれていない
・必須項目リストが未定義

解決策:

1. ブラウザの開発者ツールでコンソールエラーを確認
2. スクリプトのパスが正しいか確認
3. 必須項目リストが正しく設定されているか確認

問題2: 送信ボタンがクリックできない

考えられる原因:

・必須項目が未入力
・送信中状態が残っている

解決策:

1. すべての必須項目が入力されているか確認
2. ページを再読み込み

問題3: WebViewで動作しない

考えられる原因:

・name属性が小文字化されている

解決策:

EFO v2.0では自動的に対応しているため、通常は問題ありません。それでも動作しない場合は、サポートにお問い合わせください。

問題4: エラーメッセージが日本語で表示されない

考えられる原因:

・文字エンコーディングがUTF-8でない

解決策:

HTMLファイルの文字エンコーディングをUTF-8に設定してください。