• システム・ツール
  • フリーランス
  • ランディングページ
  • 企業担当者

Microsoft Clarityの滞在時間をAPIで出す|数字がずれる3つの癖

滞在時間の集計表と電卓が並ぶノートパソコンのデスク風景

Microsoft ClarityのAPI(数字を外部から取り出す窓口)で、LP(広告の飛び先ページ)ごとの滞在時間を出しました。同じLPの同じ期間なのに、私が出した数字は3通りです。137秒、142秒、130秒でした。

正しいのは130秒でした。残りの2つは、行の数え方と、セッション数(訪問者の一回の訪問を1と数えた単位)の重みの付け方を間違えた結果です。データの取り方そのものはMicrosoft ClarityのAPIは直近3日に書いたので、この記事では取ったあとの計算だけを扱います。

ClarityのAPIで滞在時間を出すときは、セッション数で重みを付ける

正しい出し方は1つです。セッション数の行と滞在時間の行を、URLで結び付けます。そのうえで「活動していた秒数の合計 ÷ セッションの合計」を計算します。

同じLPの同じ期間を3通りで計算すると、こう分かれました。

・行ごとの滞在時間を単純に平均する:137秒

・単純平均したあと、さらにセッション数で重みを付ける:142秒

・活動していた秒数の合計を、セッションの合計で割る:130秒

いちばん大きく出たのは2つ目です。すでにセッション数で重みの付いた値に、もう一度重みを掛けた結果にあたります。

癖1:URL別のデータは1日1,000行で打ち切られる

ClarityのAPIは、URL別のデータを1日あたり1,000行までしか返しません。超えた分は返ってこないので、手元のデータだけを見ても欠けに気づけません。

実際に、ある日のデータがこうなりました。セッション数の行がちょうど1,000行で止まり、滞在時間の行だけが残る「相手のいない行」が60件出ています。そのLPのセッションは、その日だけ43件でした。前後の日は94件から106件なので、明らかに少ない数字です。

行数がちょうど1,000の日は、切り捨てを疑う決まりにしました。

癖2:URLはパラメータ付きで1行ずつ返る

ClarityのAPIが返すURLには、「?」以降のパラメータ(計測用などに付く文字列)がそのまま入っています。パラメータの組み合わせが違えば、返ってくる行も別です。

正規化(表記のゆれをそろえる処理)をしないと、同じLPが何百行にも散ります。散ったまま平均を取れば、1行あたりの重みが実際の訪問数と合いません。

癖3:滞在時間の行にはセッション数が付いていない

142秒と出たときに、私が見落としていたのがここです。滞在時間の行には、その滞在時間が何セッション分なのかという情報が入っていません。

そのため、セッション数の行と滞在時間の行を、URLで結び付ける必要があります。結び付けるときのURLは、パラメータを付けたままです。

結び付けられない行は、分子から外します。分母のセッション数は増えないため、分子だけ足すと数字が上に振れるからです。

集計に入る前に、2つの数字を機械で確認しています。元データの行数と、結び付けられた行の割合です。この2つを見ておくと、1,000行の打ち切りと結び付けの漏れが、集計の前に分かります。

スクロールの深さは、ページ単位で信用するか決める

滞在時間とは別に、スクロールの深さでも数字が合わない場面がありました。あるLPのスクロール深度(ページのどこまで読まれたかの割合)が、29日間ずっと3.4%から6.3%の範囲に収まっていたのです。滞在時間は130秒あるのに、ページの上から数%しか読まれていない計算です。

同じサイトの別のページでは、スクロールの深さと滞在時間が整合していました。そこでClarityのデータ全体を捨てるのではなく、ページ単位で使うかどうかを決めました。

壊れているページだけを外せば、残りは使えます。LPの数字を広告やGA4(Googleのアクセス解析ツール)とどう並べて見るかは、LP改善の分析手順に書きました。

まとめ

・ClarityのAPIで滞在時間を出すときは、活動していた秒数の合計をセッションの合計で割る

・同じLPで、行の単純平均は137秒、重みを二重に掛けると142秒、正しい出し方では130秒

・URL別のデータは1日1,000行で打ち切られる。ちょうど1,000行の日は切り捨てを疑う

・URLはパラメータ付きで返るので、正規化しないと同じLPが何百行にも散る

・滞在時間の行にセッション数は付いていない。URLで結び付け、結び付かない行は分子から外す

・スクロールの深さが壊れているページがある。全体を捨てず、ページ単位で判断する

最初に手を付けるのは、取得したデータの行数を数える作業です。1,000という数字が出たら、その日の集計はやり直します。

この記事を監修した人

執筆:Claude Code スキル「ライティング君」

監修:岸本 成(合同会社1nd)

広告運用を起点に、SNS、ホームページ、店舗や施設での集客まで、全体の設計と実践を手がけています。

・2020年:広告運用者として活動を開始。SNSやGoogleマップの運用にも知見があり、広告以外の集客の相談にも数多く応えてきました

・2025年:AI導入支援事業を開始

・2026年6月:FDM(Forward Deployed Marketer。顧客の現場に入り、AIとマーケティングで集客の仕組みを作る専門家)として、集客支援の請負を開始。現在11のクライアント様で実施中

目的に合わせて、次のページもご覧ください。

・プロフィール

・集客支援をお探しの方へ

・AIを仕事にしたい方へ

【無料】そのまま使えるClaude Codeスキル集をプレゼント中

この記事で紹介したような、広告運用の実務で毎日使っているClaude Codeスキルを、公式LINEで無料プレゼントしています。

このサイトを運営する1ndでは、Claude Codeで広告運用の作業をほぼ自動化しています。その現場で実際に使っているWeb広告スキルを、そのまま使える形で配布しているものです。

プレゼントで得られるスキルの一例:

・Meta広告の審査チェック+言い回し変換(訴求をできるだけ残した版と、アカウント保護を優先した安全寄りの版の2案出し)

・Google広告の審査チェック(アカウントBANリスクの検出に特化)

・検索語句レポートから除外キーワード候補を自動抽出

・RSA(レスポンシブ検索広告)の広告文作成

・Google広告の品質スコア改善監査

・広告CSVの自動集計とレポート下地を作るスキルの作り方ガイド

・成果データから「次に試すべき訴求軸」を洗い出すコピー案出し

・画像生成AIでバナーを作るためのプロンプト設計

・動画広告の台本作成(複数の「型」テンプレート内蔵)

・LP改善の分析(広告データ×アクセス解析の突合)

受け取り方は簡単です。

・公式LINEを友だち追加する

・トーク画面で「スキル」とメッセージを送る

これだけで、現在使用しているWeb広告スキル一式をお受け取りいただけます。

BLOG LIST