会員ログの活用法 第19回
申し込みページを開いた会員のうち、4割は申し込まずに離れている。
講演会や資料請求の報告では、申し込み件数が並びます。件数が少ないと、案内が届いていない、関心が薄い、と考えがちです。
ただ、申し込みページまで来ている会員は、関心がある人です。そこで申し込まずに離れた人がどれだけいるかは、申し込み件数からは見えません。入力項目が多い、日程が合わない、あとで申し込むつもりで忘れた、など理由はさまざまです。
会員IDでアクセスログとフォームの送信記録をつなぐと、申し込みページを開いた会員と、実際に申し込んだ会員を、ページごとに並べられます。
申込ページ,開いた会員(人),申し込まなかった会員(人) 講演会(循環器),184,85 講演会(糖尿病),199,88 札幌 講演会,84,34 講演会(皮膚科),227,88 資料請求,377,155 サンプル請求,343,150
このグラフの数え方
架空のサンプルデータで集計した例です。
ここに挙げた使い方は一例です。サンプルの数字は架空のもので、実際の結果や施策の効果を約束するものではありません。
ここから先は、システム担当者に渡してください。集計SQLで出た結果を、AIプロンプトと一緒にAIへ貼ると、上のようなグラフと読み取りが返ってきます。
with viewed as (
select distinct a.member_id, a.content_id
from access_log a
join content c on c.content_id = a.content_id
where c.content_type = '申込'
and a.member_id is not null
and a.accessed_at >= '2026-04-01' and a.accessed_at < '2026-10-01' -- 期間。実際には集計する期間に差し替える
)
select c.title as entry_page,
count(*) as visited,
sum(case when f.member_id is null then 1 else 0 end) as not_submitted
from viewed v
join content c on c.content_id = v.content_id
left join (
select distinct member_id, content_id
from form_submission
where submitted_at >= '2026-04-01' and submitted_at < '2026-10-01'
) f on f.member_id = v.member_id and f.content_id = v.content_id
group by c.content_id, c.title
order by c.content_id;次の表は、会員サイトの申し込みページごとの集計です。
entry_page=申し込みページ、visited=そのページを開いた会員数、not_submitted=開いたのに申し込んでいない(フォームを送信していない)会員数です。
個人を特定できる列は含めていません。
1. ページごとに visited と not_submitted を並べた棒グラフを、画像で描いてください。各ページに「申し込まなかった割合」を添えてください。
2. 次の点を読み取って、3行程度で教えてください。
・申し込まなかった人はおおよそ何割か
・割合が目立って高いページはあるか
・申し込み件数の少なさを、案内の届き方の問題と決めつけてよいか
(ここに集計結果を貼る)-- 社内用:会員IDの一覧が出ます。社外のサービスやAIには貼らないでください
select a.member_id, c.title as entry_page, max(a.accessed_at) as last_viewed_at
from access_log a
join content c on c.content_id = a.content_id
where c.content_type = '申込'
and a.member_id is not null
and a.accessed_at >= '2026-04-01' and a.accessed_at < '2026-10-01' -- 期間。実際には集計する期間に差し替える
and not exists (
select 1
from form_submission f
where f.member_id = a.member_id
and f.content_id = a.content_id
and f.submitted_at >= '2026-04-01' and f.submitted_at < '2026-10-01'
)
group by a.member_id, c.title
order by c.title, last_viewed_at desc;SQLとプロンプトは、準備編の汎用テーブルを前提にした例です。実際のテーブル名・列名に合わせて書き換えてください。動作や結果を保証するものではありません。
使う表: content(コンテンツ)/access_log(アクセスログ)/form_submission(フォーム送信) (表の形は準備編)
アクセスログとフォームの送信記録が、会員IDでつながっていないと、この問いには答えられません。
アクセス解析で分かるのは「申し込みページを見た人数」と「完了ページを見た人数」までで、その差が誰なのかは出せないからです。
writeWiredでは、会員IDの付いたアクセスログとメール・フォームの記録が最初から同じ場所に揃っています。会員サイトCMSとしてのwriteWired