【Shopify】チェックアウトページでのスクリプト埋め込み
🥽

【Shopify】チェックアウトページでのスクリプト埋め込み

Created
Nov 9, 2022 11:23 AM
Updated
Last updated December 13, 2022
Tags
Shopify
Description
shopifyの購入完了画面(チェックアウトページ)にスクリプトを埋め込む方法を簡単にまとめました。

最初に結論

チェックアウトページ(=決済完了時の画面)で以下の箇所にスクリプト記載すれば実行できます🙆‍♂️
or
ShopifyのAPIを叩いて対象となるスクリプトをPOSTすればOK
 
 
 
ストア管理からログイン → ⚙アプリと販売チャネルの設定 → チェックアウトとアカウント → 注文状況ページ
or
という感じです。

チェックアウトページにスクリプトを埋め込む理由

例えば、何の商品を購入したか?いくらの商品を購入したか?といったことを、取得できるからです。または、なにかのPRをしてそのコンバージョンがされたか?といった仕組みを作れるからです。
 
やりかたとしては、
JavaScriptで商品のDOM情報を取得してきて、 iframe タグと一緒にその情報を srcdata 属性として埋めこみ、 自前のサーバーに通信することで情報を取得します。
 
例えばDOMは、以下のチェックアウトページのHTMLのように商品情報があるので、JavaScriptを駆使して取得できそうです。
notion image
 
そしてサードパーティクッキーと同じ仕組みを使って、別オリジンに情報を送付します。
サードパーティについては、どこかでまとめたい🥺サードパーティクッキーは昨今のプライバシーに関する問題で、ブラウザ毎で対応方針が変わったりするので注意が必要なようです。
 
埋め込むスクリプトとしては、こんな感じで購入された商品IDを別オリジンに送付します。
商品ID以外にも送信したい場合は、同じ用にJavaScriptを利用して src 属性に組み込めばOKと思います。
<iframe id="hoge" src="" style="display: none;" ></iframe> <script> function getProductIds() { const products = document.getElementsByClassName('product'); const productIds = []; Array.prototype.forEach.call(products, (product) => { return productIds.push(product.dataset.productId); }); const joinedProductIds = productIds.join(','); const tag = document.getElementById('hoge'); tag.setAttribute('src', `https://hogehoge.com/checkout?products=${joinedProductIds}`); } window.addEventListener('load', getProductIds); </script>
 
 
公式のドキュメント。
img で実装しているようですが、やっていることは同じですね。
注文状況ページをカスタマイズする
このページはNov 09, 2022に印刷されています。最新のバージョンについては、https://help.shopify.com/ja/manual/orders/status-tracking/customize-order-statusをご覧ください。 注文状況ページをカスタマイズして、お客様のニーズに応じてオプションとメッセージを表示できます。 注文状況ページで使用される言語は、Shopifyストアの他のページと同様に管理されています。 テーマ全体の言語を翻訳文に変更 している場合、注文状況ページは選択した言語に翻訳されます。 デフォルトのテキストがあなたのブランディングになじまない場合、メッセージを行単位で翻訳することも可能です。たとえば、注文状況ページの1行目が「Thank you, John」となっていれば、これを「Thanks, John!」に変更することも可能です。 「テーマの文言を変更する 」に従い、翻訳と文言をカスタマイズしてください。注文状況フィールドは、[チェックアウトメッセージ] の見出しから、[チェックアウトショップポリシー] の見出しに進み、[チェックアウトとシステム] タブの下に表示されます。 メモ 確定済、商品準備中、商品配達中、配達完了の各ステータスに応じて、注文状況ページに異なるフィールドが表示されます。 注意 これは高度なチュートリアルであり、 Shopifyではサポートされていません。HTML、CSS、JavaScript、Liquidなどのウェブデザイン言語の知識が必要です。以下のチュートリアルを実行する自信がない場合、 Shopify Expertを雇う ことをおすすめします。 注文状況ページのテンプレートにコードを挿入するには、 追加スクリプト ボックスを使用します。以下のコードを追加することができます。 HTML - 有効なHTML5コード (スクリプト、スタイル、iframe、オブジェクトなどの要素) を使用できます。 Liquidコード - Liquidオブジェクト ( checkoutと shop) を使用できます。属性に関する詳細情報については、「チェックアウトオブジェクト」 と「ショップオブジェクト」 を参照してください。 トラッキングスクリプト - トラッキングスクリプトを追加して、紹介、投資収益、コンバージョンを追跡することができます。 追加スクリプト フィールドを使用したカスタマイズ例をいくつか紹介します。 で追加スクリプトにアクセスするには、管理画面から の順に移動します。[注文状況ページ] で、[追加スクリプト] セクションを探します。 で追加スクリプトにアクセスするには、 Shopifyアプリ で [ストア] > [チェックアウト] の順に移動します。[ストアの設定] で、[チェックアウト] をタップします。[注文状況ページ] で [追加スクリプト] セクションを探します。 プラス:checkout Liquidファイルの高度なカスタマイズは、 Shopify Plus マーチャントのみ利用できます。このファイルへのアクセス権を取得するには、Shopify Plusサポートにお問い合わせください。 Shopify Plusプランを使用すると、checkout.liquid レイアウトファイルを利用した、チェックアウト体験の高度なカスタマイズが可能となります。
注文状況ページをカスタマイズする
注文状況ページにコンバージョントラッキングを追加する
このページはNov 09, 2022に印刷されています。最新のバージョンについては、https://help.shopify.com/ja/manual/orders/status-tracking/customize-order-status/add-conversion-trackingをご覧ください。 注意 これは高度なチュートリアルであり、 Shopifyではサポートされていません。HTML、CSS、JavaScript、Liquidなどのウェブデザイン言語の知識が必要です。以下のチュートリアルを実行する自信がない場合、 Shopify Expertを雇う ことをおすすめします。 コンバージョントラッキングを使用し、お客様がチェックアウトにアクセスして購入する頻度を追跡できます。コンバージョントラッキングは、平均注文金額や商品ごとの総売上など、ストアにおける購入傾向を詳しく把握するうえで役立ちます。このデータにアクセスするためのプラットフォームがいくつかあります。 チェックアウト用にGoogleアナリティクスのコンバージョントラッキングを使用できます。ストアでこれを実装する方法については、「Googleアナリティクスの目標とファネル設定 」を参照してください。 追加スクリプト ボックスを使用して注文状況ページにトラッキングピクセルを追加することができます。 トラッキングピクセルなどのコンバージョントラッキングコードをストアに追加して、ストアから購入したお客様を追跡できます。トラッキングコードは、通常、注文状況ページで使用されます。 トラッキングスクリプトは外部サービスによって提供され、管理画面でコードスニペットとして使用されます。 手順: ヒント お客様は注文状況ページに複数回戻ってくる可能性があります。これによりコンバージョン分析が歪みます。このため、 初回セッションのみスクリプトを実行 することをおすすめします。 トラッキングコードを作成した後、Macではcmd + c、またPCではCtrl + cを使用してクリップボードにコピーします。 お客様が特定の参照パラメーター (通常は ref、 source、 r) を利用する場合に限り、一部のプロバイダーにトラッキングピクセルの提示を求められることがあります。 Shopifyはこれらの値を注文とともに保存し、 landing_site_ref を使用して値で使用できるようにします。 たとえば、あなたのアフィリエイトプロバイダーはそのピクセルをチェックアウトに含めることを望んでいますが、それらの参照元を介してアクセスした顧客に対してのみとなります。追跡システムに登録するURLは次のようになります。 ?ref=tracking-site は固有のものでなければなりません。 チェックアウトの最後のページで、あなたのアフィリエイトを介してアクセスした人が実行した注文であることを確認するために使用されます。 条件付き統合を設定するには、[チェックアウトの設定] ページに移動してアフィリエイトスクリプトを追加します。 if landing_site_ref == 'tracking-site'のステートメントに伴い、正しい landing_site_ref を使用しているお客様にのみピクセルが表示されます。 基本コンバージョントラッキング 外部サービスから、次のようなトラッキングピクセルを統合するよう求められるとします。 そのコードに基づいて、以下のLiquidタグが必要です。 - 注文の合計価格: `{{ total_price | money_without_currency }}` - 固有の注文ID。`order_number`は、#2322などの注文名をハッシュ文字なしで印刷します。 `{{ order_number }}` - 注文の通貨。次の内容をハードコーディングまたは使用できます `{{ currency }}` ...
注文状況ページにコンバージョントラッキングを追加する
 
もしくは、ShopifyのAPIを叩いてスクリプトを埋め込むことが可能のようです。
あらかじめスクリプトを記載したJavaScriptファイルを準備しておいて、それをPOSTして登録します。
チェックアウトページにのみで発火させたい場合は、 display_scopeorder_status とすれば発火しました。