こんにちは、井村尚弥です。
この記事では、ワードプレスで使える会員制ウェブサイト構築ツールであるメンバープレス(MemberPress)において、複数人をまとめてCSVを使って登録する方法について解説します。大勢のメンバーをマニュアル登録していたら非効率なので、今回のバルクアップデート方法を理解して効率的に業務を進めてください。
MemberPress(メンバープレス)の仕組みを理解する
MemberPressにメンバーを追加する方法を知りたい場合、大きく以下の2つの概念を分けて理解しておく必要があります。
- メンバーを追加すること(ユーザー登録)
- サブスクリプションを追加すること(メンバーシップに登録する)
前者は単純にユーザーとしてMemberPressに登録することを意味します。しかし、MemberPressによるメンバーシップを利用して有料コンテンツや会員向けページを閲覧するためには、「ユーザー登録」しただけでは足りず、「ユーザー」と「メンバーシップ」を紐づける必要があります。
まず、この「ユーザーとメンバーシップの概念」を理解したうえで、次に進んでください。
MemberPressへ”まとめて(CSVで)”一括登録・更新する場合
MemberPressへユーザーをCSVファイルを使って一括で登録したり、情報をアップデートしたりする場合は、先ほど述べた2つの登録処理を行う必要があります。
MemberPressの顧客データベースフィールドを理解しながら、インポートファイルを作成する
CSVでユーザ情報を作成する上で、MemberPressのデータベースのフィールドについて理解する必要があります。
フィールド(Fields)とは、MemberPressにメンバー情報を登録する際に、基本となるメールアドレス、名前以外に、住んでる場所や勤務している会社名、現在保有している資格など、を登録するための項目になります。
あなたは、メンバーサイトの特徴に応じて様々な項目を管理するしているかも知れません。現在はエクセルなどでメンバー情報を管理しているかもしれませんが、それらの情報をMemberPressに入れてしまうことができるわけです。
いわゆる顧客データベースを構築することができます。
フィールドには、3種類あります。
- 必須情報
- オプション情報
- カスタム情報
1,2についてはMemberPressであらかじめ定義されたフィールドになりますが、それだけでは足りない管理者向けにカスタム情報オプションがあります。
必須情報には以下の2つです。
- username – MemberPress(WordPress)へログインするためのユーザ名
- email – ユーザのメールアドレス
次にオプション情報は以下になります。
- role: WordPressのユーザー権限です。‘subscriber’、‘contributor’、‘author’、‘editor’、‘administrator’、またはサイトで作成したカスタムロールのいずれかです。指定しない場合はデフォルトで’subscriber’になります
- password: ユーザーのパスワードを設定できます。このパスワードは暗号化/ハッシュ化されてデータベースに保存されます
- first_name: ユーザーの名前(任意)
- last_name: ユーザーの姓(任意)
- website: ユーザーのウェブサイト(任意)
- address1またはmepr-address-one: ユーザーの住所ライン1(任意)
- address2またはmepr-address-two: ユーザーの住所ライン2(任意)
- cityまたはmepr-address-city: ユーザーの都市(任意)
- stateまたはmepr-address-state: ユーザーの州(任意)
- zipまたはmepr-address-zip: ユーザーの郵便番号(任意)
- countryまたはmepr-address-country: ユーザーの国(ISO Alpha 2国コード)(任意)
- usermeta: カスタムユーザー情報フィールドのスラグを使用して、メンバーのカスタムメタをインポートできます
もしこれらのフィールドだけで足りる場合には、CSVファイルの行のラベルに”username”や”email”を筆頭に必要なフィールド名を並べていってください。そして、フィールドに沿ってユーザ情報を入力していきます。インポートファイルの作成は比較的容易にできます。
もし、わからなければ以下のサポートサイト内にある”sample Users CSV file”をダウンロードしてみてください。
さて、ここからが上級者編になるのですが、MemberPressに既定のフィールドがない場合の対応方法です。ステップは以下の通りです。
- Setting→Fieldsから”Custom User Information Fields”を作成する
- 作成した項目の”Slug”を確認する
- 2で作成したFieldsの”Slug”をCSVファイルの項目に追加する
ここでの注意点は、インポートファイルのキーとなる情報はFieldsのSlugであるということです。このSlugに書き出された文字列をインポートファイルのフィールド名にそのままコピペすることで、ファイルを読み込んだ時に、MemberPressはCustom User Information Fieldsの情報と認識して、該当項目にデータを入れ込んでくれます。
これらのことを理解しながら、インポートファイルを作成していきます。
さらに詳しい情報はMemberPressの公式サイトをご確認ください。
トランザクションCSVファイルでユーザとメンバーシップを紐づけする
さて、まずはユーザファイルをインポートすることができました。ただ、MemberPressのバルクインポート(まとめインポート処理)においては、メンバー情報を追加するだけでは、MemberPressのメンバーシップとは紐づきません。
ユーザとメンバーシップを紐づけるためには、仮のトランザクション(内部の連携処理)を読み込ませてあげる必要があります。その役割をするのが、Transaction CSVファイルになります。
このトランザクションCSVをインポートする前に理解すべき注意点が2つほどあります。
- CSVファイルをインポートする前に、ユーザ情報がすでにMemberPressおよびWordPress内に存在すること、および結びつけるメンバーシップもMemberPressに存在していること、を確認してください。どちらかが未設定の状態でインポートしてもエラーになり正しく情報を取り込めません。
- CSVファイルをインポートしただけでは、ユーザが今後定期的に支払いを行ったり、こちらから新たな請求をすることはできません。あくまでユーザ情報とメンバーシップを紐づけるまでが役割なので、実際の請求は別で行う必要があります。
上記2点をご理解いただけたら、トランザクションCSVに設定すべきフィールドの確認です。細かい内容なのでMemberPressサイトの内容を引用します。
以下のフォーマットを正確に従うように、非常に注意してください。正確に従わないと、ファイルのインポートが正しく行われません。また、ファイルにexpires_at列を追加しない場合、インポートされた取引からのユーザーは終身アクセス権を持つことになります。
サンプルのTransactions CSVファイルはこちらをクリックしてください。基本的なテンプレートとして、CSVファイルの必須とオプションの列について以下をご覧ください。
必須の列:
- usernameまたはemail(どちらか一方)— 取引に関連付けるべきユーザーのユーザー名またはメールアドレス。データベース内の既存のユーザーに属している必要があります。(注意:MemberPress Importer 1.6.8以降では、email名の代わりにuser_emailを使用することもできます)
- product_id — この取引が対象とするメンバーシップのID。データベース内の既存のメンバーシップのIDである必要があります。IDは、メンバーシップを編集するときのURLで見つけることができます。例えば、このURLのメンバーシップIDは10です:http://awesomesite.com/wp-admin/post.php?post=10&action=edit
- amount — メンバーシップの価格。通貨記号なしの小数形式の任意の数字であることができます。例:5.99
- total — 税込みの価格(ある場合)。total = (amount + tax_amount)。税がない場合、このフィールドは「amount」フィールドと同じ値に設定する必要があります。
オプションの列:
- id — idに一致する既存の取引情報を更新します。空白の場合、新しい取引が作成されます。MemberPress > Transactionsページの「Id」列からidを使用するようにしてください。このフィールドは、MemberPress Importerバージョン1.6.0以降が必要です。
- sub_numまたはsubscr_id — サブスクリプションを参照するサブスクリプション番号。このsub_numはデータベース内の既存のサブスクリプションを参照する必要があります。デフォルトは空白です。(注意:この列ヘッダーを使用する必要はありません)
- payment_methodまたはgateway_id — 支払い方法の一意のID。MemberPress設定ページの支払いタブで見つけることができます。デフォルトは’manual’です。無料メンバーをインポートしている場合、これを’free’に設定することもできます。
- coupon_codeまたはcoupon — この取引に適用されるクーポンのクーポンコード。データベース内に既に存在するクーポンを参照する必要があります。デフォルトは空白です。
- send_welcome — 新しく作成された取引と一緒にユーザーが歓迎メールを受け取るかどうかを制御します。trueの場合は1、falseの場合は0。デフォルトは0です。
- send_receipt — 新しく作成された取引と一緒にユーザーが領収書メールを受け取るかどうかを制御します。trueの場合は1、falseの場合は0。デフォルトは0です。
- trans_num — ゲートウェイの取引番号。任意の短いテキストの文字列であることができます。空白の場合、ランダムなIDが生成されます。
- tax_rate — 税率(%)。例:5%は5.000として入力されるべきです。デフォルトは0です。
- tax_amount — 合計に適用される税額。tax_amount = (amount*(tax_rate/100))。デフォルトは0です。
- tax_desc — 税の説明。デフォルトは説明なしです。
- tax_class — 現在のところMemberPressでは使用されていません。デフォルトは’standard’です。
- status — 取引のステータス。’pending’、’complete’、’refunded’、または’failed’のいずれかである必要があります。デフォルトは’complete’です。
- created_at — この取引が作成された日付。形式は「YYYY-MM-DD hh:mm:ss」でなければなりません。デフォルトは現在の日付です。
- expires_at — 取引の有効期限。取引が期限切れになると、ユーザーはアクセスを継続するためにそれを更新する必要があります。形式は「YYYY-MM-DD hh:mm:ss」でなければなりません。メンバーシップの通常の有効期限のデフォルトになります。終身アクセスを持つことを望まない場合は、この列を通じて有効期限を追加する必要があります。
細かい内容まで記載してありますが、必須と考えてほしいのは以下です。
- username
- product id
- amount
- total
- expires_at
上の4つは必須項目ですが、最後の”expires_at”はメンバーシップの期限を設定するものです。月会員や年会員など定期メンバーシップの場合は、延長の支払いがなければ期限でメンバーシップが切れる状態にする必要がありますよね。そのための設定です。
逆に、永久アクセス権のようなメンバーシップの場合は、不要になります。
さらに詳しい情報はMemberPressの公式サイトをご確認ください。
まとめ
最後までご覧いただきありがとうございました。
メンバープレス(MemberPress)は、会員サイトを作るためにはかなり便利なツールですが、日本語による解説記事などはほとんどありませんので、この記事を参考にメンバーを効率的に追加してみてください。
またMemberPressやほかのワードプレスツールについてご質問、ご要望があれば、お気軽にコメントしていってください。
ではでは!
コメント