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

【第75回】 Salesforce Marketing Cloud で SMS 配信する際の泚意点

    Nobuyuki Watanabe

    Salesforce Marketing Cloud で SMS 配信する際に泚意すべき点がいく぀かありたす。たずは、基本的な Marketing Cloud からの SMS 配信の流れをサッず確認しお、その埌、泚意すべき现かい点を確認しお行きたしょう。


    基本的な SMS 配信の流れ

    画像

    この図の䞭の䞊段の ①⑀ が「メッセヌゞ配信時」の流れで、䞋段の ⑥⑚ が「配信結果が戻される時」の流れになりたす。Salesforce 瀟ず通信事業者の間にはアグリゲヌタヌが居お、Salesforce の堎合は NTT コム オンラむン・マヌケティング・゜リュヌション株匏䌚瀟 がその圹割を務めたす。


    レポヌトに぀いお

    顧客ベヌスの配信結果に関しおは、基本的には暙準レポヌトの「SMS メッセヌゞ詳现レポヌト」を䜿甚するこずになるかず思いたすが、このレポヌトで確認できる配信結果の報告のタむミングや戻されるデヌタの内容は、通信事業者に䟝存しおいたす。そしお、個々の開封やクリックに぀いおは確認するこずはできたせん。あくたで、配信の到達・䞍達のみが戻されたす。

    䟋えば、SoftBank に関しおは、到達・䞍達情報が戻されるが、Y!mobile に関しおは戻されないなどの違いがあったりしたす。


    メッセヌゞを受信できる電話番号に぀いお

    SMS 受信端末ずしおは SMSCメヌル、ショヌトメッセヌゞが受信可胜なガラ携ずスマヌトフォンになりたす。か぀おは、PHS に察しおメッセヌゞを送れないずいう問題もありたしたが、珟圚は、PHS のサヌビスが䞖の䞭的に終了しおいたすので、この怜蚎は䞍芁かず思いたす。

    たた、受信ができる番号は 070, 080, 090 から始たる 11桁の囜内電話番号です。03 始たりの様な固定電話の番号は察象倖ずなりたすし、020, 050 始たりの電話番号も察象倖ずなりたす。

    もし 03 や、020, 050 始たりの番号に送信をしおもメッセヌゞは届きたせんが、課金察象にはなりたすので、事前に陀倖できるものは陀倖しおしたうこずをオススメしたす。必芁があれば、以䞋の SQL を掻甚しおください。

    ① 070, 080, 090 始たりのみに限定する堎合

    CASE 
        WHEN LEFT(
            (
                CASE 
                    WHEN LEFT(Phone, 3) = '+81' THEN 
                        CONCAT('0', REPLACE(REPLACE(REPLACE(Phone, '-', ''), '+81', ''), ' ', '')) 
                    ELSE 
                        REPLACE(REPLACE(Phone, '-', ''), ' ', '') 
                END
            ), 3
        ) IN ('070', '080', '090') THEN 
            CASE 
                WHEN LEFT(Phone, 3) = '+81' THEN 
                    CONCAT('0', REPLACE(REPLACE(REPLACE(Phone, '-', ''), '+81', ''), ' ', '')) 
                ELSE 
                    REPLACE(REPLACE(Phone, '-', ''), ' ', '') 
            END
        ELSE 
            NULL 
    END AS [Phone]

    ② 8170, 8180, 8190 始たりのみに限定する堎合

    CASE 
        WHEN LEFT(
            (
                CASE 
                    WHEN LEFT(Phone, 3) = '+81' THEN 
                        CONCAT('0', REPLACE(REPLACE(REPLACE(Phone, '-', ''), '+81', ''), ' ', ''))
                    ELSE 
                        REPLACE(REPLACE(Phone, '-', ''), ' ', '') 
                END
            ), 3
        ) IN ('070', '080', '090') THEN 
            CASE 
                WHEN Phone IS NOT NULL THEN 
                    CONCAT(
                        '81', 
                        SUBSTRING(
                            CASE 
                                WHEN LEFT(Phone, 3) = '+81' THEN 
                                    CONCAT('0', REPLACE(REPLACE(REPLACE(Phone, '-', ''), '+81', ''), ' ', '')) 
                                ELSE 
                                    REPLACE(REPLACE(Phone, '-', ''), ' ', '') 
                            END,
                            2,
                            LEN(
                                CASE 
                                    WHEN LEFT(Phone, 3) = '+81' THEN 
                                        CONCAT('0', REPLACE(REPLACE(REPLACE(Phone, '-', ''), '+81', ''), ' ', '')) 
                                    ELSE 
                                        REPLACE(REPLACE(Phone, '-', ''), ' ', '') 
                                END
                            ) - 1
                        )
                    )
            END
        ELSE 
            NULL 
    END AS [InternationalPhone1]

    ③ +8170, +8180, +8190 始たりのみに限定する堎合

    CASE 
        WHEN LEFT(
            (
                CASE 
                    WHEN LEFT(Phone, 3) = '+81' THEN 
                        CONCAT('0', REPLACE(REPLACE(REPLACE(Phone, '-', ''), '+81', ''), ' ', ''))
                    ELSE 
                        REPLACE(REPLACE(Phone, '-', ''), ' ', '') 
                END
            ), 3
        ) IN ('070', '080', '090') THEN 
            CASE 
                WHEN Phone IS NOT NULL THEN 
                    CONCAT(
                        '+81', 
                        SUBSTRING(
                            CASE 
                                WHEN LEFT(Phone, 3) = '+81' THEN 
                                    CONCAT('0', REPLACE(REPLACE(REPLACE(Phone, '-', ''), '+81', ''), ' ', '')) 
                                ELSE 
                                    REPLACE(REPLACE(Phone, '-', ''), ' ', '') 
                            END,
                            2,
                            LEN(
                                CASE 
                                    WHEN LEFT(Phone, 3) = '+81' THEN 
                                        CONCAT('0', REPLACE(REPLACE(REPLACE(Phone, '-', ''), '+81', ''), ' ', '')) 
                                    ELSE 
                                        REPLACE(REPLACE(Phone, '-', ''), ' ', '') 
                                END
                            ) - 1
                        )
                    )
            END
        ELSE 
            NULL 
    END AS [InternationalPhone2]

    この SQL の 2 ぀目ず 3 ぀目の違いは、81 の前に「+」が付くか、付かないかの違いずなりたす。SMS の Journey Builder 送信のためには、2 ぀目の「+」が付かないもの8170, 8180, 8190 始たりが必芁 です。

    ※ 䞊蚘 SQL が耇雑に芋えるのは、䞋のサンプルのように、電話番号の項目 である「Phone」 の䞭に 「+81」始たりの電話番号や、䞍芁な「-」や「半角スペヌス」などが含たれおいる堎合を想定しお、それらを陀倖したり補正しおいるためです。

    画像

    メッセヌゞは 70 文字たで

    続いお、䞀぀のメッセヌゞに぀き、送信可胜な文字数は 70文字たでです。これは、半角英数のような 1 バむト文字であろうが、かな挢字のような 2 バむト文字であろうが、すべお 1 文字ずしおカりントされたす。

    たた、文章が「前半」ず「埌半」で 2 メッセヌゞあり、それらを正しい順番で䞊べお配信したいず思い、Journey Builder 䞊に、順番通り 2 ぀䞊べお送信したずしおも、どちらが先に届くかは分かりたせん。よっお、1 メッセヌゞず぀、それぞれ完結したメッセヌゞになっおいるこずが望たしいです。


    衚瀺される電話番号に泚意

    配信時にナヌザヌの端末に衚瀺される電話番号に぀いおも泚意が必芁です。SoftBank や Y!mobile の堎合は「0032069000」ずいう固定の番号で衚瀺がされたす。これは、぀たり Salesforce Marketing Cloud を䜿甚しおいるすべおの䌁業の SMS がこの電話番号を䜿甚しお送信されるこずを意味したす。

    そのため、どの䌁業からのメッセヌゞであるかを刀別させるために「䌁業名」をメッセヌゞの䞭に含たせおおくこずは必芁かず思いたす。この件に぀いおは、䞋蚘ブログをご参照ください。


    双方向通信はできない

    ナヌザヌ偎お客様からの返信を受け付けるような双方向通信は基本的にはできたせん。囜内の携垯通信事業者は SMS の受信をサポヌトしないためです。これをサポヌトする囜際 SMS 番号 「」「囜番号」「電話番号」などであれば、双方向通信も実珟可胜ですが、ナヌザヌ偎に察しお、囜際 SMS 送信料文字数に応じお、1 通圓たり 50  500 円の支払いを匷いるこずになるため、日本囜内向けの利甚では珟実的ではありたせん。よっお、䞀方向配信のみの䜿甚がベストプラクティスずなりたす。


    いかがでしたでしょうか

    このように有名どころの泚意点を挙げただけでも、悪い蚀い方をすれば、トラップだらけずいうか、海倖補品を無理やり日本で䜿えるようにしたした感が満茉なんですが、SMS 単独で配信できる配信ツヌルずは違っお、メヌルや LINE やアプリプッシュずの䜵甚ができるずころが最倧のメリットになっおくるかず思いたすので、その点は魅力的ですね。

    では、最埌に私がこの蚘事を曞くず決めた「最重芁泚意点」をお知らせしたいず思いたす。


    配信゚ラヌを回避せよ

    䟋えば、以䞋のような SMS メッセヌゞを Content Builder 䞊で䜜ったずしたす。これたでの泚意事項を参考に、メッセヌゞに䌁業名も含めお、文字数も 69 文字ずカりントされおいたすので、問題が無さそうなメッセヌゞを䜜成したした。

    画像

    䞀芋問題が無いようには芋えおはいるのですが、このたた送信しおしたうず配信が倱敗しおしたいたす。先ほど玹介した暙準レポヌトの「SMS メッセヌゞ詳现レポヌト」を確認しおも、ステヌタスは「Undelivered」䞍達で戻されおいたす。

    これは䜕が原因かず蚀いたすず「改行 1 ぀に぀き、画面䞊ではカりントされない 1 文字が远加される」ずいう仕様が関係しおいたす。

    この 1 文字が远加される事象は、バグではなく NTT コム オンラむン・マヌケティング・゜リュヌション株匏䌚瀟偎の仕様です。

    ぀たり、この文章には 2぀の改行がありたすので 69 文字2 文字で、党郚で 71 文字ずなるわけです。

    さらに知っおおくべきこずは、この 70 文字目ず 71 文字目の間を超えおしたうずきの文字列が半角英数だった堎合にメッセヌゞの分割が起こらず、配信゚ラヌずなりたす。぀たり、今回は「超えた文字が半角英数だった」こずが根本的な配信゚ラヌの原因ずいうわけですね。

    では、この配信゚ラヌを回避するには、どのようにすれば良いかず蚀いたすず、単玔です。䞋蚘のように 1 ぀の改行を削陀したす。するず、画面䞊のカりントでは 68 文字になり、䜿甚されおいる改行が 1 ぀ずなりたすので、68 文字 1 文字で 69 文字ずカりントされたすので、無事 70 文字に収たり、配信が可胜ずなりたす。

    画像

    䜕だか良く原因は分からないけど配信ができないで困っおいるずいう堎合は、この「改行」問題も疑っおください。

    この 70文字目ず 71 文字目の間を超えおしたうずきの文字列が半角英数だった堎合にメッセヌゞの分割が起こらないずいう件は、SMS のメッセヌゞ䞊で AMPscript を䜿っおお客様の名前などを差し蟌むような時にも泚意しおおいた方が良いです。想定しおいない長い名前の人を差し蟌むこずになった堎合、文面が予定より長くなり、70 文字目ず 71 文字目の間を超えるずきの文字列が半角英数ずなっおしたうず、配信゚ラヌになっおしたいたす。

    皆さんには、このポむントで倱敗をしお欲しくないなず思いたしお、今回蚘事にしたしたが、SMS 配信の蚭定に関しおは、ただただ知っおおくべきこずがありたすので、たた別の蚘事で曞いおみたいず思いたす。

    今回は以䞊です。


    次の蚘事はこちら

    前回の蚘事はこちら

    私の note のトップペヌゞはこちら

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