配送日ピッカーを設定し、テストして、問題なく動いています。ところが土曜に、配送日のない注文が届きます。お客様が Buy it now をクリックしたか、商品ページから Apple Pay で直接支払い、カレンダーを一度も見ていなかったのです。
Shopify の配送日アプリでいちばんよくある不満で、よくあるアドバイスは「ボタンを隠す」です。それも有効ですが、完全な解決策ではありません。実際に何が起きているのか、Shopify が引き続きチェックするもの、そしてどのプランでも日付なしの注文を防げる設定を解説します。
短い答え
商品ページの Buy It Now とエクスプレスボタンはカートを飛ばすため、カートの配送日ピッカーは動かず、商品ページで選んだ日付も引き継がれないことが多いです。 Shopify のチェックアウト検証は、エクスプレスを含むすべてのチェックアウトで、全プランで動きます。したがって解決策は、有効な日付を必須にするチェックアウトルールと、ピッカーを飛ばすボタンをオフにすることの組み合わせです。
日付が消える理由
ボタンは 3 種類あり、飛ばすものがそれぞれ違います。
| ボタン | 場所 | 飛ばすもの |
|---|---|---|
| Buy it now(ブランドなし) | 商品ページ | カート |
| Shop Pay / Apple Pay / Google Pay | 商品ページ | カート |
| エクスプレスボタン | カートページ | その前には何も飛ばさない。ただし下記参照 |
Shopify ヘルプセンターははっきり書いています。お客様がブランドなしのボタンをクリックすると、「they skip the cart(カートを飛ばす)」。カートページにある日付ピッカーは、一度も動きません。
商品ページのピッカーには、別の問題があります。OrderRules を含む多くの配送日アプリは、お客様が Add to cart をクリックしたときに日付を保存します。Buy It Now は Add to cart をクリックしないので、日付は保存されません。Shopify は、アクセラレートされたチェックアウトボタンがカート属性に対応していないとも説明しており、多くのアプリが日付を保管するのがそこです。
標準プランでは、チェックアウトの中に日付ピッカーを表示する方法はありません。それは、情報、配送、支払いの各ステップにあたるチェックアウト UI 拡張で、Shopify Plus 限定です。Plus でも、Shopify のスタッフは、Apple Pay と Google Pay がチェックアウト UI 拡張からの属性の書き込みに対応していないと述べています。
つまり、エクスプレスの経路では日付を集められません。できるのは、お客様が戻って日付を選ぶまで、注文を受け付けないことです。
それでもチェックされるもの:チェックアウトルール
Shopify には、どのボタンが押されたかを問わない別の仕組みがあります。カートおよびチェックアウト検証 Functions です。アプリが小さなルールをインストールし、Shopify がチェックアウト中にサーバー上で実行します。Shopify のドキュメントによれば、これは「includes express checkouts, such as Shop Pay, PayPal, Google Pay, and Apple Pay(Shop Pay、PayPal、Google Pay、Apple Pay などのエクスプレスチェックアウトを含む)」とされています。
Plus ではないストアにとって重要な点が 2 つあります。
- 全プランで動きます。 Shopify は、Functions を含む公開 App Store アプリを、どのストアでも使えるようにしています。Plus が必要なのは、Functions を含むカスタムアプリだけです。
- サーバー上で動きます。 お客様が別のボタンを使っても回避できず、カートページで以前に示された内容を信用せず、支払い時点で日付をもう一度確認します。
OrderRules は検証 Function で、すべてのチェックアウトの配送日を確認します。チェックアウトで配送日を必須にする がオンなら、次のような注文をブロックします。
- 配送日がない
- 休業日または配送不可日
- 最短で選べる日(準備期間と締め切り)より前の日付
- すでに満枠の日付または時間枠
テストでわかったこと
OrderRules を入れた開発ストアで、ケーキの商品ページで 10 月 30 日を選び、時間枠を選んで Buy it now をクリックしました。チェックアウトは日付なしで開き、こう表示されました。
Please choose a delivery date before checking out.
お客様は、戻って日付を選び、カート経由でチェックアウトするまで支払えません。セーフティネットが働いている状態です。ただし、良い体験とは言えないので、次の一手は、お客様がここに到達しないようにすることです。
日付なしの注文を防ぐ 3 つの設定
1. チェックアウトで配送日を必須にする
OrderRules で 配送日指定 を開き、日付が必要な商品のルールで チェックアウトで配送日を必須にする にチェックを入れます。次に、Shopify でチェックアウトルールがオンになっているか確認します:Settings → Checkout → Checkout rules。ルールがオフだと、チェックアウトでは何もチェックされません。
日付を確実に守るのは、この設定です。ほかはすべて、体験を良くするためのものです。
2. 日付が必要な商品でダイナミックチェックアウトボタンをオフにする
テーマエディタで商品テンプレートを開き、購入ボタンのブロックを探します。多くのテーマには Show dynamic checkout buttons のチェックボックスがあります。チェックを外してください。これでお客様は Add to cart を経由し、商品ページで選んだ日付が商品に付いてきます。
日付が必要な商品が一部だけなら、それらには別の商品テンプレートを使ってボタンをオフにし、ほかの商品では Buy It Now を残します。
3. カートページもテストする
エクスプレスボタンは、カートページやチェックアウトの上部にも表示されることがあります。日付をカートで集めている場合(OrderRules は、注文全体に 1 つの日付をそこで集められます)、実機で、カートから Apple Pay または Shop Pay のチェックアウトをテストしてください。日付が届かなければ、チェックアウトルールが同じメッセージで注文を止めるので、カートからもそれらのボタンを外す必要があるとわかります。
Plus と Plus 以外:何が変わるか
| 標準の Shopify プラン | Shopify Plus | |
|---|---|---|
| 商品ページとカートページの日付ピッカー | あり | あり |
| チェックアウト内の日付ピッカー | なし | あり(OrderRules のガイド) |
| チェックアウトルールで、日付なし・満枠をブロック | あり | あり |
| ルールが Shop Pay、Apple Pay、Google Pay に対応 | あり | あり |
| チェックアウトを離れずに日付を直せる | いいえ、ストアに戻る | チェックアウトピッカーなら可能(Apple Pay と Google Pay を除く) |
Plus では、チェックアウトピッカーによって、ほとんどのお客様がその場で日付の不足を直せます。どのプランでも、注文を止めるのはルールです。
OrderRules にできないこと
- Buy It Now を代わりに隠すこと。 テーマの設定なので、テーマエディタでオフにしてください。
- エクスプレスの経路で日付を集めること。 現時点で、Apple Pay や Google Pay のチェックアウトに書き込めるアプリはありません。代わりに、ルールが注文を拒否します。
- 最後の 1 枠を確保すること。 キャパシティは各注文が届いた時点で更新されるため、最後の 1 枠を同じ瞬間にチェックアウトした 2 人のお客様が、どちらも通過することがあります。
チェックリスト
- 日付が必要な商品で チェックアウトで配送日を必須にする がオンになっている
- Settings → Checkout → Checkout rules で OrderRules のルールがオンになっている
- 日付が必要な商品テンプレートで Show dynamic checkout buttons がオフになっている
- テスト済み:商品ページ → Buy It Now がブロックされるか、ボタンがない
- テスト済み:カートページ → Apple Pay または Shop Pay で日付が保たれるか、ブロックされる
- テスト済み:満枠の日には
Delivery on {date} is fully booked. Please choose another date.と表示される
関連記事:英国のベーカリーが配送日アプリを選ぶ前に聞いた 10 の質問 · 配送日ピッカーはどこに置くべきか · 配送日ピッカーアプリのおすすめ比較