ウェブサイト内の全てのページに GA4(Google Analytics) のタグを埋め込んでいるけれども、プレビュー環境やステージングなど関係者だけが見るページでは動作させたくないこと、あると思います。
そんな時には preview 変数を使うと、特定のコードをプレビュー環境でのみ出力する/出力しない、といった制御が可能です。この変数は条件分岐タグ(MT:If、MT:Unless)と組み合わせて利用します。
<mt:if name="preview">〜</mt:if>
- このように記述すると、プレビュー環境でのみタグの内部のコードが実行されます。つまり、プレビュー時だけに特定の要素やメッセージを表示したい場合に使用します。
<mt:unless name="preview">〜</mt:unless>
- こちらは、プレビュー環境以外(=本番環境)でのみ内部のコードが実行されます。これは例えば、アクセス解析タグなど、プレビュー時には実行せず本番環境だけで動作させたいコードや表示に適しています。
実装例:プレビューページでは、GA4 のコードを読み込まない
<mt:unless name="preview">
を使って、GA4 のコードを読み込まないようにするためのコードサンプルを示します。
<mt:unless name="preview">
<mt:include module="google_analytics">
</mt:unless>
この <mt:unless name="preview">
タグ内のコードはプレビューページでは出力されません。つまり、上記のコードでは、モジュールテンプレート "google_analytics" 内に記載されているGA4タグは、プレビューページには埋め込まれません。

GA4 以外にもA/Bテストやアクセス解析ツール、チャットウィジェットなどプレビューページでは動作不要なタグはまとめて、この中に入れてしまうと便利です。
GTM 利用者へのヒント
複数のタグを埋め込む際に、GTM(Google Tag Manager) を利用しているケースも多いかと思います。プレビューとステージング環境で、GTM で埋め込んでいる全てのタグを発火しなくて良い場合には、GTM の埋め込みコードを <mt:unless name="preview">
に入れてしまうのが最も簡単です。
埋め込みタグごとにプレビュー系ページで発火させるかどうかを制御したい場合には、GTM のトラッカーを使ってタグごとの発火タイミングを調整ください。設定方法の詳細は、GTM の利用方法を参照ください。
まとめ
preview 変数を使うと、プレビューやステージング環境下でのコードの埋め込みを制御することが可能です。これにより、関係者のアクセスやテストのデータが混入するのを防ぎ、より正確な分析を行うことができます。
MTタグを活用することで、さまざまな制御が可能なので、ぜひ使いこなしてみてください。制作者向けの情報は「MovableType.net 制作者向けポータル」をご参照ください。
テーマ開発を基礎から学べるチュートリアル的なコンテンツ「トフでもできる!?MovableType.net テーマ開発」を、2025年5月15日にアップデートしました。こちらも合わせてご覧ください!
テーマ開発を基礎から学べるウェブサイト・PDF・冊子を全面改訂!「トフでもできる!?MovableType.net テーマ開発」 - MovableType.net 活用ブログ