04 · 計測
タグが読み取るすべての属性
タグに必須なのは data-site だけです。ほかの属性で、イベントの送信先、訪問者の数え方、ローカルや自動化された訪問を数えるかどうかを変えられます。
01タグの属性
<script defer data-site="k3xq2mfa7twp" src="https://t.tallybyoutpost.com/script.js"></script>data-site必須- サイトの ID。Setup ページにあります。DataFast の
data-website-idも同じように読み取ります。 data-modecookiecookielessconsent- 訪問者の数え方(プライバシーモード)。指定しない場合は Cookie モードです。それ以外の値は Cookie なしとして扱うため、タイプミスで、サイトが求めていない Cookie が設定されることはありません。
data-apiパスまたはアドレス- イベントの送信先。デフォルトは、スクリプトと同じアドレスの
/api/eventです。パスを指定するとページを基準に解決されるので、自分のドメインのプロキシに使えます(自分のドメインから配信する)。 data-hashフラグlocation.hashだけの変更も新しいページとして扱います。#の後でルーティングするアプリ向けです。data-allow-localhostフラグlocalhost、127.0.0.1、*.localhost、*.local、file://のページからもイベントを送ります(localhost でのテスト)。DataFast のdata-allow-localhost="true"も使えます。data-allow-automationフラグテスト専用- 自動化ツール(WebDriver、Playwright、Puppeteer)で操作されるブラウザからもイベントを送ります。本番サイトでは付けないでください。
deferそのまま残す- ページの表示を遅らせずにスクリプトを読み込みます。
フラグは、値が false でない限り、属性があればオンになります。
02ページから呼び出せる関数
// Calls made before the script loads wait in a queue:
window.tally = window.tally || function () { (tally.q = tally.q || []).push(arguments); };
tally('signup', { plan: 'pro' }); // a goal, with properties
tally('identify', { email: user.email }); // match payments by email
tally('consent', true); // consent mode: the banner said yes
tally('consent', false); // ...or no
どの呼び出しも、失敗しても静かに終わり、ページにエラーを投げることはありません。window.datafast(…) は同じ関数です。名前のルールはゴールと identifyにあります。
03例
<script defer data-site="k3xq2mfa7twp" data-mode="consent" src="https://t.tallybyoutpost.com/script.js"></script><script defer data-site="k3xq2mfa7twp" data-hash src="https://t.tallybyoutpost.com/script.js"></script><script defer data-site="k3xq2mfa7twp" src="/js/script.js"></script><script defer data-site="k3xq2mfa7twp" data-allow-localhost src="https://t.tallybyoutpost.com/script.js"></script>04送信する内容
| イベント | タイミング |
|---|---|
pageview | ページの読み込み時と、シングルページアプリのルートごと。 |
engage | エンゲージメント時間とスクロール深度。ページが非表示になったときや離れたとき、ルートの変更時、そして読まれている間は 30 秒ごと。 |
goal | ゴール。呼び出しまたはクリックから。 |
outbound | ほかのホストへのリンクのクリック。 |
identify | 決済の照合に使うメールアドレス。 |
どれも Cookie なしで送る小さな JSON リクエスト 1 つで、8 KB を超えるものは送信しません。プリレンダリングでバックグラウンドで開かれたページは、実際に開かれた時点で数えます。
05何も送信しないとき
data-siteがない、または送信先のアドレスがない場合(スクリプトのコピーをdata-apiなしでインラインに貼り付けた場合)。data-allow-localhostなしで localhost 上のページを開いている場合、またはdata-allow-automationなしでブラウザを自動操作している場合。- ブラウザが
localStorage.datafast_ignore = trueで除外されている場合。
その場合も、ページからの呼び出しはエラーにならず、何もしません。
06読み取らないもの
足りない情報や、実際の画面と違う点はありませんか? どのページかを添えて support@tallybyoutpost.com までお知らせください。