クーポンの設定方法(Magento 1.x の場合)
Klaviyo の Magento 1 外部連携は、新規インストールの受付を終了しており、2027 年後半にサポートを完全終了します。Klaviyo サポートでは、Magento 1 に関連するリクエストについてサポートを提供できなくなりました。
このページで学べること
Magento は、顧客の注文に割引を適用するために使用できる ショッピングカート価格ルール をサポートしています。既存の価格ルールに対してクーポンコードを作成できるため、買い物客はチェックアウトのプロセス中に特定のコードを簡単に活用して割引を適用できます。
Klaviyo の Magento 向け [クーポン] 機能では、Magento 1.0 ストアで次の操作を行えます。
- Magento の既存の価格ルールに関連付けられた Klaviyo の新しいクーポンを作成します。
- フローのメールにユニーククーポンを含めると、各受信者が固有のコードを受け取れます。
このガイドでは、Klaviyo で Magento クーポンを設定する方法について説明します。
キャンペーンメールの送信時には、現在ユニーククーポンは利用できません。キャンペーンでユニーククーポンコードを送信するには、1 秒あたり数千件のコードを生成する必要があります。Klaviyo は、この量と速度でのユニーククーポンの生成において、特定の Magento サーバーのレート制限設定が影響しないことを保証できません。このため、ユニーククーポンはフローメールの送信時のみ利用できます。
要件
前提として、Klaviyo で Magento 外部連携を有効にし、Magento に Klaviyo 拡張機能をインストールしていることを確認してください。
REST API を有効にする
まず、新しい REST ロールを作成してフルアクセス権を付与し、REST API を有効にします。次に、そのロールを管理者ユーザーの 1 人に割り当てます。
- System > Web Services > REST - Roles をクリックします。
- 新しい管理者ロールを作成してください。Role Name フィールドに名前(例:"Administrator")を入力してください。
- 左側の [ロール API リソース] タブをクリックします。[リソースアクセス] を [すべて] に設定し、[ロールを保存] をクリックします。
- 次に、[システム] > [ウェブサービス] > [REST - 属性] に移動します。
- ユーザータイプのリストから [管理者] を選択します。
- リソース アクセス を [すべて] に設定し、[保存] をクリックします。
- 次に、System > Permissions > Users に移動します。
- リストから管理者ユーザーを選択し、[ユーザーを編集] をクリックします。
- 左側のサイドバーで REST ロール タブをクリックしてください。
- ラジオボタンをクリックして、新しい REST 管理者ロールをユーザーに割り当てます。

- [ユーザーを保存] をクリックします。
これで、Magento ストアの REST API が有効になりました。
REST API が正しく設定されているか不明な場合は、Magento 1x のクーポンのトラブルシューティングに関するリソースに記載されている手順をご確認ください。
Magento で REST 認証情報を生成する
Klaviyo の Magento クーポン機能を有効にするには、まず作成した REST 管理者アカウントを使用して Magento ストアから REST API 資格情報を生成し、次にそれらを Klaviyo アカウントに貼り付けます。
- 上記の REST API を有効にするセクションで作成した REST 管理者ユーザーとしてログインしてください。
- [システム] > [設定] をクリックし、[顧客] セクションの下にある[Klaviyo] をクリックします。
- [OAuth トークンを生成] をクリックします。

Consumer Key, Consumer Secret, Authorization Token と Authorization Secret が入力されます。次のステップで、これらの値をコピーして Klaviyo アカウントに貼り付けます。
Klaviyo で Magento クーポンを設定する
- Klaviyo アカウントから、Magento 外部連携に移動します。
- [詳細オプション] の矢印をクリックして、クーポン設定 を展開します。
- 上で作成した REST 資格情報を貼り付けます。

Magento サーバーは、OAuth 認証に HMAC-SHA1 署名をサポートしている必要があります。
- [Magento の設定を更新] をクリックします。
Klaviyo は REST 認証情報を検証し、アカウントの [クーポン] タブからクーポンの作成を開始できるようになります。
Klaviyo で Magento クーポンを作成する
REST 認証情報を提供した後、Klaviyo アカウントの クーポン タブに初めて移動すると、「まだクーポンを追加していません。」というメッセージが表示されます。
新しいクーポンを作成する前に、まず Magento でクーポンのすべての仕様を含む価格ルールを定義する必要があります。価格ルールは、Klaviyo 内からは作成できません。Klaviyo で作成する新しいクーポンは、Magento に既存の価格ルールを参照する必要があります。
Magento で価格ルールを作成する際は、新しい価格ルールを特定のクーポンに関連付けるオプションは Specific Coupon のままにし、Use Auto Generation チェックボックスをオンにする必要がある点にご注意ください。
- [クーポンを追加] をクリックして、新しいクーポンを作成します。
- 次の情報を入力します:クーポン名 と Magento ルール ID。
- クーポン名: 指定する名前にはアルファベット、数字、アンダースコアのみを使用でき、最大 32 文字まで可能です
- Magento ルール ID:最初に Magento でルールを作成し、そのルールの ID をここに貼り付けて、このクーポンに関連付けます。

作成されたすべてのクーポンは、次の概要の詳細とともに表示されます:
- クーポン名: クーポンの名前
- アクティブ期間:次のオプションがあります:
- アクティブ、有効期限なし
- 日付 A - 有効期限なし
- 日付 A - 日付 B
- アクティブ、期限日 B
- 作成日: クーポンが作成された日付
- 最終更新日: クーポンが最後に更新された日付
クーポンは、このタブの右側にあるドロップダウンから編集および削除できます。

フローのメールで Magento クーポンを使用する
クーポンを作成したら、次のプレースホルダー変数を使用してフローのメールに挿入できます。メール 1 通につき追加できるクーポンコードは 1 つのみです。同じクーポンコードを複数の場所に表示できますが、複数のコードを使用することはできません。
{% coupon_code 'CouponName' %}CouponName をクーポン名に置き換えてください。例:

SMS フロー メッセージでユニーククーポンを使用する
ユニーククーポンは、フロー内のSMS/MMS メッセージでも使用できます。コードを生成する方法はメールと同じです。次に、以下のテンプレートタグを使用して、SMS または MMS メッセージにクーポンコードを追加します:
{% coupon_code 'CouponName' %} 。
スニペットで、CouponName を希望するクーポンの名前に変更し、メッセージ(フローまたはキャンペーンのいずれか)に追加します。

メールとは異なり、SMS では 1 つのメッセージで 1 つのクーポンコードしか使用できません。メールでは、非表示ブロックを使用して、居住地やこれまでの行動に応じて異なるクーポンを送信できます。SMS メッセージに複数のクーポンを追加しようとすると、エラーメッセージが表示されます。

エラーのトラブルシューティング
エラーメッセージ: 「指定された REST 認証情報で REST API に接続できません。Magento 管理画面で、これらの認証情報が有効であることを確認してください。"
Klaviyo でこのエラーメッセージが表示されている場合、考えられる根本原因は 2 つあります:
- Magento サーバーが、OAuth 認証用の HMAC-SHA1 署名をサポートするように設定されていません。
- REST API のロールへのフルアクセスを有効にしていない可能性があります。
この問題を解決するには、Magento サーバーで OAuth 認証用の HMAC-SHA1 署名を有効にします。次に、以下の手順を完了して REST 権限を更新します。
- .htaccess のリライトルールをコメント解除するか、追加します。保存します。コメント解除されていることを確認したい行は次のとおりです:
RewriteRule ^api/rest api.php?type=rest [QSA,L] - REST Role が正しく設定されていることを再確認してください。
この手順については、Magento 用クーポンの設定ガイドのリンク先セクションで説明しています。 - もう 1 つの一般的な原因として、さまざまな Apache モジュールが “Authorization: Basic base64 (user:password)” ヘッダーを削除してしまう可能性があります。
詳細については、こちらの投稿をご覧ください
Klaviyo によってメールに挿入されるクーポンコードはユニークではありません。すべての受信者が同じコードを受け取っているように見えます。
Magento で価格ルールを作成する際は、新しい価格ルールを特定のクーポンに関連付けるオプションを[特定のクーポン]に設定したままにし、また「Use Auto Generation」チェックボックスを選択しておく必要があります。
Magento で Price Rule をクリックし、General Information の下で、行オプション "Coupon" までスクロールし、この設定を "Specific Coupon" に変更します。次に、ここで自動生成のチェックボックスをオンにします。これにより問題が修正され、各メール受信者に対して新しいユニーククーポンコードを生成できるようになります。