会員登録時に仮会員登録を挟むことで、メールアドレスの誤入力や不正登録の防止、および存在確認が可能となり、
登録データの正確性を高めることができます。
本記事では、仮会員登録フローの設定方法をご紹介します。
全体フロー
1.仮登録フォームからメールアドレスを登録
↓
2.サンキューメールで本登録フォームのURLを送付
↓
3.マイエリア内の本登録フォームでメールアドレス以外の情報を登録
↓
4.本登録DBと仮登録TRDBの照合キーが一致した場合に、仮登録TRDBから本登録DBへメールアドレスを登録
DB作成
仮登録TRDBと本登録DBを作成
トランザクションDBと通常DBでDBの種類が異なるので注意が必要です。フィールド構成は全く同じにしなくても良いので、必要なフィールドを追加してください。
フィールド名 | 差し替えキーワード | タイプ | 詳細設定 |
---|---|---|---|
TRDB登録日時 | f000000000 | テキストフィールド(64bytes) | TRDBはデフォルトに入るため、 識別名はランダムな数字で自動生成されます |
メールアドレス | メールアドレス(大・小文字無視) | 必須、共有フィールドに設定 |
|
照合キー | match_key | 簡易パスワード | フィールド値自動生成トリガ 動作:値が存在しても、上書きする 生成する値:数字・記号・アルファベット、16桁 共有フィールドに設定 |
本登録ID | master_key | 数字・記号・アルファベット(32 bytes) | 本登録後に再度仮登録をした場合、本登録済みである事が分かるよう
本登録DBの「本登録ID」を自動登録 共有フィールドに設定 (パターン1)で運用する場合にのみ必要 |
フィールド名 | 差し替えキーワード | タイプ | 詳細設定 |
---|---|---|---|
登録日時 | registDate | 登録日時 | ― |
メールアドレス | メールアドレス(大・小文字無視) | 必須・重複不可・主キー 仮登録TRDBで作成した共有フィールドを利用 |
|
名前 | name | テキストフィールド(64 bytes) | ― |
パスワード | password | パスワード | ― |
照合キー | match_key | 簡易パスワード | 仮登録TRDBで作成した共有フィールドを利用 |
本登録ID | master_key | 数字・記号・アルファベット(32 bytes) | フィールド値自動生成トリガ 動作:値が存在しても、上書きする 生成する値:レコードID、10桁 仮登録TRDBで作成した共有フィールドを利用 (パターン1)で運用する場合にのみ必要 |
それぞれのDBで持つ「照合キー」をルックアップキーとして使って、
仮登録TRDBに登録されているメールアドレスを「照合キー」がマッチした場合に本登録DBに登録させる
仕組みになります。
このフローで作成することで、本登録時のメールアドレスの改ざんを防ぐことができます。
照合キーをルックアップキーにしてメールアドレスを本登録DBに登録
本登録フォームから登録する際に「照合キー」が仮登録TRDBに登録されているか確認し、
登録確認が出来た場合にのみ、仮登録TRDBに登録されたメールアドレスを本登録DBに登録します。
トリガを利用して設定を行います。
トリガDB | トリガ種別 | 参照DB | 発動条件 | 抽出条件 | 登録フィールド |
---|---|---|---|---|---|
本登録DB | ルックアップ | 仮登録TRDB | 無条件 | 照合キー | メールアドレス |
詳細条件設定
ルックアップトリガの条件を決めます。
仮登録TRDBに照合キーの登録がない場合にはエラー終了する等の設定を行います。
本登録後の再仮登録時の制御の設定
2パターンある為、それぞれのメリット・デメリットを考慮しどちらかを設定ください。
(パターン1)本番DBへ登録後でも何度でも仮登録を可能にする。 ただし、本番登録用のメールを送らない事で対処する方法 メリット:パターン2のように、フォームを特殊変更する必要がない。 デメリット:仮登録TRDBへ不要なデータが登録される可能性がある。 |
(パターン2)本番DBへ登録後は仮登録をしようとした場合エラーを表示させ対処する方法 メリット:仮登録TRDBの不要なデータ登録がなく、レコード増を気にする必要がない。 デメリット:フロー上、システムエラーページをサンキューページと同じ見た目にする必要がある為、 本当にシステムエラーが発生している時に原因が分からない可能性がある。 |
(パターン1)本番DBへ登録後でも何度でも仮登録を可能にする。
ただし、本番登録用のメールを送らない事で対処する方法
仮登録TRDBトリガ設定詳細
本登録DBへメールアドレスが登録済みなのかを確認し、登録済みの場合、本登録DBの「本登録ID」を仮登録TRDBに一緒に登録するトリガを設定します。
「本登録ID」を仮登録TRDBに一緒に登録することで、サンキューメール配信時の抽出ルールに利用します。
トリガDB | トリガ種別 | 参照DB | 発動条件 | 抽出条件 | 登録フィールド |
---|---|---|---|---|---|
仮登録TRDB | ルックアップ | 本登録DB | 無条件 | メールアドレス | 本登録ID |
一緒に登録することができます。
サンキューメールの抽出ルールにて、「本登録ID」が登録された場合には送らない制限を掛けます。
詳細条件設定
ルックアップトリガの条件を決めます。本登録DBにメールアドレスが登録されている場合と登録されていない場合がある為、
登録されていない場合は何もしない、登録されている場合はエラーにする等の詳細を設定します。
(パターン2)本番DBへ登録後は仮登録をしようとした場合エラーを表示させ対処する方法
仮登録TRDBのアクション設定
本登録DBにメールアドレスが登録済みの場合、2回目以降の仮登録時システムエラーを表示させ、
登録出来ないようにします。
アクション対象DB | アクション |
---|---|
本登録DB | 更新 |
アクションの詳細設定をします。
識別キーはメールアドレスを選択し、本登録DBへ登録されている場合はエラーになるよう詳細を設定します。
フィールドのマッピングでは、メールアドレスをマッピングするよう設定します。
ただし、条件にあった場合にはエラーとなりますので、マッピングされる事はありません。
フォーム設定
仮登録TRDBから仮登録フォームを作成します。
フィールド | 入力設定 |
---|---|
フォーム | 新規登録タイプ |
TRDB登録日時 | 特殊入力:登録日時自動取得 |
メールアドレス | 入力項目として使用する |
照合キー | 使用しない |
本登録ID | 使用しない(パターン1)の時のみ |
本登録DBから本登録フォームを作成します。
フィールド | 入力設定 |
---|---|
フォーム | 新規登録タイプ |
登録日時 | 登録日時自動取得 |
メールアドレス | 特殊入力(値を引き継ぐ(hidden)) ※フォーム表示を「表示する」にすると 本登録予定のアドレスの確認ができます。 |
名前 | 入力項目として使用する |
パスワード | 入力項目として使用する |
照合キー | 特殊入力(値を引き継ぐ(hidden)) |
本登録ID | 使用しない(パターン1)の時のみ |
ただし、別の理由でシステムエラーが発生している場合もエラー画面を変更している事から、
エラーの理由が分からない可能性がある為、運用にはご注意ください。
マイエリア設定
仮登録TRDBのマイエリアを発行します。
クリックログインで仮登録TRDBのマイエリアにログインし、そこから本登録させる導線となります。
本記事は具体的な操作を省くため、
こちらの記事の「マイエリア作成」をご参考にしてください。
カスタムページ - 本登録フォーム
仮登録者がログインして本登録を行う為、本登録DBで作成した本登録フォームをマイエリアに設置します。
入力ボックスの不要な%タグを削除します。
サンクス配信設定
本登録フローに遷移する為に、仮登録完了後にサンクスメールの作成をします。
サンクスメールの具体的な設定方法は
こちらの記事の「サンキューメールを設定したい」をご参考にしてください。
「本登録IDがNULL(未入力)を抽出する」で作成してください。
抽出ルールの具体的な設定方法は こちらの記事の
「抽出ルールを設定したい」をご参考にしてください。