メインコンテンツにスキップ

数千枚の割引コードを一度に配布する

バッチ生成と CSV インポート、コードのダウンロード、Mailchimp でのメール紐付け、利用記録のエクスポート。

対応者:Firstory

数千人のリストに 1 人 1 枚で配布し、誰が使ったかを集計したい場合の全手順です。全員が共用するコードを 1 枚配布するだけなら メンバーシップ特典で割引コードを配布する をご覧ください。

バッチのコードは 1 枚 1 回限定で、変更できません。バッチの目的は 1 人 1 枚です。複数の人が共用できるコードを配布するには「単発」で追加してください。

コードの作り方は 2 通り

キャンペーンの下で「割引コードを追加」をクリックすると、「単発」のほかに 2 つの選択肢があります。

  • バッチ生成:システムが文字列を生成します。枚数(1 バッチ上限 20,000 枚)を入力し、接頭辞を追加できます。生成例:SUMMER-K7M2-9XQP。生成されるコードはすべて大文字で、0、O、1、I、L を除外します。リスナーが手入力するため、見間違えやすい文字を使いません。接頭辞も大文字の英字と数字 2〜9 のみ使えます

  • CSV インポート:自分のコードリストをアップロードします。MEMBER-000123 のような既存の番号規則がある場合に適しています。インポートされたコードはそのまま保存され、書き換えも形式チェックも行いません。ただし手入力のエラー率は高くなります。リスナーに手入力させる場合は、紛らわしい文字を避けてください

生成はバックグラウンドで行われます

20,000 枚のコードはボタンを押した瞬間には書き込まれません。バッチはすぐに一覧に表示され進行状況を示すので、ページを離れても問題ありません。生成中も操作はブロックされず、同じキャンペーンで別のバッチを開始したり、単発のコードを追加したりできます。

バッチ行には 5 つの状態が表示されます:キュー待ち(1 分以内に開始)、生成中有効無効生成失敗

知っておくこと 2 点:

  • 生成中はエクスポートできません。ファイルが不完全なため、ダウンロードすると半分のリストになり、無効なコードを送ることになります

  • 生成失敗にリトライはありません。半分だけのコードは残りません。作り直すには新しいバッチを開始してください。失敗理由は保存されるので、サポートがあとから確認できます。一覧の「この行をクリア」は行を一覧から外すだけで、データは削除されません

CSV インポートは 2 ステップ

ボタンは「ファイルを検証」で、「インポート」ではありません。この時点では何も作成されず、インポート可能な行数をお知らせするだけです。

ファイル形式:1 行 1 コード、先頭列に配置します。先頭行が code割引コードクーポン などの列名の場合は自動でスキップされます。1 ファイルの上限は 20,000 行、4 MB です。

検証結果はエラーを 3 種類に分けて集計します。修正方法が異なるためです。

  • ファイル内の重複:同じコードがファイル内に 2 回あります。スプレッドシートで重複を削除してください。大文字・小文字は区別しないので、abcABC は重複扱いです

  • 公開中のコードとの衝突:この番組に同じ文字列を使っているコードがすでにあります。ファイルのコードを変えるか、そのコードを見つけて無効にしてください

  • 形式不正:コードにスペースやカンマは使えず、空欄も不可で、上限は 64 文字です。コードの前後のスペースは自動で削除され、その行はインポートされます。コードの途中のスペースは拒否されます

各種類につき最大 5 行の例が表示され、残りの件数も表示されます。問題のない行だけをインポートすることも、ファイルを修正して再アップロードすることもできます。検証結果の有効期間は 30 分です。

メールの紐付けにはシステムからエクスポートした CSV を使ってください

この工程で最も注意すべき点です。979 行をアップロードし、実際に 842 行しかインポートされなかった場合、アップロードしたファイルでメールを紐付けると、137 人に存在しないコードが届きます

インポート完了画面でシステムがエクスポートした CSV をダウンロードしてください。それがリスナーが実際に利用できるコードです。バッチ行にはエクスポートボタンが永続的に残るので、いつでも再ダウンロードできます。

確定を押した時点でシステムはもう一度検証します。前回と数字が違うのは正常で、通常はその間に別のコードが公開されたためです。画面には両方の数字が表示されます。

コードを送信する(Mailchimp の例)

Firstory はコードの生成、文字列の一意性保証、エクスポート、検証、集計を担当します。人との紐付けと送信はご自身のメール配信ツールで行います。弊社が宛先リストに触れることはありません。これがコードをメールアドレスに紐付けない理由です。

  1. Firstory でコードを生成またはインポートし、CSV をダウンロードします(列は code の 1 つだけ)。枚数は宛先人数より多めにしてください

  2. Mailchimp で対象の audience または segment のメールアドレスをエクスポートします

  3. スプレッドシートでメールアドレスとコードを 2 列に並べます

  4. Mailchimp > Import contacts > ファイルをアップロード > 「Update any existing contacts」をチェック(チェックしないと既存の連絡先が更新されません)> column matching で新しい audience field(例:COUPON)を作成します

  5. メール本文に *|COUPON|* を挿入します

  6. 送信前に「COUPON is blank」で segment を作成し、結果が 0 件であることを確認します

6 番目がこの工程で最も重要なチェックです。メール配信ツールは項目の置換しか行わず、コードの残数も利用状態も把握しません。そのため典型的な障害は「コードのないメールを受け取った人がいる」です。コード不足、インポートの不整合、4 番目のチェック忘れのいずれも、この症状になります。

Mailchimp 側の制限 2 点:1 つの audience の項目は最大 30(Premium は 80)。また Mailchimp の Promo Code コンテンツブロックは使えません。Shopify などのストア連携が必要で、1 ブロックに 1 コードだけです。

誰が使ったかを見る:利用記録のエクスポート

キャンペーン行の「⋯」メニューから「利用記録をエクスポート」をクリックします。ファイルには7 列あります。

  • code:割引コードの文字列

  • source:コードの出所。generated=システム生成、imported=インポート、single=単発追加。unknown はデータ異常です。見つけたらお知らせください。単発コードとして読まないでください

  • statusredeemed(利用済み)または unredeemed(未利用)

  • redeemed_atemailtier_planamount:利用日時、会員のメールアドレス、購入プラン、実際の課金額

ファイルの構造は1 件の利用につき 1 行、さらに未利用のコード 1 枚につき 1 行です。つまり「誰がこのキャンペーンを使ったか」と「まだ何枚外に出ているか」の両方に答えます。未利用行の後半 4 列は空ですが、列自体は存在します。

誤読しやすい点 3 つ:

  • tier_plan利用時点で購入したプランです。会員があとでアップグレードしてもこの行は書き換えられません

  • 画面の「残り N 回の利用枠」は枠数であり、コードの枚数ではありません。上限 100 回で 3 回確定済みのコードは 97、バッチ全体を無効にした場合は 0 となります。したがってこの数字は行数と一致しないことがあります

  • 処理中の利用は unredeemed 扱いです。このファイルは確定した決済のみを報告します

生成中のバッチがある間は利用記録をエクスポートできません。キャンペーン内のすべてのバッチが完了するまでお待ちください。そうしないと行が欠けます。

トラブルシューティング

  • 「このファイルは UTF-8 ではありません」:Excel で「CSV UTF-8」として保存してください。「Unicode テキスト」では保存しないでください

  • 20,000 行または 4 MB を超えている:リストを分割して 2 つのバッチとしてインポートしてください

  • 「インポートできる行がありません」:バッチは作成されません。すべてのコードが重複、公開中、または形式不正です

  • 「検証済みで未インポートのファイルが多すぎます」:いずれかをインポートするか、最も古いものが 30 分後に失効するのをお待ちください

  • 「このファイルは別のキャンペーンで検証されました」:コードを入れたいキャンペーンから再アップロードしてください

  • エクスポートボタンがない:バッチが「有効」または「無効」の状態になるとエクスポートできます。無効にしたバッチもエクスポートできます。どのコードを配布したかを確認する必要があるためです

関連記事

こちらの回答で解決しましたか?