割引そのものはどのように定義しますか?
AMOUNT_OFF クーポンで設定されていない通貨は対象外です。その通貨の注文は、黙って全額請求されるのではなく
拒否されます。販売するすべての通貨を設定してください。
期間は請求サイクルで数えるため、サブスクリプションにのみ効きます。ワンタイム決済はいずれにせよ割引を 1 回消費します。
ONCE — 1 回の決済のみ。同じ割引に対する 2 回目の試行は拒否されます。REPEATING — N サイクル。
Duration in Cycles も設定します。FOREVER — すべてのサイクル。
クーポン作成時に他に何を入力しますか?
割引タイプ、割引値、期間は作成後に変更できません。送信前にページが警告を表示し、作成後は Name と
Metadata のみ編集可能です。Deactivate はそれ以降の利用を停止し、元に戻せます。Archive は元に戻せず、
そのクーポンのプロモーションコードも無効化します。いずれも、すでに適用された割引には影響しません。一覧には
生のステータスではなくライフサイクルタグが表示されます。優先順位はアーカイブ済み、次に期限切れ(
redeemBy 経過)、
次にクーポン自身の状態です。
プロモーションコードはどのように発行しますか?
バッチ作成は 4 ステップのウィザードです。クーポンを選び、プレフィックスと数量を設定し、制限を設定し、確定前に
サンプルコードと生成時間の見積もりを返すプレビューを確認します。生成されたコードは永続的なので、
プレフィックスと数量を先に計画してください。バッチは非同期で実行されます。Batch Tasks には Task ID、クーポン、
ステータス(
PENDING → PROCESSING → SUCCESS / FAILED)、成功件数、作成時刻が一覧表示され、
そのタスクが生成したコードへのリンクがあります。コードレベルの有効期限でクーポンの期限を延長することはできません。
クーポン自身の redeemBy は別途チェックされるため、2 つのうち早い方で利用が終了します。
チェックアウトでコードが拒否されたのはなぜですか?
適用可否は金額計算の前に、おおむね次の順序で判定されます。- アカウントでクーポンが無効化されている、またはクーポン設定がまだ存在しない。
- クーポンまたはコードが無効、期限切れ、または利用可能な在庫を使い切っている。もしくは、同じリクエストで渡された クーポンにそのコードが属していない。
- 注文金額がその通貨におけるコードの Minimum Amount 未満である、または
AMOUNT_OFFに注文通貨の金額が 設定されていない。 - 顧客ごとの制限、日次制限、または First Time Only が適用されるが、リクエストに顧客識別子がない。 この場合、割引は無制限に適用されるのではなく拒否されます。
- First Time Only で、顧客にすでに完了した利用がある。これは貴社アカウント全体を範囲とし、このクーポン 1 つに 限定されません。
ONCEクーポンがすでに使用済み、またはREPEATINGクーポンがサイクルを使い切っている。
誰が何を利用したかはどこで確認できますか?
クーポン詳細ページには Overview、Promotion Codes、Redemption History タブがあります。各利用行には Record ID、 プロモーションコード、顧客、ソースタイプとソース ID、注文通貨での Original / Discount / Final 金額、ステータス、 作成時刻が含まれます。顧客、ソース ID、ステータス、日付範囲でフィルターし、フィルターしたビューをエクスポートできます。 ステータスはCREATED(予約済み、まだ確定していない)→ COMPLETED(確定。分析が集計する唯一の状態)、
または VOIDED(決済が完了せず、予約が解放された)/ REVERSED(返金後にロールバックされた)と遷移します。
Discount Analytics はどのように計算されますか?
数値が貴社の集計と一致するかは 3 つの注意点で決まります。完了した利用のみを集計するため、CREATED、
VOIDED、REVERSED は除外されます。金額は通貨をまたいで換算なしで合計されるため、カードとパフォーマンステーブルには
通貨記号のない生の数値が表示されます。通貨ごとの合計には利用記録のエクスポートを使用してください。また、
Redemption Rate = 完了した利用回数 ÷ 対象クーポンの Max Redemptions の合計であり、上限のないクーポンは分母に 0 を加えます。
デフォルトの範囲は直近 30 日間です。トレンドチャートは各利用の確定時刻を Portal のタイムゾーンで区切り、
Daily / Weekly / Monthly の切り替えで同じデータを再集約します。Coupon Performance は期間をクーポンごとに分割します:
Total Codes、Redemptions、Total Discount、Redemption Rate、Average Order Value。
アカウントレベルのクーポン設定は何をしますか?
返金時、およびサブスクリプションのトライアル中、割引はどうなりますか?
Full Reversal 戦略では、全額返金によって利用が取り消されます。記録はREVERSED になり、利用枠はクーポンと
コードの両方に戻ります。一部返金では取り消されません。記録は COMPLETED のままで、枠は消費されたままです。
完了しなかった決済は代わりに予約を VOIDED として解放します。取り消しは実際に消費された分のみを返すため、
実際の割引を受けていないサイクルがカウンターをマイナスにすることはありません。
金額ゼロのトライアル期間は、クーポンとコードのその期間の利用枠を占有しますが、割引自身のライフサイクル回数は
消費しません。したがって、無料トライアル付きサブスクリプションの ONCE クーポンは、最初の有料サイクルに対して
1 回の実際の割引を依然として利用できます。サブスクリプション以外では、実際に割引が適用されていない金額ゼロの注文は
何も消費しません。
API 経由で割引を適用するにはどうすればよいですか?
注文作成にはpromotionInfo オブジェクトがあり、相互排他の 2 つのフィールド(各最大 64 文字)を持ちます。
promotionInfo.promotionCode は貴社または Waffo ホスト型チェックアウトページが使用します。チェックアウトの割引入力欄は
プロモーションコードのみを受け付けるため、顧客がクーポン ID を入力することはありません。promotionInfo.couponId は
貴社専用で、注文作成時にコードを介さず特定のクーポンを適用します。どちらか一方のみを渡し、両方は渡さないでください。
コードとクーポン ID の両方が届いた場合、コードはそのクーポンに属している必要があります。注文作成のフィールドレベルの
ルールとチェックアウトページ自体の動作は、注文作成フィールドガイドとチェックアウトページのドキュメントで扱っています。
Marketing ページから何をエクスポートできますか?
Marketing ページで管理するものはすべて Portal の機能です。クーポンの作成・編集・無効化・アーカイブ、単一コードと コードバッチの作成、利用記録と分析の閲覧のいずれについても、API キーで署名する連携エンドポイントは存在しません。 唯一の API 接点は、上記の注文作成時のpromotionInfo です。
4 つの一覧に Export ボタンがあります:Coupons、Promotion Codes、Redemption History、Discount Analytics。
各エクスポートはタスクとして実行され、<type>-<task-id>.csv という名前の CSV を提供します。プレフィックスは
coupon、promotion-code、promotion-record、promotion-analytics です。エクスポートは画面上のフィルターを尊重し、
最大 10,000 行を対象とします。一覧とエクスポートのタイムスタンプは Portal のタイムゾーンで表示されます。
Portal はリクエストとともにそのオフセットを送信します。
数値が合いませんか? クーポン ID、プロモーションコード、または利用記録の Record ID を添えて サポートにお問い合わせください。