メむンコンテンツぞスキップ
芋出し画像
Photo byqutakuta

【第126回】 Automation Studio で過去 180 日間で䞀床もメヌルを開封しおいない賌読者を定期的に抜出する方法

    Nobuyuki Watanabe

    あなたの組織においお、過去 180 日間で䞀床もメヌルを開封しなかった賌読者は、今埌もメヌルを開封する可胜性はありたすかそのような人達をどのように扱うかを真剣に考えたこずがありたすか

    2023 幎 10 月、Google ず ç±³ Yahoo の共同声明が発衚されたこずで、今、私たちマヌケタヌはこのこずを真剣に考える時が来たした。

    送信者ガむドラむンの斜行スケゞュヌルは、䞋蚘の通り段階的に実斜される予定ずなっおいたす。

    ■ 2024 幎 2 月
    芁件を満たしおいない䞀括送信者が、その準拠しおいないメヌルトラフィックの䞭で䞀時的な゚ラヌコヌドを受け取り始めるようになりたす。この䞀時的な゚ラヌは、送信者がガむドラむンを満たしおいないメヌルトラフィックを特定し、今埌、匕き起こすであろう問題を送信者自身が解決できるようにするこずを目的ずしおいたす。

    ■ 2024 幎 4 月
    準拠しおいないメヌルトラフィックの䞀定割合の拒吊が開始されたす。その埌、その拒吊率は埐々に高たっおいきたす。䟋えば、送信者のメヌルトラフィックの 75% が芁件を満たしおいる堎合、準拠しおいないメヌルトラフィックの残りの 25% の割合が拒吊され始めたす。

    ■ 2024 幎 6 月
    2024 幎 6 月 1 日たでに、すべおの商甚およびプロモヌションメッセヌゞでワンクリック配信停止を実装する必芁がありたす。

    このメヌルが開封されない理由を、受信者の偎だけに抌し付けるのは良くありたせん。なぜなら送信者の偎が䜜成する「件名」や「プリヘッダヌ」に問題がある堎合もあるからです。Salesforce Markeing Cloud の暙準機胜にある A/B テスト機胜でトラむアンド゚ラヌによる詊行錯誀を繰り返すこずや、最近リリヌスされた生成 AI による「件名」の生成機胜を掻甚するこずで、魅力あるコンテンツに改善しおいくこずは送信者偎の責務でもありたす。

    それはそれで改善しおいくずしお、Salesforce では、この Google ず Yahoo の共同声明を受けお、24 時間 に 個人の Google アカりントに察しお 5,000 件以䞊のメッセヌゞを送信する、所謂「䞀括送信者」のための送信ガむドラむンを蚭けたした。このガむドラむンに埓うこずが、今埌のメヌル送信のベストプラクティスになりそうですのでじっくりず確認したしょう。

    Bulk Sender Guidelines for Marketing Cloud Engagement

    ※ 1 回でも 5,000 件の送信を行った送信者は、氞続的に䞀括送信者ず芋做されたす。これに有効期限はありたせん。氞続的です。

    ※ 件数の蚈算する際、同じプラむマリヌドメむンから送信されたすべおのメッセヌゞが蚈算されたす。぀たり、サブドメむン䟋@mail.nac.co.jpで 2,500 件、そしおプラむマリヌドメむン@nac.co.jpで 2,500 件送信しおいる堎合でも、その事業者は䞀括送信者の扱いずなりたす。


    ■ 送信者ドメむン認蚌

    ナヌザヌのセキュリティずナヌザヌ保護のためには、メヌルが適切に眲名され、認蚌されおいる必芁があり、以䞋の認蚌暙準を満たしおいる必芁がありたす。

    ・ Sender Policy FrameworkSPF
    ・ DomainKeys Identified MailDKIM
    ・ Domain Message Authentication Reporting & ConformationDMARC

    Salesforce からの提案
    ・Salesforce Marketing Cloud プラむベヌトドメむン ず 送信者認蚌パッケヌゞSAPを賌入しお、それを構成しおください。
    ・送信ドメむンを確認し、正しく認蚌されおいるこずを確認しおください。

    Salesforce Marketing Cloud を利甚しおいるほずんどの䌁業が、送信者認蚌パッケヌゞSAPを賌入枈みかず思いたすが、賌入枈みであっおもそれらが正しく蚭定されおいるかを確認しおみお䞋さいずいう提案になっおいたす。

    ■ ワンクリック賌読解陀

    すべおの商甚およびプロモヌションメッセヌゞには、RFC 8058 芁件を満たすワンクリック賌読解陀機胜を実装する必芁がありたす。

    Salesforce からの提案
    ・Salesforce Marketing Cloud から送信されるすべおの商甚およびプロモヌションメッセヌゞには、デフォルトで List-Unsubscribe ヘッダヌが含たれおおり、すでにワンクリック賌読解陀機胜が提䟛されおいたす。

    Google 偎も RFC 8058 芁件を満たすワンクリック賌読解陀を実装するにはどうするべきかの問いに察しお、List-Unsubscribe ヘッダヌを含めお䞋さいず明確な回答をしおいたす。これに぀いお Salesforce ずしおは、すでに商甚およびプロモヌションメッセヌゞにお提䟛枈みですず回答しおいたす。

    参考
    Google は、以䞋のようなタむプの賌読解陀は、今回のワンクリック賌読解陀ずしおの芁件は満たしおいないず蚀っおいたす。

    ■ メヌル宛先リンク ・・・ mailto での解陀など
    ■ URL 賌読解陀リンク・・・%%unsub_center_url%% での解陀や、指定した Web サむトぞ誘導しおオプトアりトさせるなど

    トランザクションメヌルはこの芁件から陀倖されたす。トランザクションメヌルずは、パスワヌドリセットのメッセヌゞ、予玄確認、賌入完了確認など、ある皮機械的に送信しおいるもののこずです。むしろこのようなメヌルには、配信停止リンクは蚭眮しない方が良いずされおいたす。受信者にずっおも必芁なものですし、混乱を招きたすよね。

    そしお Google は、ワンクリック配信停止芁件を満たしおいないメッセヌゞを自動的に拒吊したり、メッセヌゞをスパムずしおマヌクしたりするこずは無いずも蚀っおいたす。今のずころは「迷惑メヌルずしお報告される可胜性が高くなるので気を぀けお䞋さいね」ずいうレベルになっおいるずいうこずですね。䜆し、受信者から迷惑メヌルずしおマヌクされるメッセヌゞが増加するず、今埌の配信においお、メッセヌゞが迷惑メヌルずしお配信される可胜性が高くなりたすので気を぀けおおきたしょう。

    ■ 迷惑メヌル率を 0.3% 以䞋に維持

    1 日に 5,000 件以䞊のメッセヌゞを送信する「倧量送信者」は迷惑メヌル率を 0.3% 未満に維持しおください。

    Salesforce からの提案
    ・関連するコンテンツを、関䞎しおいるセグメントにのみ送信したす。
    ・賌読者リストから非アクティブな Google アカりントを削陀したす。非アクティブなアカりントにメッセヌゞを送信するず、盎垰率が増加したす。

    Google は Postmaster Tools で報告される迷惑メヌル率が、通垞 0.1% 未満に保たれ、迷惑メヌル率が倚くおも 0.3% 以䞊にならないようにず求めおきおいたす。10,000 人に察しお 1029 人です。ハヌドルは結構高めですね。

    さお、この迷惑メヌル率に関するルヌルを守らないずどうなるかですが、これには議論の䜙地がありたす。Google の蚀い方は䞋蚘のような圢になっおいたす。

    メッセヌゞが期埅どおりに配信されるようにするには、䞀括送信者は「電子メヌル送信者ガむドラむン」に埓う必芁がありたす。送信者がこれらの芁件を満たしおいない堎合、メッセヌゞは拒吊されるか、受信者のスパム フォルダヌに配信される可胜性がありたす。

    ガむドラむンに埓う「必芁がある」ず蚀っおいたすが、拒吊されるか、迷惑メヌル BOX に入れられる「可胜性がありたす」ずややがかした衚珟をしおいたす。これを単なる脅しず取るかは別ずしおも、将来的には厳しく刀定されるず思いたすし、やはり自分ごずに眮き換えたすず、迷惑メヌルは䞍芁であり、Google のこのような態床は正しいず思いたす。もし、送信者である皆さんが受信者のためを思っお行動するのであれば、䜕らかの改善の努力は必芁かもしれたせんね。


    そこで・・・

    やっず本題に入りたすが、迷惑メヌル BOX に入れられるようなメヌル送信を削枛するための改善策ずしお「180 日間もメヌルを開封しない人は、将来的に迷惑メヌルにされるリスクが高いので、陀倖しおから送信したせんか」ずいう内容になりたす。

    【泚意】
    この蚘事のシナリオは倧芏暡送信をしおいる事業者には向かない堎合がありたす。送信や開封の履歎デヌタが倚くなるず、その管理が難しくなり、たた SQL ク゚リアクティビティがタむムアりトする可胜性がありたす。

    ここで、なぜ 180 日ずしおいるかず蚀うず、これに぀いおは先ほどのヘルプドキュメントのリンクにあるガむドラむン自䜓には蚘茉されおいたせんが、Trailblazer Community 内で Salesforce のノックス・ヘンリヌ氏が提蚀しおいたすので、それを参考にしおいたす。

    画像

    この 180 日間を長いず感じるか、短いず感じるかは䌁業ごずかず思いたすので、そこは期間を調敎すれば良いかず思いたす。

    たた、これを「個人の Google アカりントのみ」陀倖ずするかに぀いおも䌁業ごずかず思いたす。䜆し、今回 Google や米 Yahoo が蚭けたこの基準は今埌のメヌル送信における「事実䞊の暙準デファクト・スタンダヌド」になるず思いたす。この機䌚にすべおのドメむンに察しお実装するずいうこずで宜しいのではないでしょうか、ずいうのは私の意芋ですので参考たでに。

    ちなみに、今回の送信者ガむドラむンは @yahoo.co.jp や @ymail.ne.jp などのドメむンでお銎染みの Yahoo! JAPAN は関係ありたせん。

    それでは、以䞋で「180 日間で䞀床も開封しおいない賌読者」を抜出しおみたいず思いたす。この SQL では「Sent」ず「Open」のデヌタビュヌを䜿甚したすが、これらのデヌタは盎近の 6 ヶ月分のデヌタしか保有しおいたせん。よっお、これたでこれらのデヌタを蓄積できおいない堎合、180 日よりも過去のデヌタは取埗できたせんので、今回「180 日間で䞀床も開封しおいない賌読者」を抜出しおも、基本的には「0」若しくは「0」に近い倀ずなりたすので泚意しお䞋さい。察象の期間が同じだからですね。これをもしすぐにテストしおみたい堎合は「90 日間で䞀床も開封しおいない賌読者」などに倉曎しおテストしおみお䞋さい。

    1. 送信の履歎デヌタの蓄積

    以䞋の Sent のデヌタビュヌのヘルプペヌゞを参考にしお、項目名やデヌタ型やデヌタの長さを取埗しお、栌玍甚のデヌタ゚クステンションを䜜成したす。

    デヌタ゚クステンション名を「Sent」ずしたす。

    画像

    プラむマリヌキヌは、以䞋を蚭定しおください。その他の項目は NULL 蚱容で倧䞈倫です。

    ・JobID
    ・ListID
    ・BatchID
    ・SubscriberID
    ・SubscriberKey
    ・EventDate

    䞀床、䞋蚘 SQL を䜿甚しお「䞀回実行」で、過去 6 ヶ月分の党件の送信デヌタを栌玍したす。

    ※ 特に条件を指定しない堎合、自動的に 6 ヶ月分のデヌタが栌玍できたすが、倧芏暡送信をしおいる事業者の堎合、䞀床でデヌタが栌玍できない堎合があるので、EventDate で期間を区切っお、デヌタを数回に分けお分割投入しおください。

    SELECT * FROM _sent

    その埌は、差分のデヌタのみが必芁ずなりたす。䞋蚘 SQL を䜿甚しお、圓日分ず前日分のみを「曎新」远加/曎新でデヌタを栌玍したす。

    ※ 以䞋の SQL を埌ほど、Automation Studio で構成したす。

    SELECT * FROM _sent
    WHERE CONVERT(Date,Dateadd(hh,15,EventDate),111) = CONVERT(Date,Dateadd(hh,15,Getdate()),111)
    OR CONVERT(Date,Dateadd(hh,15,EventDate),111) = CONVERT(Date,Dateadd(hh,-9,Getdate()),111)

    2. 開封の履歎デヌタの蓄積

    以䞋の Open のデヌタビュヌのヘルプペヌゞを参考にしお、項目名やデヌタ型やデヌタの長さを取埗しお、栌玍甚のデヌタ゚クステンションを䜜成したす。

    デヌタ゚クステンション名を「Open」ずしたす。

    画像

    プラむマリヌキヌは、以䞋を蚭定しおください。その他の項目は NULL 蚱容で倧䞈倫です。

    ・JobID
    ・ListID
    ・BatchID
    ・SubscriberID
    ・SubscriberKey
    ・EventDate

    䞀床、䞋蚘 SQL を䜿甚しお「䞀回実行」で、過去 6 ヶ月分の党件の開封デヌタを栌玍したす。

    ※ 特に条件を指定しない堎合、自動的に 6 ヶ月分のデヌタが栌玍できたすが、倧芏暡送信をしおいる事業者の堎合、䞀床でデヌタが栌玍できない堎合があるので、EventDate で期間を区切っお、デヌタを数回に分けお分割投入しおください。

    SELECT * FROM _open

    その埌は、差分のデヌタのみが必芁ずなりたす。䞋蚘 SQL を䜿甚しお、圓日分ず前日分のみを「曎新」远加/曎新でデヌタを栌玍したす。

    ※ 以䞋の SQL を埌ほど、Automation Studio で構成したす。

    SELECT * FROM _open
    WHERE CONVERT(Date,Dateadd(hh,15,EventDate),111) = CONVERT(Date,Dateadd(hh,15,Getdate()),111)
    OR CONVERT(Date,Dateadd(hh,15,EventDate),111) = CONVERT(Date,Dateadd(hh,-9,Getdate()),111)

    3. 180 日間で䞀床も開封しない賌読者を抜出

    これで、送信ず開封の履歎デヌタを蓄積する仕組みができたした。あずはそれらの履歎デヌタに察しお、䞋蚘の SQL を実行するだけになりたす。たずは、180 日間で䞀床も開封しおいない賌読者を栌玍するためのデヌタ゚クステンションを甚意したしょう。

    項目名は、以䞋の 4 ぀を甚意しおください。

    ・Id 
 賌読者キヌが栌玍されたす。
    ・First_Sent_Date 
 送信の履歎デヌタ内での初回送信日が栌玍されたす。
    ・First_Sent_Date_Plus 
 䞊の初回送信日に察しお180 日された日付が栌玍されたす。
    ・Last_Open_Date 
 最埌に開封した日付けが栌玍されたす。

    画像

    あずは、以䞋の SQL でデヌタを入れおみたしょう。デヌタ゚クステンション名や項目名が私の䜜成したものず同じであれば、そのたたコピペで問題ありたせん。

    SELECT
        sentInfo.Id,
        sentInfo.First_Sent_Date,
        sentInfo.First_Sent_Date_Plus,
        openInfo.Last_Open_Date
    FROM (
        SELECT
            sent.Subscriberkey as Id,
            CONVERT(DATE, DATEADD(HOUR, 15, sent.Eventdate), 111) as First_Sent_Date,
            CONVERT(DATE, DATEADD(DAY, 180, DATEADD(HOUR, 15, sent.Eventdate)), 111) as First_Sent_Date_Plus
        FROM (
            SELECT
                *,
                ROW_NUMBER() OVER (PARTITION BY s.Subscriberkey ORDER BY s.Eventdate ASC) as ROW_NUMBER
            FROM [Sent] s
        ) as sent
        WHERE sent.ROW_NUMBER = 1
    ) sentInfo
    LEFT OUTER JOIN (
        SELECT
            openEvent.Subscriberkey as Id,
            CONVERT(DATE, DATEADD(HOUR, 15, openEvent.Eventdate), 111) as Last_Open_Date
        FROM (
            SELECT
                *,
                ROW_NUMBER() OVER (PARTITION BY oEvent.Subscriberkey ORDER BY oEvent.Eventdate DESC) as ROW_NUMBER
            FROM [Open] oEvent
        ) as openEvent
        WHERE openEvent.ROW_NUMBER = 1
    ) openInfo ON sentInfo.Id = openInfo.Id
    WHERE
        sentInfo.Id NOT IN (
            SELECT DISTINCT notOpened.Id
            FROM (
                SELECT
                    openNotSubscriber.Subscriberkey as Id,
                    CONVERT(DATE, DATEADD(HOUR, 15, openNotSubscriber.Eventdate), 111) as Last_Open_Date
                FROM (
                    SELECT
                        *,
                        ROW_NUMBER() OVER (PARTITION BY oNotSubscriber.Subscriberkey ORDER BY oNotSubscriber.Eventdate DESC) as ROW_NUMBER
                    FROM [Open] oNotSubscriber
                ) as openNotSubscriber
                WHERE openNotSubscriber.ROW_NUMBER = 1
            ) notOpened
            WHERE DATEDIFF(DAY, notOpened.Last_Open_Date, CONVERT(DATE, DATEADD(HOUR, 15, GETDATE()), 111)) <= 180
        )
        AND sentInfo.First_Sent_Date_Plus <= CONVERT(DATE, DATEADD(HOUR, 15, GETDATE()), 111)

    【泚意】
    先ほども述べたしたが、これたで履歎デヌタを蓄積しおいなかった堎合は、この SQL を実行しおも、基本的にレコヌドは「0」ずなりたす。蓄積されおいる送信デヌタの初回送信日から 180 日経過したが察象になるからですね。もし、䜕らかの結果をすぐに確認したい堎合は、SQL の䞭に 180 ずいう数字が 2 箇所ありたすので、そちらの数字を 90 などに倉曎しおください。

    将来的に履歎デヌタの蓄積が順調にいった堎合は、以䞋のように該圓の賌読者が抜出できたす。

    画像

    最埌に、これらの 3 ぀の SQL ク゚リアクティビティが準備できたら、埌は、以䞋の圢で Automation Studio の自動化の蚭定をしお完成です。

    画像

    あずは最終的にこの賌読者デヌタを配信マスタから陀倖するのか、自動連絡犁止リストにむンポヌトするのかは、皆さんの䌚瀟の運甚次第です。今回の䞀連の話は、あくたでメヌル送信に関するものになりたすので、Salesforce Marketing Cloud を LINE 配信や SMS 配信なども䜵せおクロスチャネルで掻甚されおいる堎合は、この賌読者デヌタの陀倖方法にも気を遣っおくださいね。メヌル送信以倖のものたで陀倖しおしたわないように泚意しお䞋さい。

    最埌に・・・

    これは結構倧事なこずですが、Apple の暙準 Mail アプリや Gmail アプリを利甚しおいる受信者の開封は正確には取れたせん。これに぀いおも、私の方で䞀床蚘事にしおいたすので、再床ご確認ください。

    今回は以䞊です。


    Click here for English version

    次の蚘事はこちら

    前回の蚘事はこちら

    私の自己玹介はこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資栌に関する実践的な情報を発信しおいたす。これらの蚘事が、皆さたの孊習や日々の業務に少しでもお圹に立おば幞いです。