EC-CUBE 4に計測タグを設置する方法|ブロックを作ってレイアウト管理でheadに置く

EC-CUBE 4にアクセス解析やヒートマップ、ポップアップのツールを入れるとき、基本になるのは「ブロックを作り、レイアウト管理で <head>の枠に置く」方法です。テンプレートのファイルを直接書き換える必要はありません。ただし、EC-CUBEのタグは 「ページ」ではなく「レイアウト」に置くため、レイアウトが割り当てられていないページには入らない、という仕組みを知っておく必要があります。 この記事では、2026年10月12日にEC-CUBEの開発者向けドキュメント(doc4.ec-cube.net)と、EC-CUBE公式のGitHubリポジトリにある テンプレートとプログラムを読んで確かめた範囲で、手順と注意点を説明します。

更新

始める前に確認すること

  1. EC-CUBEのバージョン。この記事はEC-CUBE 4系(4.0〜4.3)が対象です。公式リポジトリの4.0・4.1・4.2・4.3の各ブランチで、標準テンプレートにheadの枠があること、画面の名前が同じことを確かめました。2系・3系は仕組みが違います。
  2. 管理画面にログインできるか。管理画面のURLはショップごとに変えられるので、分からなければショップを構築した方に確かめてください。
  3. 使っているデザインテンプレート。標準以外のテンプレートを入れている場合、headの枠が残っているかを後で確かめます(後述)。
  4. 同じツールのタグがすでに入っていないか。以前に入れたタグが残っていると、ページビューが二重に数えられることがあります。

marketingLABOの場合は、管理画面の「サイト設定」にある「はじめの3ステップ」で、計測したいサイトの名前とURLを登録すると貼るタグが表示されます。「タグをコピーする」ボタンでコピーし、画面の案内どおりすべてのページの</head>の直前に貼ります。EC-CUBE 4では、レイアウト管理の「<head></head>タグ内」の枠がその場所にあたります。

この記事では、タグを<script src="https://...(お使いのタグ)..."></script>という仮の形で書いています。実際には、ご自身のツールの管理画面に表示されたタグをそのまま貼ってください。

EC-CUBE 4でタグを入れる仕組み

EC-CUBE 4の画面は、「ページ」「レイアウト」「ブロック」の3つの組み合わせでできています。公式ドキュメントによると、レイアウトはページ単位で共通の配置をまとめたもので、標準では「トップページ用レイアウト」と「下層ページ用レイアウト」が用意されています。ブロックは、レイアウトの枠に置く部品です。

標準テンプレートの土台になるdefault_frame.twigを読むと、<head>の中に「Layout: HEAD」という部分があり、そのページのレイアウトで「<head></head>タグ内」の枠に置かれたブロックを書き出します。つまり、タグを書いたブロックをこの枠に置けば、そのレイアウトを使うすべてのページの<head>にタグが入ります。

方法入る範囲おすすめ度
ブロックを作り、レイアウト管理でheadの枠に置くそのレイアウトを使うページすべておすすめ。この記事の方法
ページ管理の各ページの「metatag」欄そのページだけ本来はOGPなどのmeta用。全ページの計測には向かない
default_frame.twigなどを直接書き換えるテンプレートを使う全ページ避ける(バージョンアップで上書きされるおそれ)

正確には、headの枠のブロックは</head>のすぐ手前ではなく、EC-CUBE自身のCSSやJavaScriptの読み込みのあと、customize.cssの読み込みの前に書き出されます。どちらも<head>の中なので、「headの中に入れる」という計測ツールの条件は満たします。

手順1:タグを書いたブロックを作る

  1. 管理画面で[コンテンツ管理] > [ブロック管理]を開きます。
  2. 「新規作成」ボタンを押します(公式ドキュメントでは「新規入力」と書かれています)。
  3. 「ブロック名」に、何のブロックか分かる名前を入れます。例:「計測タグ」。
  4. 「ファイル名」に、ほかと重ならない半角の名前を入れます。例:「tracking_tag」。同じファイル名があると、登録時にエラーになります。
  5. 「コード」欄(公式ドキュメントでは「ブロックデータ」)に、コメントとタグを貼ります。
  6. 「登録」ボタンを押します。
<!-- 計測タグ(2026-10-12追加) -->
<script src="https://...(お使いのタグ)..."></script>

コメントは、あとで別の人が見たときに「何のタグを、いつ入れたか」が分かるようにするためです。公式リポジトリの管理画面のコードを読むと、ブロックを登録すると画面のキャッシュ(Twigのキャッシュ)を消す処理が入っているので、通常は自分でキャッシュを消す必要はありません。

ブロックの「コード」欄はTwig(EC-CUBEのテンプレートの書き方)として読まれます。タグの中に{{や{%という文字が含まれていると、テンプレートの命令と間違えられてエラーになることがあります。そうした文字を含むタグを貼るときは、{% verbatim %}と{% endverbatim %}で囲むと、中身がそのまま出力されます。

手順2:レイアウト管理でheadの枠に置く

  1. [コンテンツ管理] > [レイアウト管理]を開き、「トップページ用レイアウト」の名前を押します。
  2. 画面にある「未使用ブロック」の中から、手順1で作ったブロックを探します。
  3. そのブロックを「<head></head>タグ内」の枠へドラッグ&ドロップします。ドラッグがうまくいかないときは、ブロックのメニューにある「セクションに移動」で移動先を選べます。
  4. 「登録」ボタンを押して保存します。
  5. 一覧に戻り、「下層ページ用レイアウト」でも同じ操作をします。

公式の初期データ(dtb_page_layout.csv)を見ると、標準ではTOPページだけがトップページ用レイアウトを使い、商品一覧・商品詳細・カート・購入手続き・注文完了・会員登録・マイページ・お問い合わせなど、ほかのページはすべて下層ページ用レイアウトを使っています。そのため、標準のままのショップでは、この2つのレイアウトに置けば全ページに入ります。

「<body>タグ直後」や「</body>タグ直前」の枠もありますが、headに入れるよう案内されているタグはheadの枠に置いてください。置く枠を間違えると、ツールによっては動かないことがあります。

手順3:レイアウトが付いていないページを探す

ここがEC-CUBEで一番見落としやすい点です。[コンテンツ管理] > [ページ管理]で各ページを開くと、「レイアウト設定」に「PC」と「モバイル」の2つの選択欄があります。どちらも必須ではなく、空欄のまま保存できます。

公式リポジトリの表示処理(TwigInitializeListener.php)を読むと、ページにレイアウトが1つも付いていない場合は、空のレイアウトが使われます。この場合、headの枠のブロックは何も出力されないので、計測タグも入りません。

  1. [ページ管理]で、あとから追加したページ(特集ページやキャンペーンページなど)を開きます。
  2. 「レイアウト設定」の「PC」が空欄なら、「下層ページ用レイアウト」など、headの枠にタグのブロックを置いたレイアウトを選びます。
  3. 「登録」を押して保存します。
  4. 新しくレイアウトを作った場合は、そのレイアウトにもタグのブロックを置きます。

手順4:スマホ用(モバイル)レイアウトを使っている場合

EC-CUBE 4では、レイアウトごとに「端末種別」(PCかモバイル)が決まっています。表示処理を読むと、スマートフォンからのアクセスでは、まずそのページに付いているモバイルのレイアウトが使われ、モバイルのレイアウトが付いていなければPCのレイアウトが使われます。

ページのレイアウト設定スマホで使われるレイアウトタグを置く場所
PCだけ設定(標準の状態)PCのレイアウトPCのレイアウトに置けばスマホにも入る
PCとモバイルの両方を設定モバイルのレイアウトモバイルのレイアウトにも同じブロックを置く
どちらも空欄空のレイアウトどこにも入らない。手順3でレイアウトを付ける

手順5:反映を確かめる

  1. ショップを別のタブで開き、ページのソースを表示します。タグの一部(読み込み先のドメインなど)で検索し、<head>の中にあれば反映されています。
  2. 種類の違うページで確かめます。トップ、商品一覧、商品詳細、カート、あとから追加したページです。トップと下層で使うレイアウトが違うので、両方を見ることが大切です。
  3. スマートフォンでも確かめます。モバイルのレイアウトを使っている場合は特に確かめてください。
  4. タグが1回だけ入っているか見ます。同じブロックを1つのレイアウトのheadの枠に2回置いたり、別の方法でも貼ったりすると、ページビューが二重になります。
  5. ツール側で確かめます。marketingLABOでは、ショップのページを1ページ開いてから、管理画面の「計測を確かめる」ボタンを押します。届いていなければ、タグがすべてのページの</head>の直前に入っているか、保存(公開)し忘れていないかを確かめ、サイトを開き直してからもう一度押すよう案内が出ます。

テンプレートを直接編集する方法を勧めない理由

default_frame.twigに直接タグを書いても動きます。しかし公式ドキュメント「デザインテンプレートの基礎」には、標準のテンプレートを直接触るとバージョンアップで上書きされたりする恐れがあるため推奨しない、と書かれています。上書きされると、ある日突然タグが消え、計測が止まったことにしばらく気づかない、ということが起こりえます。

ブロックとレイアウトは管理画面で管理されるので、誰がどこにタグを入れたかが管理画面から見え、外すときもブロックを未使用に戻すだけで済みます。なお、FTPなどでTwigファイルを差し替えた場合は、管理画面の[コンテンツ管理] > [キャッシュ管理]でキャッシュを削除しないと画面に反映されない、と管理画面に案内があります。

購入したデザインテンプレートを使っている場合は、そのテンプレートのdefault_frame.twigに「Layout.Head」を書き出す部分が残っているかが大切です。残っていなければ、headの枠にブロックを置いても出力されません。手順5のソース確認でタグが見つからないときは、テンプレートの提供元に確かめてください。

marketingLABOをEC-CUBEで使うときにできること・できないこと

EC-CUBE 4はページを移動するたびにページ全体を読み直す作りなので、marketingLABOのタグがそのまま動きます。標準の状態では、カートや購入手続き、注文完了のページも下層ページ用レイアウトを使うため、これらのページにもタグが入ります。

できることできないこと
全ページのアクセス解析、ヒートマップ、訪問者ごとの行動履歴カートの中身、金額、商品、注文の読み取り(EC-CUBEとの連携はありません)
「カート(/cart)は見たが、注文完了(/shopping/complete)は見ていない」人に、次の訪問でポップアップバナーを出すカートの金額や商品を条件にしたバナー、カゴ落ちメール
マイクロCVで、注文完了ページなど特定のURLの表示を数える決済代行会社の画面に移る決済方法での、その画面の計測

URLはEC-CUBE 4の標準のものです。カスタマイズしている場合は、実際のURLで設定してください。売上や注文数はEC-CUBEの管理画面で見て、marketingLABOではどこから来て、どのページを読み、どこで離れたかを見る、という分担が現実的です。カートまで来た人への声かけは<a href="/ja/blog/cart-abandonment/">カゴ落ちの原因と対策</a>、帰りそうな人に出す方法は<a href="/ja/blog/exit-intent-popup/">離脱防止ポップアップの仕組みと出し方</a>で説明しています。

よくある失敗と直し方

失敗起きること直し方
ブロックを作っただけでレイアウトに置いていないどのページにも入らないレイアウト管理でheadの枠に置いて登録する
トップページ用レイアウトにだけ置いたトップ以外が計測されない下層ページ用レイアウトにも置く
あとから作ったページにレイアウトが付いていないそのページだけ計測されないページ管理でPCのレイアウトを選ぶ
モバイルのレイアウトに置き忘れたスマホからの訪問が計測されないモバイルのレイアウトにも置く
テンプレートを直接編集したバージョンアップ後にタグが消えることがあるブロックに移し、テンプレートからは消す

作業のチェックリスト

  1. タグはツールの管理画面からコピーした。
  2. ブロック管理でブロックを作り、コメントとタグを貼って登録した。
  3. トップページ用・下層ページ用レイアウトの「<head></head>タグ内」に置き、登録した。
  4. ページ管理で、レイアウトが空欄のページがないか確かめた。
  5. モバイルのレイアウトを使っている場合は、そちらにも置いた。
  6. PCとスマートフォンで、トップと下層のページのソースにタグが1回だけ入っているのを確かめた。
  7. ツール側の確認(marketingLABOなら「計測を確かめる」)で計測が届いた。

よくある質問

プラグインで入れる方法はありますか? タグを入れるためのプラグインが提供されている場合もありますが、この記事では標準の機能だけで入れる方法を扱いました。marketingLABOにはEC-CUBE用のプラグインはなく、ブロックで入れる方法で使えます。

特定のページだけにタグを入れたいときは? そのページだけに別のレイアウトを付け、そのレイアウトにだけブロックを置く方法があります。ただ計測タグは全ページに入れるのが基本なので、ポップアップを出すページを絞りたいなら、ツール側の表示条件(ページのURLなど)で絞るほうが管理が楽です。

ほかのカートシステムではどこに貼りますか? Shopify、BASE、カラーミーショップ、MakeShopなどの貼り場所はカートシステム別、計測タグを貼る場所の一覧にまとめました。個別の手順はBASE、カラーミーショップの記事もご覧ください。

marketingLABOのフリープランは0円で、サイト1つのアクセス解析・ヒートマップ・行動履歴と、フォーム・ポップアップバナー各1つが使えます。期限はなく、カードの登録も要りません。プランの違いは料金で確認でき、無料登録をするとすぐに貼るタグが表示されます。

参考にした資料

2026年10月12日に確認しました。

  1. EC-CUBE 4 開発者向けドキュメント「ブロックの利用」
  2. EC-CUBE 4 開発者向けドキュメント「レイアウトの利用」
  3. EC-CUBE 4 開発者向けドキュメント「デザインテンプレートの基礎」
  4. EC-CUBE公式リポジトリ default_frame.twig(headの枠の出力位置)
  5. EC-CUBE公式リポジトリ TwigInitializeListener.php(ページごとのレイアウトの選び方)
  6. EC-CUBE公式リポジトリ dtb_page_layout.csv(標準のページとレイアウトの割り当て)
  7. EC-CUBE公式リポジトリ BlockController.php(ブロック登録時のキャッシュ削除)
  8. EC-CUBE公式リポジトリ messages.ja.yaml(管理画面の表示名)

フリープランは期限なしで無料。クレジットカードの登録は不要です

無料で始める

ほかの記事