Microsoft Formsで作ったアンケートをSMSで一斉配信し、電話番号ごとに異なるリンクで誰が回答したかを把握しつつ、結果は1つのレポートにまとめたい――そんな要件は意外とつまずきやすいポイントです。本記事ではForms単体の限界と、現実的な実装パターンを整理します。
要件を分解すると「配信」「識別」「集計」
「Microsoft FormsのアンケートをSMSで送る」「電話番号ごとにユニークなリンクにする」「回答結果は1つに集計する」。この3点が同時に必要になると、単なるアンケート作成ツールだけでは足りません。まずは何が難しいのかを、要件ごとに言語化しておくと失敗が減ります。
- 配信:SMS(テキスト)で多数の宛先に送る。配信停止(オプトアウト)や送信失敗の再送も視野。
- 識別:「どの電話番号に送ったリンクか」を後から追える。できれば転送・重複回答も抑えたい。
- 集計:回答はバラバラのフォームではなく、同一のレポート(同一の集計軸)に統合したい。
ここでいう「電話番号ごとにユニークなリンク」は、実務上は招待(invitation)の管理に近い要件です。つまり、アンケートURLの配布を単なる共有ではなく、誰に・いつ・何を送ったかまで管理したい、ということになります。
Microsoft Formsだけで実現できない理由
SMS一斉送信の機能がない
Microsoft Formsは、アンケートの作成・公開・回答の収集・簡易集計に強いサービスです。一方で、SMS配信(テキストメッセージの一斉送信)機能は標準では備えていません。共有方法として用意されているのは、主に「リンク」「QRコード」「埋め込み」「メールでの共有(環境による)」であり、SMS配信は別手段を用意する必要があります。
電話番号ごとのユニークリンクを自動発行し、追跡する仕組みがない
Formsの「共有リンク」は基本的に同一URLです。もちろん、あなたが手作業でURLを加工して“それっぽく”見せることはできますが、Forms自体が受信者単位の招待リンク発行・送付履歴・開封/クリック・リマインドといった機能を持っているわけではありません。結果として、次のような課題が残ります。
- 誰が回答したか(少なくとも誰に送ったか)を確実に紐付けられない
- リンク転送された場合に、想定外の人が回答できてしまう
- 未回答者へのリマインドを“仕組み”で回しにくい
「1人1回」の制御が外部ユーザーでは難しい
Formsには「組織内のみ」「1人1回(サインイン必須)」といった制御があります。しかし、SMSを送る相手が顧客(社外)で、Microsoftアカウントや組織アカウントでのサインインを前提にできないケースが多いはずです。その場合、Forms側だけで電話番号単位の1回制限を厳密に実現するのは現実的ではありません。
結論を先に整理:実現度の早見表
| 方法 | SMS一斉送信 | 電話番号ごとのユニークリンク | 1つのレポートへ集計 | 向いているケース |
|---|---|---|---|---|
| Forms単体 | 不可 | 不可 | 可 | メールやURL共有で足りる、追跡が不要 |
| Forms + SMSツール(共有リンク) | 可(SMS側で実施) | 弱い(共通URLになりがち) | 可 | とにかく早く配りたい、厳密な追跡は不要 |
| Forms + Power Automate + SMS + 自前の識別 | 可 | 一定可能(ただし抜け道あり) | 可 | コストを抑えつつ、ある程度は送付先を識別したい |
| Customer Voice + Power Automate + SMS(例:Twilio) | 可 | 強い(招待管理が前提) | 強い(追跡と集計が一体) | 追跡・リマインド・運用まで含めて仕組みにしたい |
代替案A:Formsの共有リンクを作って、SMSツールで送る
最もシンプルなのは、Formsでアンケートを作成し、公開用リンクをSMS本文に貼り付けて配信する方法です。SMS配信はTwilioのようなSMSサービス、あるいは契約中のSMS配信事業者、CRM/MAツールのSMS機能などを使います。
手順のイメージ
- Microsoft Formsでアンケートを作成し、回答の受け付け設定(期限、匿名/記名の方針、必須項目など)を決める
- 「リンクをコピー」で共有URLを取得する
- SMS配信ツール側に宛先リスト(電話番号)を登録し、本文にFormsのURLを貼って配信する
- 回答はFormsの「応答」タブで集計し、必要ならExcelへエクスポートして加工する
Forms側でよくある設定ミスと推奨値
「SMSで外部(顧客)に送る」前提だと、Formsの設定が社内向けのままになっていて回答できないケースが多発します。公開前に次を確認してください。
| 設定項目 | 推奨の考え方 | 理由 |
|---|---|---|
| 回答できるユーザー | 社外が対象なら「だれでも回答できる」 | 組織アカウントへのサインインを要求すると、顧客が回答できない |
| 名前を記録 | 追跡が目的でも、まずは「記録しない」を検討 | 個人情報の収集が増える。必要なら別のキー(受付コード等)で紐付ける |
| 1人1回の回答 | 社外向けでは無理に有効化しない | サインインが必要になり、回答率が落ちる。重複は後処理で扱う方が現実的 |
| 回答の受付期間 | 開始/終了日時を決める | リンク転送や、いつまでも回答が来続ける問題を抑えられる |
| 結果の表示 | 回答後に結果を見せない設定を検討 | 評価・満足度アンケートでは、他人の回答が見えると偏りが出る |
メリット
- 導入が早い(Formsを作ってURLを貼るだけ)
- 回答は1つのフォームに集計される
- 既存のSMS配信基盤があるなら、追加開発がほぼ不要
デメリット(要件の“識別”が弱い)
この方式では、リンクが基本的に全員共通になりやすく、電話番号ごとのユニークリンクや個別追跡ができません。実務では次のような困りごとが起きがちです。
| よくある課題 | 原因 | 影響 | 現実的な対処 |
|---|---|---|---|
| 誰が回答したか分からない | URLが共通で、回答者識別の仕組みがない | 未回答者へのリマインドができない | フォーム内に「受付番号」「氏名」「電話番号」などを入力してもらう(入力負担と精度に注意) |
| リンクが転送される | SMSのURLはコピーが容易 | 想定外の回答が混ざる | 案内文で転送禁止を明記、もしくは本人確認(後述)を入れる |
| 重複回答が混ざる | 匿名回答だと制御しにくい | 集計の信頼性が落ちる | 回答期限を短くする、1回だけ回答してほしい旨を明記、重複は後処理で除外 |
この方式が向いている条件
- 顧客ごとの追跡が“必須”ではなく、回答率向上が主目的
- 個人情報の取り扱いをできるだけ増やしたくない(フォームに電話番号入力をさせない等)
- まずは小さく始めて、運用の問題点を洗い出したい
補強案:Formsでも「擬似的な電話番号別リンク」を作る現実解
「Forms単体では無理」とはいえ、追跡の精度を“ある程度”まで上げる運用は可能です。ポイントは、Formsに“受信者ID”を持ち込むことです。ただし、Formsには“隠しフィールド”の概念がないため、厳密な追跡や改ざん耐性は期待しない前提で使います。
考え方:電話番号そのものを埋め込まない
SMS本文に電話番号を含めたり、URLパラメータに電話番号をそのまま載せるのは避けた方が安全です。代わりに、ランダムな受付コード(トークン)を採番し、そのコードをフォームに引き継ぐ設計にします。
実装パターン例
| パターン | やること | 強み | 弱み |
|---|---|---|---|
| フォーム内に「受付コード」入力欄を作る | SMSで「受付コード」を送って入力してもらう | URLは共通のままでも識別できる | 入力ミス・未入力が発生しやすい |
| プレフィル(事前入力)リンクを作る | 受付コードが事前入力された状態のリンクを個別に作る | 入力負担が減り、識別精度が上がる | 受付コードの欄は編集できるため改ざん余地が残る |
| 中継ページでトークンを記録してからFormsへ誘導 | クリックを自前で記録し、Formsへリダイレクト | クリック時点の追跡ができる | Web開発が必要。回答そのものの紐付けは設計次第 |
Power Automateを使った“プレフィルリンク大量生成”のイメージ
受付コードを自動生成し、宛先リストと紐付けてSMS送信するところまでをPower Automateで組むと、手作業が大幅に減ります。たとえば次のような流れです。
プレフィルリンク(事前入力リンク)は、Formsの画面で手動でも作れます。運用テスト時は、次の手順で「受付コード入りURL」が期待通りに動くか確認すると安全です。
- Formsの編集画面で、右上の「…」メニューから「事前入力されたリンクを取得(Get pre-filled link)」を選ぶ
- 受付コード用の質問にテスト用コードを入力し、「リンクを取得」を実行する
- 生成されたURLをスマホで開き、受付コードが入力済みになっているか確認する
- 回答後にExcel出力した際、受付コード列がきちんと埋まっているか確認する
この動作確認ができたら、同じ考え方をPower Automateで大量生成・配信へ拡張します。
- 宛先リスト(電話番号、顧客ID、店舗、担当者など)をExcel/SharePoint/Dataverseのいずれかで管理する
- Power Automateで各宛先に対し受付コード(ランダム文字列)を生成し、送付ログに保存する
- Forms側に「受付コード」質問を用意し、その質問が事前入力されたリンクを個別に生成する
- TwilioなどのSMSサービスAPIを呼び出して、個別リンクを送信する
- 回答が返ってきたら、FormsのExcel出力を突合して受付コードで顧客レコードへ紐付ける
この方式は「既存のFormsを活かしつつ、識別を足す」点では現実的ですが、改ざん耐性・転送耐性が弱いことは理解しておく必要があります。受付コードが編集できたり、リンクが転送されたりすると、本人以外の回答が紛れ込む可能性があります。重要な業務評価や契約関連など、回答の本人性が重要なアンケートでは不向きです。
代替案B:Dynamics 365 Customer Voice + Power Automate + SMS(例:Twilio)で要件を満たす
「電話番号ごとにユニークなリンクで追跡しつつ、回答は一元集計したい」という要件に最も素直にハマるのが、Dynamics 365 Customer Voiceのような“招待・配信・追跡”が前提のアンケート基盤です。Customer Voiceを軸にし、配信チャネルとしてSMSを選び、Power Automateで接続する構成が、運用も含めて破綻しにくいです。
Customer Voiceが向いている理由
- 受信者(招待)管理が前提:「誰に送ったか」をデータとして持てるため、ユニークリンクと相性が良い
- 追跡・レポートが一体:送付状況と回答が同じ土俵で見えるので、未回答者へのリマインドがしやすい
- Dynamics/Dataverse連携が強い:顧客データ(電話番号、店舗、担当、契約種別)と結び付けて分析しやすい
全体アーキテクチャ例
| 役割 | 使うサービス | 具体的な内容 |
|---|---|---|
| アンケート作成・集計 | Dynamics 365 Customer Voice | 満足度、NPS、自由記述などを設計。回答は一元化してレポート化 |
| 宛先データ | Dataverse / Dynamics 365 / SharePoint / Excel | 電話番号、顧客ID、店舗、担当者、送付ステータス、同意情報を管理 |
| 送信の自動化 | Power Automate | 招待の作成、個別リンク取得、SMS送信、送付ログ更新、リマインド |
| SMS配信 | TwilioなどのSMS送信サービス | 個別リンクをSMSで配信。送信結果(成功/失敗)を取得してログ化 |
| 可視化(任意) | Power BI | 店舗別・担当別・期間別の満足度、未回答者、自由記述分析などをダッシュボード化 |
実装ステップの具体例(運用まで含めた設計)
宛先データの持ち方を先に決める
「電話番号」と「顧客を表すキー(顧客ID、会員ID、注文番号など)」を紐付けられる場所が必要です。最初から完璧なCRM連携がなくても、最低限以下の列があれば運用できます。
| 列の例 | 用途 | 注意点 |
|---|---|---|
| 電話番号 | SMS送信先 | 国番号、ハイフン有無などの正規化を統一 |
| 顧客ID/注文番号 | 後で分析・照合するためのキー | 個人情報を最小化し、内部IDを推奨 |
| 同意フラグ | SMS配信の許諾管理 | 配信停止/同意撤回の履歴も残せると安全 |
| 送付ステータス | 未送付/送付済/失敗/回答済など | 再送・リマインドの判断に使う |
| 最終送付日時 | 送付のタイミング管理 | 深夜帯送信を避けるなどの制御に有効 |
Power Automateのフロー構成例
フローは複雑にしすぎないのがコツです。おすすめは「初回送付フロー」と「リマインドフロー」を分けることです。
| フロー | トリガー | 主な処理 | ポイント |
|---|---|---|---|
| 初回送付 | 手動 or スケジュール | 宛先抽出 → 招待作成 → 個別リンク取得 → SMS送信 → 送付ログ更新 | 送信失敗時の再試行と、二重送信防止(ステータス管理)が重要 |
| リマインド | 毎日/毎週のスケジュール | 未回答者抽出 → リマインド条件判定 → SMS再送 → ログ更新 | 送付間隔を空け、しつこくならない回数制限を入れる |
| 配信停止 | SMS返信(STOP等) or 別フォーム | 同意フラグOFF → 今後の送付対象から除外 | 受信側の運用(問い合わせ窓口)も合わせて用意 |
SMS本文の設計(短く、誤解なく、迷わせない)
SMSは短文で、かつ不審SMSと思われない配慮が必要です。送信元名(差出人)、要件、回答所要時間、期限、配信停止手段を入れるとトラブルが減ります。
| テンプレート例 | 狙い | 補足 |
|---|---|---|
| 【○○店】ご利用アンケート(約1分): {URL} 期限:○/○ 配信停止:STOP | 最小要素で誤解を減らす | 店舗名を入れると「誰から来たSMSか」が伝わりやすい |
| ご来店ありがとうございました。満足度アンケートにご協力ください: {URL}(1分) | お礼+目的の明確化 | 個人名を入れない方が個人情報漏えいリスクは下がる |
| 【重要】サポート対応の品質向上のため回答お願いします: {URL} / 停止:STOP | 回答率を上げたい | 「重要」を乱用すると逆効果。内容に見合う場合のみ |
この構成で“電話番号ごとのユニークリンク”と“一元集計”を両立できる理由
Customer Voice側で招待を発行し、その招待に紐付いたリンクをSMSで配ることで、「誰に送ったか」→「そのリンクの回答」という関係が最初からデータとしてつながります。Formsのように「同じURLを皆に配って、あとで何とかする」ではなく、配る段階で追跡が成立します。そのため、以下が運用で回せるようになります。
- 未回答者だけに絞ったリマインド
- 店舗別・担当別など、送付元の属性と回答の集計
- 送信失敗(番号不備、キャリア拒否)をログから洗い出し、データ品質を改善
セキュリティ・個人情報・コンプライアンスで押さえるポイント
SMS配信とアンケートを組み合わせると、電話番号という個人情報を扱うことになります。さらに「ユニークリンクで識別したい」という要件は、裏を返せば“回答が誰のものか分かり得る”設計です。社内ルールや契約上の制約がある場合は、システム設計の前に確認しておきましょう。
| 論点 | リスク | 実務的な対策 |
|---|---|---|
| リンクの転送 | 本人以外が回答できる | 回答を個人の評価に使う場合は、SMSだけに頼らず追加認証(ワンタイムコード等)を検討 |
| URLに個人情報を含める | SMS転送・ログで漏えい | 電話番号そのものをURLに入れず、ランダムトークン+サーバ側で対応付ける |
| 同意(オプトイン/オプトアウト) | 苦情、法令・ガイドライン違反 | 同意取得の記録、配信停止方法の明記、停止処理を自動化 |
| データ保管期間 | 不要な個人情報の長期保管 | 集計に必要な期間を定め、期限後は匿名化/削除する運用を決める |
| 自由記述の個人情報 | 回答者が名前等を書いてしまう | 設問文で「個人情報は記載しないでください」と明記し、必要ならモデレーションを行う |
費用感と運用負荷を見積もるチェックリスト
「Formsで十分だと思ったが、追跡やリマインドまでやろうとして泥沼化した」というケースは少なくありません。最初に以下をチェックして、どの解が費用対効果に合うかを判断するとスムーズです。
- 月に何通のSMSを送るか:SMSは従量課金が多く、配信量が増えるほど差が出る
- 未回答者へのリマインドが必要か:必要なら“受信者管理”が重要になる
- 回答の本人性が重要か:重要なら追加認証や契約上の本人確認が必要
- 集計の粒度:店舗別/担当別/施策別など、回答を属性で切りたいなら顧客データ連携が必要
- 運用の担当者:手作業をどこまで許容できるか(送付、再送、問い合わせ対応)
| 観点 | Forms + 共有リンク | Forms + 擬似ユニーク | Customer Voice + 自動化 |
|---|---|---|---|
| 初期導入 | 最速 | 中(フロー/ログが必要) | 中〜大(ライセンス/設計が必要) |
| 追跡の確実性 | 低 | 中 | 高 |
| リマインド運用 | 手作業になりやすい | 半自動にできる | 自動化しやすい |
| スケール(大量配信) | 配信は可、分析が辛い | 設計次第 | 比較的強い |
| おすすめの規模感 | 小規模〜試験運用 | 中規模(ある程度の管理が必要) | 中〜大規模(継続施策として回す) |
よくある質問
Formsに電話番号を入力させれば「電話番号別集計」になる?
フォーム内で電話番号を入力してもらえば、後から集計や突合はできます。ただし、入力ミスや記入拒否が起きやすく、個人情報を追加で収集することにもなります。「識別のために必要最小限の情報だけを扱う」という観点では、電話番号そのものを収集するより、受付コードなどの内部IDで紐付ける方が安全です。
ユニークリンクなら、転送されても問題ない?
ユニークリンクは「リンクを知っている人が回答できる」仕組みであることが多く、転送されれば第三者が回答できる可能性は残ります。本人性が重要な場合は、リンクだけに頼らず、ワンタイムコード入力や追加質問、ログインなどの追加対策を組み合わせてください。
SMSのURLが長くて見栄えが悪い
長いURLはクリック率に影響します。短縮URLを使う方法もありますが、短縮サービスの信頼性やログに個人情報が残るリスクに注意が必要です。運用としては、自社ドメインの短縮(リダイレクト)を用意できると、セキュリティと見栄えの両面で有利です。
重複回答を防ぎたい
社外ユーザーの匿名回答では、完全な重複防止は難しいのが現実です。実務では、(1)ユニーク招待を使う、(2)回答期限を短くする、(3)回答完了後に再回答しないよう案内する、(4)受付コードで重複を検知して除外する、といった複合策が現実的です。
回答結果をPower BIで見たい
FormsでもExcelへエクスポートしてPower BIで可視化できますが、更新の自動化や顧客属性との結合まで考えると、Dataverseなどのデータ基盤に寄せた方が楽になります。Customer Voiceを採用する場合は、最初から「分析に使うキー(店舗、担当、顧客区分)」をどこで持つかを設計しておくと、後工程の手戻りが減ります。
まとめ:追跡が必要なら“アンケート作成ツール”の外に出るのが近道
Microsoft Formsは手軽で強力ですが、「SMS一斉送信」と「電話番号ごとのユニークリンク発行・追跡」という配信/招待管理の領域は得意分野ではありません。まずは共有リンク+SMSで小さく始め、追跡やリマインドが施策として重要になってきた段階で、Customer Voice+Power Automate+SMSサービスのような構成へ移行するのが、コストと運用のバランスを取りやすい進め方です。

コメント