会員ログの活用法 第12回
開封率が高くても、メールを開封した会員の半分は、そのあと7日以内にサイトを利用していない。
メール配信の報告では、開封率とクリック率が並びます。開封率が上がると、メールは読まれていると受け取られがちです。
ただ、開封は件名と冒頭を見たというところまでです。開封した会員がそのあとサイトを利用して、記事や製品のページを見たかどうかは、開封率からは分かりません。クリック率も数えているのはメールの中のリンクを押した回数で、リンクを押さずにあとからサイトを利用した会員は入りません。
会員IDでメールの開封記録とアクセスログをつなぐと、開封した会員のうち、そのあと一定の期間にサイトを利用しなかった人を、配信ごとに数えられます。
配信日,開封した会員(人),7日以内に利用していない会員(人) 04-08,297,151 04-22,258,131 05-08,167,94 05-22,313,163 06-08,309,161 06-22,256,137 07-08,147,83 07-22,324,190 08-08,365,200 08-22,283,149 09-08,181,108 09-22,371,185
このグラフの数え方
架空のサンプルデータで集計した例です。
ここに挙げた使い方は一例です。サンプルの数字は架空のもので、実際の結果や施策の効果を約束するものではありません。
ここから先は、システム担当者に渡してください。集計SQLで出た結果を、AIプロンプトと一緒にAIへ貼ると、上のようなグラフと読み取りが返ってきます。
with opened as (
select member_id, campaign_id, min(event_at) as opened_at
from mail_event
where event_type = 'open'
and event_at >= '2026-04-01' and event_at < '2026-10-01' -- 期間。実際には集計する期間に差し替える
group by member_id, campaign_id
)
select o.campaign_id,
count(*) as opened,
sum(case when not exists (
select 1
from access_log a
where a.member_id = o.member_id
and a.accessed_at between o.opened_at and o.opened_at + interval '7 days'
) then 1 else 0 end) as not_visited
from opened o
group by o.campaign_id
order by o.campaign_id;次の表は、会員向けメールの配信ごとの集計です。
campaign_id=配信、opened=メールを開封した会員数、not_visited=開封してから7日以内に、ログインしてサイトを一度も利用していない会員数です。
個人を特定できる列は含めていません。
1. 配信ごとに opened と not_visited を並べた棒グラフを、画像で描いてください。各配信に「利用していない割合」を添えてください。
2. 次の点を読み取って、3行程度で教えてください。
・開封した会員のうち、利用していない人はおおよそ何割か
・割合が目立って高い配信、低い配信はあるか
・開封率だけで配信の良し悪しを判断してよいか
(ここに集計結果を貼る)-- 社内用:会員IDの一覧が出ます。社外のサービスやAIには貼らないでください
with opened as (
select member_id, campaign_id, min(event_at) as opened_at
from mail_event
where event_type = 'open'
and event_at >= '2026-04-01' and event_at < '2026-10-01' -- 期間。実際には集計する期間に差し替える
group by member_id, campaign_id
)
select o.campaign_id, o.member_id, o.opened_at
from opened o
where not exists (
select 1
from access_log a
where a.member_id = o.member_id
and a.accessed_at between o.opened_at and o.opened_at + interval '7 days'
)
order by o.campaign_id, o.opened_at;SQLとプロンプトは、準備編の汎用テーブルを前提にした例です。実際のテーブル名・列名に合わせて書き換えてください。動作や結果を保証するものではありません。
使う表: access_log(アクセスログ)/mail_event(メール送信と反応) (表の形は準備編)
メール配信のツールとサイトのアクセス解析が別々で、同じ会員を同じIDで扱えていないと、この問いには答えられません。
配信ツールで分かるのは「誰が開いたか」、アクセス解析で分かるのは「何人来たか」で、その二つが同じ人かどうかをつなげないからです。
writeWiredでは、会員IDの付いたアクセスログとメール・フォームの記録が最初から同じ場所に揃っています。会員サイトCMSとしてのwriteWired