Migrating a lifetime spend discount script
The same shape as the order-count gate and the same plumbing behind it, asked for less often. Both are worth reading together, because the answer for one is the answer for the other.
未対応It checked how much the customer had spent in total before applying the discount.
スクリプトレスキューに貼り付けて、何が再現されるか確認する
- このページの各スクリプトの横にあるボタンで Ruby をコピーします。
- Shopify 管理画面で Stackable を開き、ツール、スクリプトレスキューの順に進みます。
- そこに貼り付け、ツールが作成すると示した内容を読み、このページの設定と見比べます。
スクリプトレスキューは Pro プランの機能です。以前のスクリプトの割引額を入力し、両方の金額が最小通貨単位まで一致するまで、何も公開されません。
Script 本体
未対応LIFETIME_SPEND = Money.new(cents: 50000)
DISCOUNT_PERCENTAGE = 10
if !Input.cart.customer.nil? && Input.cart.customer.total_spent >= LIFETIME_SPEND
Input.cart.line_items.each do |line_item|
line_item.change_line_price(
line_item.line_price * (1.0 - (DISCOUNT_PERCENTAGE / 100.0)),
message: "Loyalty discount"
)
end
end
Output.cart = Input.cartWe have not built this yet
Your Script checked how much the customer had spent in total. Shopify can tell us, but our checkout query is already at Shopify's cost limit, so we cannot ask for it today.
これは Shopify ではなく当社の不足です。Shopify では許可されていますが当社が未実装なので、リンクできる先はなく、プラットフォームのせいにできる点もありません。
理由キー: unsupported.customerTotalSpent
何も作成されないため、ここに検証できるカートはありません。これを貼り付けても上のメッセージが出るだけで、キャンペーンは作成されません。
よくある質問
- Will Stackable rebuild this script?
- No, and the reason is stated rather than hidden: Your Script checked how much the customer had spent in total. Shopify can tell us, but our checkout query is already at Shopify's cost limit, so we cannot ask for it today.
関連する Script の型
A discount for shoppers with no order history, or with enough of it.
A new-customer gate wrapped around a cheapest-item reward.
A discount only tagged customers ever saw.