Shopifyの商品ページを下までスクロールするとカートボタンがいなくなってしまうので、何もせず離脱されてしまうのを防ぐため、「カートに入れる」ボタンを追従させたい!と画策しました。
定期商品もあるため、「カートに入れる」ボタンを押すと、1回購入と定期購入をそれぞれ選べる詳細ポップアップを表示させるという仕様にしたので、追従ボタンの設置と、詳細画面作成についてお話しします。
完成イメージ
以下クリックで詳細画面に定期プランと1回購入を両方表示させた例のデモ画面をご確認いただけます。
商品名
| 定期便 初回 1,600円 20% OFF |
|
|---|---|
| ※ 2回目以降毎月お届け: 10% OFF |
|
| 1回購入 2,000円 |
|
|---|
用意するもの
- カートマーク(なくても良し)
- 定期購入商品のBuy Link(定期プランがある場合のみ※ここでは「定期購買」アプリを使用)
例)https://bizmatcha.website/apps/subscription/buy?id=1234567890&selling_plan=1234567890&quantity=1&is_cart=1
※Buy Linkは、「定期購買」アプリのプラン設定から該当プランを選択して、「Buy Linkの作成」ボタンから簡単に作成できます。
仕様の整理
追従ボタン
- 「カートに入れる」というテキストの右にカートマークを設置
- クリックしてポップアップ画面を表示させる
ポップアップ詳細画面
- 定期プランがある場合は、定期プランと1回購入でそれぞれ数量ボックスと「カートに入れる」ボタンを表示
- 定期プランがない場合は、1回購入のみで数量ボックスと「カートに入れる」ボタンを表示
※定期プラン内でも商品ごとに割引有無や割引率など内容が異なる場合には、条件分岐を設置する必要があるので要注意。
では、早速作っていきましょう!
追従ボタンと詳細画面の設定方法
今回はliquidファイルにcssもjavascriptも含めてしまったので、やり方は2ステップで、追従カートボタン用にliquidファイルを新設し、商品ページに埋め込むだけです。
- 設置したいテーマのコード編集からスニペットを新しく作成
(名称はわかりやすいものでOK。ここでは「fixed-cart.liquid」としました。 - main-product.liquidの任意の場所に{% render ‘fixed-cart’ %}と記述
1.スニペットの新設
- 以下の該当コードをコピー
- ★箇所は該当の情報を入れてください。
- 最上部にCSSを入れているので、お好みのスタイルに変えてください。
定期プラン商品がある場合
以下は、デモ同様定期プランがある場合のコードです。定期便では2個まで選べるようにしています。
定期プラン商品なしの場合
以下は1回購入のみの場合のコードです。
まとめ
shopfiyの商品ページに「カートに入れる」ボタンを追従で設置する方法を紹介しました。
色やテキスト、ボタン設置位置や詳細画面の見栄えなどはお好みでカスタマイズしてくださいませ。
追従ボタンのUX・購入動線チェック
追従ボタンは購入を助けるためのものなので、画面を広く隠したり、別の重要な操作を妨げたりすると逆効果です。特にスマホでは、Cookie同意、チャット、戻るボタンなどと重ならないか実機で確認してください。
- 選択中のバリエーション、在庫、数量が通常の商品フォームと一致する
- 売り切れ時は購入できず、状態が文字でも分かる
- 定期購入を使う場合はselling planが正しく引き継がれる
- カート追加後の挙動が通常ボタンと同じになる
- キーボード操作時のフォーカスが見え、本文を隠しすぎない
テーマ変更前はShopify公式手順でテーマを複製し、複製テーマのプレビューで確認してください。公式のテーマコード編集ガイドには、以前の状態へ戻す方法も案内されています。
カートに入らない場合
通常の商品フォームでは購入できるかを先に確認します。通常ボタンだけ動く場合は、追従側へvariant ID・数量・販売プランが渡っているかを比較してください。商品選択UIを変更している場合はバリエーションボタンリンクの記事や選べるセット商品の記事も確認できます。


