メインコンテンツへスキップ
無料3分初級

Framer インテグレーション

Site Settings → Custom Code → Start of head から Framer サイトに Zenovay アナリティクスを追加します。公開済みサイトで動作します(プレビューは不可)。

framercmsno-codeintegrationtracking-script
最終更新日:

Site Settings → Custom Code から任意の Framer サイトに Zenovay を追加します。スニペットは公開済みサイトでのみ動作します。これは期待される動作です。

Custom Code は公開済みの Framer サイトでのみ有効です。プレビューは常に Custom Code を無視します。エディタープレビューではなく、必ずライブ URL でテストしてください。

クイックスタート

  1. Zenovay ダッシュボードからトラッキングスニペットをコピーします。
  2. Framer で Site Settings → General → Custom Code を開きます。
  3. Start of <head> tag に貼り付けます。
  4. 右上の Publish をクリックします。

インストール

サイト全体の Custom Code(推奨)

  1. Framer でプロジェクトを開きます。
  2. Site Settings(左パネル上部のギアアイコン)をクリックします。
  3. General タブを開きます。
  4. Custom Code までスクロールします。
  5. Start of <head> tag に次のスニペットを貼り付けます。
<script defer data-tracking-code="YOUR_TRACKING_CODE" src="https://api.zenovay.com/z.js"></script>
  1. フィールドの外をクリックすると自動保存されます。
  2. 右上の Publish をクリックします。

ページごとの Custom Code

特定のページのみトラッキングする場合:

  1. Pages パネルでページを選択します。
  2. ページの右側設定を開きます。
  3. Custom Code → Start of <head> tag までスクロールします。
  4. スニペットを貼り付けます。
  5. 公開します。

サイト全体とページごとのスニペットを組み合わせないでください。二重カウントになります。

インストールを確認する

  1. プライベートブラウザウィンドウで公開済みの Framer URL(*.framer.app またはカスタムドメイン)を開きます。
  2. ソースを確認して <head> 内の <script defer data-tracking-code=...> を探します。
  3. Zenovay リアルタイムビュー を確認します。約 30 秒以内にアクセスが表示されます。

SPA ナビゲーションは自動的に処理されます

Framer はページを React SPA としてレンダリングします。Zenovay トラッカー(v2+)は history.pushStatehistory.replaceStatepopstate をリッスンし、すべてのルート変更時に自動的にページビューを発火します。window.zenovay('page') を手動で呼び出す必要はありません。

Code Overrides を使ったカスタムイベントのトラッキング

任意の Framer コンポーネントをラップする Code Override を作成します。

import type { ComponentType } from 'react';

export function withCtaTracking(Component): ComponentType {
  return (props) => (
    <Component
      {...props}
      onClick={(e) => {
        props.onClick?.(e);
        // @ts-ignore — global injected by tracker
        window.zenovay?.('track', 'cta_clicked', {
          location: props.id || 'unknown',
          page: window.location.pathname,
        });
      }}
    />
  );
}

Frame → Code Overrides → withCtaTracking から適用します。

フォーム送信をトラッキングする

document にデリゲートリスナーをアタッチして、すべてのネイティブフォーム送信をキャプチャします。

import { useEffect } from 'react';

export function useTrackFormSubmits() {
  useEffect(() => {
    const handler = (e: Event) => {
      const form = e.target as HTMLFormElement;
      if (!form?.matches('form')) return;
      // @ts-ignore
      window.zenovay?.('track', 'form_submitted', {
        form_id: form.id || form.getAttribute('name') || 'unnamed',
      });
    };
    document.addEventListener('submit', handler, true);
    return () => document.removeEventListener('submit', handler, true);
  }, []);
  return null;
}

トラブルシューティング

プレビューでデータが表示されない。 Custom Code は公開済みサイトでのみ動作します。必ずライブ URL でテストしてください。

Free プランでデータがない。 Custom Code には有料の Framer プラン(Mini 以上)が必要です。

エディタートラフィックがアナリティクスを汚染している。 Framer の CMS プレビューは ?framer-publish=true で読み込まれます。ダッシュボードの保存済みセグメントでそのクエリ文字列をフィルタリングしてください。

ルート変更時にイベントは発火するがページビューがない。 古いトラッカーバージョンを使用しています。Zenovay ダッシュボードからスニペットを再コピーして、SPA ナビゲーションを自動処理する v2 トラッカーを取得してください。

プラン要件

プランCustom Code
Free
Mini
Basic / Pro / Business

プライバシー

クッキーレストラッキングには data-cookieless="true" を追加します。

<script defer
        data-tracking-code="YOUR_TRACKING_CODE"
        data-cookieless="true"
        src="https://api.zenovay.com/z.js"></script>

次のステップ

この記事は役に立ちましたか?