クーポンの設定方法(Magento 1.x の場合)
Klaviyo の Magento 1 外部連携は、新規インストールの受付を終了しており、2027 年後半にサポートを完全終了します。Klaviyo サポートでは、Magento 1 に関連するリクエストについてサポートを提供できなくなりました。
このページで学べること
Magentoは、顧客の注文に割引を適用するために使用できるショッピングカート価格ルールをサポートしています。既存の価格ルールに対してクーポンコードを作成できるため、購入者はチェックアウト中にコードを使用して割引を適用できます。
KlaviyoのMagento向けクーポン機能を使用すると、既存のMagento 1.x外部連携があるストアで次のことを行えます:
- Magento の既存の価格ルールに関連付けられた Klaviyo の新しいクーポンを作成します。
- メールおよびSMS/MMSフローのメッセージにユニーククーポンを含めることで、各受信者が一意のコードを受け取れます。
このガイドでは、KlaviyoでMagentoのクーポンを設定する方法を説明します。
Magentoで生成されたユニーククーポンは、メールおよびSMS/MMSフローメッセージで利用できます。キャンペーンメールでは利用できません。キャンペーンでユニーククーポンコードを送信するには、1秒あたり数千件のコードが必要になる場合があり、その規模ではMagentoサーバーのレート制限がコード生成に影響する可能性があります。
要件
これらの手順には、有効化済みのMagento 1外部連携と、MagentoにインストールされたKlaviyo拡張機能が必要です。外部連携によって同期されるデータの詳細については、Magento 1データリファレンスを参照してください。
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ロールを割り当てた管理者ユーザーを使用してREST API認証情報を生成し、Klaviyoに入力してください。
- 上記のREST APIを有効にするセクションでRESTロールを割り当てた管理者ユーザーとしてログインしてください。
- [システム] > [設定] をクリックし、[顧客] セクションの下にある[Klaviyo] をクリックします。
- [OAuth トークンを生成] をクリックします。

Consumer Key、Consumer Secret、Authorization Token、およびAuthorization Secretが入力されます。次のステップで、これらの値をコピーしてKlaviyoアカウントに貼り付けてください。
KlaviyoでMagentoのクーポンを設定します
Magento サーバーは、OAuth 認証に HMAC-SHA1 署名をサポートしている必要があります。
- Klaviyo アカウントから、Magento 外部連携に移動します。
- 設定タブで、詳細設定 > クーポンに移動し、クーポンを有効化を選択してください。
- Magentoのコンシューマーキー、コンシューマーシークレット、認証トークン、認証シークレットを入力してください。

- [保存] をクリックします。
設定が正常に保存されたら、クーポンページからクーポンを作成できます。
Klaviyo で Magento のクーポンを作成する
Klaviyoでクーポンページを開き、Magento 1クーポンタブを選択してください。
新しいクーポンを作成する前に、まず Magento でクーポンのすべての仕様を含む価格ルールを定義する必要があります。価格ルールは、Klaviyo 内からは作成できません。Klaviyo で作成する新しいクーポンは、Magento に既存の価格ルールを参照する必要があります。
Magento で価格ルールを作成する際は、新しい価格ルールを特定のクーポンに関連付けるオプションは Specific Coupon のままにし、Use Auto Generation チェックボックスをオンにする必要がある点にご注意ください。
- Magento 1クーポンの作成をクリックします。
- 名前とMagentoルールIDを入力してください:
- 名前:文字、数字、アンダースコアのみを使用した一意の名前を、最大32文字まで指定してください。クーポンは作成後に名前を変更できません。
- MagentoルールID:Magentoで作成した価格ルールのIDを入力して、このクーポンに関連付けてください。
- [クーポンの作成] をクリックします。作成に成功すると、KlaviyoによってMagentoのクーポンリストに戻ります。

作成後、Klaviyoで次の詳細を確認できます:
- クーポン:リスト内のクーポン名です。
- アクティブな期間:クーポンを開いて、Magentoの価格ルールで指定された日付を確認してください。期間には次が表示される場合があります:
- アクティブ、有効期限なし
- 日付 A - 有効期限なし
- 日付 A - 日付 B
- 有効期限B
- 作成日:クーポンが作成された日付です。
- 最終更新日:クーポンが最後に更新された日付です。
クーポンを編集するには、名前をクリックし、MagentoルールIDを更新して、クーポンを更新をクリックします。クーポンを削除するには、行メニューを開き、削除を選択して、削除を確認してください。

フローのメールでMagentoクーポンを使用する
クーポンを作成したら、次のテンプレートタグを使用してフローのメールに挿入します。複数の場所に同じコードを表示するには、同じクーポン名でタグを繰り返します。
{% coupon_code 'CouponName' %}CouponName をクーポン名に置き換えてください。例:

メールとSMS/MMSのフローメッセージで同じクーポンを使用すると、Klaviyoではすでにその受信者に割り当てられているコードを再利用できます。クーポン名を繰り返しても、各メッセージで新しいコードが生成されるとは限りません。
SMSフローメッセージでユニーククーポンを使用する
ユニーククーポンは、フロー内のSMS/MMS メッセージでも使用できます。コードを生成する方法はメールと同じです。次に、以下のテンプレートタグを使用して、SMS または MMS メッセージにクーポンコードを追加します:
{% coupon_code 'CouponName' %} 。
スニペットで、CouponNameをクーポン名に変更し、スニペットをSMSまたはMMSのフローメッセージに追加します。

SMS/MMSメッセージごとに使用できるクーポン名は1つです。異なるクーポン名を追加すると、エラーが表示されます。メールでは、表示/非表示ブロックを使用して、居住地や行動に応じて異なるクーポンを送信できます。受信者ごとにオファーを1件表示するには、意図したクーポンブロックのみが表示されるように条件を設定してください。

エラーのトラブルシューティング
クーポンを有効化できない、またはREST APIに接続できません
外部連携設定で[認証の問題によりクーポンを有効化できません]と表示される場合や、[指定されたREST認証情報でREST APIに接続できません]と表示される場合があります。Magento管理画面で、これらの認証情報が有効であることを確認してください。
まず、4つのREST認証情報がすべて正しくコピーされていることを確認してください。正しい場合は、次の原因が考えられます。
- Magento サーバーが、OAuth 認証用の HMAC-SHA1 署名をサポートするように設定されていません。
- REST APIのロールへのフルアクセスが有効になっていない可能性があります。
MagentoサーバーがOAuth認証用のHMAC-SHA1署名をサポートしていることを確認してください。次に、以下のREST権限とサーバー設定を確認してください:
- .htaccess のリライトルールをコメント解除するか、追加します。保存します。コメント解除されていることを確認したい行は次のとおりです:
RewriteRule ^api/rest api.php?type=rest [QSA,L] - RESTロールが正しく設定されていることを確認してください。
上記のREST APIを有効化するセクションの手順に従ってください。 - Apacheを使用している場合、
AuthorizationヘッダーがPHPに渡されていることを確認してください。Magento REST接続ではOAuth認証情報を使用します。サーバー設定の詳細については、このAuthorizationヘッダーを渡す方法のガイドを参照してください。
エラーにSSL証明書について明記されている場合は、Magentoストアに有効で信頼されたSSL証明書がインストールされていることを確認してください。
すべての受信者は同じクーポンコードを受け取ります
Magentoで価格ルールを作成する際、新しい価格ルールを特定のクーポンに関連付けるオプションはSpecific Couponに設定したままにし、[自動生成を使用]チェックボックスを選択する必要があります。
Magento で Price Rule をクリックし、General Information の下で、行オプション「Coupon」までスクロールし、この設定を「Specific Coupon」に変更します。次に、ここで自動生成のチェックボックスをオンにします。これにより問題が修正され、各メール受信者に対して新しいユニーククーポンコードを生成できるようになります。