Xポストログ

Xで投稿したShopify関連の内容をそのまま記録しています。

  • Shopifyの標準ストアフロントイベント&アクションが、カート属性の更新に対応したとのことです。また、カート属性を書き換えるために updateCart() を呼ぶと、決まった名前のイベントがセットで飛んでくるようになります。

    https://shopify.dev/changelog/events-and-actions-cart-attributes-support

    たとえばギフトメッセージ欄をカートに自作で追加するとき、その入力内容はカート属性として保存することになります。これまでは、その変更をカートサマリーの表示などにも反映したい場合、変更を知らせる独自のイベントを発火させる処理と、それをキャッチする処理を両方自分で書き、名前を揃えておく必要がありました。updateCart() を使うと、属性を書き換えた時点で shopify:cart:attributes-update という決まった名前のイベントが自動で飛ぶようになったので、反映したい側は、そのイベントをキャッチする処理だけ書けば済みます。

    なお updateCart() の attributes は差分ではなく完全な置き換えになります。既存の属性は自動では引き継がれないので、1項目だけ追記・変更したい場合も、先に getCart() で現状の attributes を取得し、JS側で編集してから配列ごと updateCart() に渡す必要があります。

    イベントを独自に発火・キャッチする処理を作らなくてよくなるので、Shopify.actionsがテーマファイルのイベント処理のスタンダードになってくれると、イベント管理がしやすくなって助かりますね。

    #Shopify

    Xで見る
  • 【X記事】Shopifyに新たに搭載されたWebMCPを調べてみた

    2026年8月5日、Shopify が Liquid / Hydrogen の全ストアフロントに WebMCP…

    https://x.com/i/article/2085275794709086208

    Xで見る
  • 【Shopifyテーマ:Horizon】
    Horizon のカスタマイズ難易度を上げている理由のひとつは、morph の挙動にあるのではないかと感じています。

    バリアント選択やカート更新のたびに、Horizon は対象セクションの HTML をサーバーから取り直し、画面を更新します。あとから JavaScript で追加した表示は、サーバーが返す HTML には含まれないため、この再描画のたびに消えてしまいます。

    やや厄介なのは、初回表示では正しく見える点です。一度は表示されるので確認時に気づきにくく、バリアントを切り替えた瞬間に消えて、原因を追いにくい不具合になりがちです。

    Horizon のセクション内に何かを追加する場合は、この前提を持っておく必要があります。現実的には、消えることを前提に MutationObserver で再描画を検知し、必要な表示を足し直す処理を書くのが対応策になりそうです。

    #Shopify

    Xで見る
  • 開発ストアから Hydrogen を Oxygen にデプロイできるようになったようです。これまでは有料プランのストアが必要だったので、開発ストアだけで試せるならかなり嬉しい変更です。

    ただ、手元では Hydrogen 販売チャネルがまだ「ご利用のプランではご利用いただけません」と表示され、実際には使えませんでした。新規の開発ストアでも既存の開発ストアでも同じでした。順次使えるようになっていくのを待つ必要がありそうです。

    https://shopify.dev/changelog/oxygen-is-now-available-on-development-stores

    #Shopify

    Xで見る
  • 顧客メタフィールドの更新をトリガーに、Klaviyo の誕生日プロパティへ反映する Flow は手でも組めますが、Sidekick に頼むとかなりスムーズに実装してくれます。

    Flow の標準トリガーにはないメタフィールド更新トリガーについても、対応アプリをきちんと選択。namespace と key で条件を絞り、Klaviyo アプリのアクションに Liquid で値を渡すところまで組んでくれました。

    #Shopify

    Xで見る
  • いよいよ8月26日で、Shopify Plus 以外のストアでも Thank you ページへのスクリプト埋め込みが使えなくなります。管理画面にも警告が出るようになりました。

    対象のストアは自動でアップグレードされ、Additional scripts に入れていたカスタマイズは失われます。一時停止中のストアも対象で、再開しても元には戻りません。計測タグを入れたままにしているケースでは、早々に別の手段に移行する必要があります。

    移行先の第一候補は、計測タグならカスタムピクセル、レビュー依頼やアンケート、配送追跡といったサンクスページの定番なら対応アプリです。主要なアプリはすでに拡張機能を提供しているので、多くはこの2つで戻せるはずです。

    それでも残る独自の要件があれば、Checkout UI extensions で表示を足す、Shopify Functions で割引や配送・決済の出し分けを組む、という順番になります。まずは何が入っていたかの棚卸しからですね。

    #Shopify

    Xで見る
  • Sidekickからアプリを操作できるようになりつつありますが、すでに対応しているMatrixifyで試してみたところ、かなり実用的だと感じました。

    例えば「誕生日メタフィールドが空の顧客をMatrixifyで抽出したい」と書くだけで、まずストア内から誕生日に該当しそうなメタフィールドを5つ見つけ、どれを使うか選択肢で確認してくれます。そのうえでMatrixifyのエクスポート画面を開き、出力する列やフィルター条件まで入力済みの状態にしてくれました。あとはExportを押すだけです。一方で、出力列をメタフィールド単位で個別指定するところまでは自動では進まず、そこは手順を教えてもらいながら手動で設定する形でした。

    ちなみに、Sidekick経由でアプリを操作できるようにする仕組みには、アプリごとにツール20個・インテント5個という上限があります。アプリの全機能がそのままSidekickから使えるようになるわけではなく、限られた枠の中でアプリ側がどの操作を公開するかが重要になります。今回のMatrixifyでも、フィルター条件の設定まではできた一方で、メタフィールドの個別カラム指定は手動対応でした。このあたりに、Sidekick連携で「どこまで操作できるか」の線引きが見えて面白いですね。

    とはいえ、アプリごとの細かい作法を覚えていなくても、やりたいことを書けば操作の形にしてくれるのはかなり便利です。

    StoreHeroでもご契約者様専用のアプリを用意していて、私も開発に関わっています。専用レポート画面はすでにありますが、「もっと別のデータも見たい」というリクエストにSidekick経由で応えられる可能性があるので、早速対応を試してみる予定です。

    #Shopify


    スレッド

    Sidekick と連携するアプリ
    https://apps.shopify.com/stories/guide-sidekick-app-extensions?locale=ja

    Xで見る
  • Shopifyの顧客メタフィールドに生年月日を保存しても、そのままではKlaviyoのカスタムプロパティには自動で同期されません。

    そこで、メタフィールドの更新をトリガーにアプリ経由でShopify Flowを実行し、「Send HTTP request」からKlaviyo APIを呼び出します。これにより、Shopify側で生年月日を更新すると、Klaviyoのカスタムプロパティにも変更が反映されます。

    #Shopify

    Xで見る
  • 「商品や顧客のメタフィールドが更新されたタイミングで、Shopify Flowを実行したい」というご相談を受けることがあります。

    ただ、Flowの標準トリガーには「メタフィールドの変更」を検知するものが用意されていません。

    そのため、こうした処理を実現するにはアプリを利用することになります。メタフィールドやメタオブジェクトの更新をトリガーとして扱えるアプリがあります。

    https://apps.shopify.com/flow-trigger-extensions?locale=ja

    #Shopify

    Xで見る
  • そうですね。できる限り購入意欲をアシストしてもらえそうなレビューを優先的に表示できるといいですよね。

    >カート手前で落ちる理由が商品への不安より送料と配送日で、「思ったより早く届いた」「サイズ感は説明どおり」系のレビューのほうが後押しになってました。
    これはとても良い知見ですね!確かに、お客様がどの様な点を気にされているかを知ることで、かなり具体的なフォローができますね。

    >あと後入れのウィジェットは読み込みが遅れて合計金額の位置がずれることがあるので、うちは合計の下に置いてます
    レイアウトシフトによってガタつきが起きるのは購買体験を損ないかねないので、この点も大切ですね。

    非常に参考になるコメント、ありがとうございます!

    Xで見る
  • お勧めすることが多いアプリhttp://Judge.meで、カートページにもレビューを表示できるようになったとのことでした。

    これまでは商品ページで安心してもらう発想でしたが、購入直前のカート画面にも最後の後押しとして出せるのは大きいなと感じています。

    テーマエディタでアプリブロックを追加するだけで表示可能で、レビューウィジェット・カルーセル・グリッドなど複数の見せ方から選べます。

    https://judge.me/help/en/articles/15359911-adding-judge-me-widgets-on-your-cart-page

    #Shopify #judgeme

    Xで見る
  • Shopify AppもリリースされているMicrosoft Clarityですが、API接続できるのですが、AIに見せてみると思いのほか便利でした。

    ヒートマップや録画そのものをAIが認識できるわけではないのですが、Rage ClickやDead Click、Excessive Scrollといった数値を、ブラウザやデバイス、流入経路別に取り出せる、という仕組みです。

    1日10回までの制限はありますが、「このページだけ反応が悪そう」「モバイルだけ何かおかしそう」といった当たりをAIにつけてもらい、実際の動きは録画で確認する、という役割分担で使うとしっくりきました。

    #Shopify

    Xで見る
  • 【Shopify TIPS:テーマHorizon】
    バリアントの選択肢に「+15,000円」「受注生産」などの補足を表示する方法

    サイズやカラーの選択肢に「+15,000円」「受注生産」「マットレス別売」といった補足情報を表示する方法です。選ぶ前に価格差や納期が分かる状態になります。

    メタオブジェクトを使って、「オプション名 / 選択肢の値 / 表示内容」を持たせ、選択肢そのものに情報を紐づける形にしてみました。テーマファイルは触らず、カスタムLiquidブロックに貼るだけで動きます。ちなみにオプションが1種類だけなら、バリアントメタフィールドで足りるので、ここまでの対応は不要です。

    #Shopify


    スレッド

    【Horizon】バリアントの選択肢に「+15,000円」「受注生産」などの補足情報を表示する
    https://store-dojo.com/products/2026-07-27

    Xで見る
  • ※再ポストしています。
    なるほど!確かにそうですね。表示するバリエーション(サイズ・カラーなど)を複数追加しても、同じ親商品のバリエーションは同一商品としてまとめて表示される仕様とのことでした。コレクション内では「商品単位」で管理されるため、特定のバリエーションだけを独立したアイテムとして表示することはできないのが残念ですね。
    複数のバリアントをカラバリとして並べられると利便性が高まるのですが、そこは別商品として登録するか、アプリを使うしかない様です。

    Xで見る
  • 【X記事】Shopifyテーマの「自由と制約」は、AIでどう変わるのか

    2026年7月、Shopifyの Online Store 担当プロダクトディレクター Ben Sehl 氏が「Liquid: Back to the Future」という一文を公開しました。…

    https://x.com/i/article/2080658376166621184

    Xで見る
  • Shopify Appを提供しているFast Bundle社がサイバー攻撃を受け、現在同社のアプリがストアから全て削除された状態になっています。

    これに伴い、ストアにインストール済みのアプリも全て削除されてしまい、ストア上でそれらの機能が使えなくなってしまいました。結果としてセールスに影響が出る事態となっており、このようなリスクがあることも気をつけておきたいところですね。

    https://apps.shopify.com/partners/hi-fastbundle-co?locale=ja

    Xで見る
  • Shopify Liquid July '26 の developer preview に入った {% partial %} タグを触ってみました。

    サーバーでレンダリングされた「ページの一部」を、JS からページリロードなしで更新できるタグです。
    これまではカート個数の更新ひとつとっても、Liquid で書いた表示ロジックを JS でもう一度書いて再現していましたが、{% partial %} だと Liquid 1箇所に書けば、JS は「この領域を更新して」と指示するだけで済みそうです。表示ロジックの二重実装が要らなくなるのが便利なところですね。

    触ってみた範囲では、効果的なのは「サーバーのデータや状態が絡む更新」でした。カートやバリアント別の価格、在庫・ソート・検索、そして閲覧履歴あたり。逆に{{ 'now' | date: '%H:%M:%S' }}のような、現在時刻表示の表な処理は、強固にキャッシュが残ってしまいリアルタイムに更新されず不向きでした。

    挙動を試すには、開発ストアを作るときに feature preview の「Liquid July '26 changes」を有効にする必要があります。まだ preview 段階で仕様も変わり得るので、あくまで現時点での検証になります。

    #Shopify


    スレッド

    Liquid templates can now compose pages with blocks and partials
    https://shopify.dev/changelog/developer-preview-liquid-block-and-partial-tags

    Xで見る
  • 【X記事】Shopifyの商品データ設計:バリアント/メタフィールド/プロパティの使い分け

    Shopifyでストアを作るとき、意外と後回しにされがちなのが「商品の情報を、どこに・どう持たせるか」という設計です。色やサイズはバリアント、素材やケア方法はメタフィールド、名入れやギフトメッセージはライン…

    https://x.com/i/article/2079776190114729985

    Xで見る
  • 【Shopify TIPS】
    割引の条件に使うコレクションは「非公開」でも問題なし

    Buy X Get Y の対象コレクションなど、割引条件に使うだけでストアには出したくないコレクションがあります。チャネル「Online Store」を外して非公開にしても、公開状態と商品の所属は独立しているため、割引の判定はそのまま効きます(公式ヘルプにも明記)。条件設定のための「管理用コレクション」として使えます。

    #Shopify

    Xで見る
  • 【Shopify TIPS:バリアントごとにディスカウント】
    先日のコレクションのアップデートで「バリアント単位」の指定ができるようになりましたが、これを応用することで「特定のバリアントにだけ効くディスカウント」が作れるようになっていました。

    やり方はシンプルで、①特定ののバリアントだけを集めたコレクションを作る →②そのコレクションを対象に商品ディスカウントを設定するだけ。同じ商品でも「ブルーだけ値引き・ベージュは対象外」といった出し分けができるようになります。

    これまで商品単位が基本だった割引が、バリアント単位まで絞れるようになった、という地味だけど効く発見でした。

    #Shopify

    Xで見る