任意の Ghost パブリケーションに 2 分で Zenovay を追加できます。Code Injection はセルフホスト Ghost CMS を含むすべての Ghost プランで利用可能です。アップグレードは不要です。
Code Injection はセルフホスト Ghost CMS を含むすべての Ghost プランで利用できます。カスタムテーマには default.hbs 内に {{ghost_head}} ヘルパーが必要です(ほとんどのテーマにはすでに含まれています)。
クイックスタート
- Zenovay ダッシュボードからトラッキングスニペットをコピーします。
- Ghost 管理画面で Settings → Code injection → Site Header を開きます。
- スニペットを貼り付けます。
- Save をクリックします。
インストール
Site Header injection(推奨)
- Ghost 管理画面にログインします(通常
https://your-site.com/ghost/)。 - Settings(ギアアイコン)をクリックします。
- Site → Code injection までスクロールします。
- Site Header ボックスに次のスニペットを貼り付けます。
<script defer data-tracking-code="YOUR_TRACKING_CODE" src="https://api.zenovay.com/z.js"></script>
- Save をクリックします。
投稿ごと / ページごとの注入
特定の投稿のみトラッキングする場合:
- エディターで投稿を開きます。
- 右上のギアアイコン(設定)をクリックします。
- Code injection を展開します。
- Post Header にスニペットを貼り付けます。
- 投稿を更新します。
サイト全体と投稿ごとの両方に貼り付けないでください。二重カウントになります。
インストールを確認する
- プライベートブラウザウィンドウで Ghost サイトを開きます。
- ソースを確認して
<head>内の<script defer data-tracking-code=...>を探します。 - Zenovay リアルタイムビュー を確認します。約 30 秒以内にアクセスが表示されます。
Ghost メンバーを識別する
Ghost は /members/api/member/ を通じて現在のメンバーを公開しています。すべてのページで識別します。
<script>
fetch('/members/api/member/', { credentials: 'include' })
.then(r => r.ok ? r.json() : null)
.then(member => {
if (member && window.zenovay) {
window.zenovay('identify', member.uuid, {
email: member.email,
name: member.name,
plan: member.subscriptions?.[0]?.plan?.nickname,
});
}
})
.catch(() => {});
</script>
ニュースレター登録をトラッキングする
Ghost サインアップフォームは標準の submit イベントを発行します。
<script>
document.addEventListener('DOMContentLoaded', () => {
document.addEventListener('submit', (e) => {
const form = e.target;
if (form?.matches('[data-members-form]')) {
window.zenovay?.('track', 'signup', {
form_type: form.dataset.membersForm || 'signup',
});
}
}, true);
});
</script>
有料サブスクリプションのクリックをトラッキングする
Ghost は data-portal 属性付きのポータルトリガーボタンをレンダリングします。
<script>
document.addEventListener('click', (e) => {
const target = e.target.closest('[data-portal]');
if (target && window.zenovay) {
window.zenovay('track', 'portal_opened', {
action: target.dataset.portal,
});
}
}, true);
</script>
有料メンバーシップの正確な収益アトリビューションには、Ghost の Stripe Webhook インテグレーションを使用して、サーバーサイドトラッキング経由で Stripe イベントを Zenovay に送信してください。
カスタム Ghost テーマを使用する
Code Injection は {{ghost_head}} Handlebars ヘルパーを通じてレンダリングされます。カスタムテーマを使用している場合は、default.hbs に以下が含まれていることを確認してください。
{{ghost_head}}
…<head> 内の </head> の前に記述します。ほとんどのサードパーティ Ghost テーマ(Casper・Source・Edition など)にはデフォルトで含まれています。
トラブルシューティング
データなし、カスタムテーマ。 default.hbs に {{ghost_head}} があるか確認してください。含まれていないと、Code Injection のレンダリング先がありません。
/amp/ URL でデータがない。 Ghost AMP インテグレーションを有効にしている場合、Code Injection は AMP バリアントに適用されません(AMP は任意のスクリプトを除去します)。AMP を無効化するか、AMP トラフィックがトラッキングされないことを受け入れてください。
ページビューが重複している。 Site Header と投稿ごとの Code Injection の両方にスニペットが貼り付けられています。どちらか一方のスコープを選んでください。
メンバーが識別されない。 古い Ghost バージョン(< 4.x)では /members/api/member/ が 404 を返します。Ghost インストールをアップグレードしてください。
プラン要件
| Ghost エディション | Code Injection | カスタムテーマ |
|---|---|---|
| Ghost(Pro) Starter | ✅ | ❌(Casper のみ) |
| Ghost(Pro) Creator | ✅ | ✅ |
| Ghost(Pro) Team / Business | ✅ | ✅ |
| Self-hosted Ghost CMS | ✅ | ✅ |
プライバシー
クッキーレストラッキングには data-cookieless="true" を追加します。
<script defer
data-tracking-code="YOUR_TRACKING_CODE"
data-cookieless="true"
src="https://api.zenovay.com/z.js"></script>
Ghost 自身のメンバーアナリティクスはいずれにせよファーストパーティ Cookie を使用しているため、Zenovay をクッキーレスモードで重ねるのは一般的なパターンです。
次のステップ
- カスタムテーマ作業やサーバーサイドの Stripe Webhook トラッキングを含む高度なセットアップについては、docs.zenovay.com の Ghost インテグレーションガイドをお読みください。
- コンバージョンゴールを設定します。
- サポートが必要ですか? [email protected] までお問い合わせください。