開発費0円!Shopify×メルマガ連携のCSV振り分け・文字化け対策をGASとAIで完全自動化した手順
1. Shopify受注増加に伴うバックオフィス課題:手作業による顧客データ加工の限界
ECサイトでの注文が増え、顧客データの獲得数が増加することは事業にとって望ましい成果です。しかし、その裏側で顧客データの後処理やマーケティング施策への移行において、バックオフィス業務の負担が急増するという問題が顕在化することが少なくありません。
私たちの会社ではその1例として、Shopifyで獲得した顧客情報をメルマガクラウドサービスへ登録・連携する業務において、手作業による複雑なデータ加工が発生し、深刻な対応遅延を引き起こしていました。
従来の運用で発生していた3つのデータ加工の負荷
Shopifyからエクスポートされる顧客データと、送信先であるメルマガクラウドサービスの受け取り仕様には大きな乖離がありました。そのため、担当者は毎回ShopifyからダウンロードしたCSVファイルを開き、以下の手作業を実施しなければなりませんでした。
1. 条件判定による目視でのデータ分割
顧客データ1件ごとに「会社名が入力されているか(法人か個人か)」と「メルマガ購読を希望しているか(yesかnoか)」を目視で判別していました。属性や購読意思に応じて複数の登録用ファイルへと手動でデータを振り分ける必要があり、顧客数が増えるほどチェックに莫大な時間がかかっていました。
2. フォームの仕様に合わせた列の組み換え
メルマガクラウドサービス側では、対象顧客(法人・個人)や購読状況に合わせて複数の登録フォームが用意されていました。フォームごとに指定されている必要項目や列の並び順が異なるため、Excelなどの表計算ソフトを使って不要な列を削除し、指定された順番へ手動で列を入れ替えて保存する作業が発生していました。
3. 文字コードの違いによる「文字化け」の修正
Shopifyから出力されるCSVファイルの標準文字コードは「UTF-8」です。一方で、利用しているメルマガクラウドサービスのインポート仕様は「Shift-JIS」でした。文字コードを変換せずにそのままアップロードすると、登録された顧客名や会社名がすべて文字化けしてしまいます。これを防ぐため、担当者はCSVファイルをテキストエディタや表計算ソフトで開き直し、文字コードを「Shift-JIS」に明示的に変換して保存し直すという手順を踏んでいました。
バックオフィス業務の遅延がもたらすリスク
受注数が少なかった初期段階では、これらの手動加工も数分から数十分程度で完了していました。しかし、受注数の増加に伴いデータ件数が数倍に膨らむと、データ加工処理だけで毎日の業務時間が圧迫される状態となりました。
結果として、以下のようなリスクや弊害が生じることになります。
データ加工の完了が遅れることで、購入直後の顧客に対してタイムリーなメルマガ配信やフォローアップができない。
手作業によるデータのコピー&ペーストミスや、切り取り・貼り付けの位置ズレ、振り分け漏れが発生する。
文字コードの変換漏れにより、文字化けした状態でメルマガクラウドサービスへデータが登録されてしまう。
こうしたバックオフィス業務のボトルネックを解消するため、有料の外部連携サービスや高額なシステム開発に頼るのではなく、標準的なクラウドツールである「Google Apps Script(GAS)」と「Googleドライブ」を活用して、データ処理を完全自動化するプロジェクトを導入しました。
2. 自動化システムの全体像とGoogleドライブのフォルダ設計
本システムは、特別な有料システムを追加することなく、Googleが提供している無料のスクリプト環境「Google Apps Script(GAS)」と「Googleドライブ」のみで構成されています。
作業担当者は、Shopifyからエクスポートした顧客データ(CSVファイル)をGoogleドライブの特定の場所へ配置するだけです。ファイルが置かれたことをシステムが自動的に検知し、裏側でデータの抽出、属性判定、列の組み換え、文字コード変換、ファイル出力までを数分で完結させます。
業務を支える3つのフォルダ構成とその役割
システムの導入にあたり、Googleドライブ上には「入力」「出力」「保管」の役割を明確に分けた3つの専用フォルダを設置しました。
01データ入れる フォルダ Shopifyからエクスポートした生のCSVファイルを投入する専用のフォルダです。担当者はこのフォルダにファイルをドラッグ&ドロップするだけで、その後の作業から完全に解放されます。
02データ出る フォルダ システムが読み込み・自動加工・振り分けを完了させた後、メルマガクラウドサービスへ直接インポートできる形式に変換されたCSVファイルが出力されるフォルダです。用途別にファイルが切り分けられて生成されます。
03アーカイブ フォルダ 処理が正常に完了した元のShopify CSVファイルが、システムによって自動的に移動・保管されるフォルダです。この移動処理を行うことで、「01データ入れる」フォルダの中身は常に空になり、同じファイルを二重に処理してしまう事故を防ぎます。また、過去の元データのバックアップとしてもそのまま機能します。
5分おきの自動監視を実行する仕組み
システムの運用にあたっては、GASに用意されている「時間主導型トリガー」という機能を設定しています。この設定により、システムが5分おきに「01データ入れる」フォルダの中に新しいCSVファイルが投入されていないかを自動で監視します。
新しいファイルが確認された場合のみプログラムが起動して処理を開始するため、担当者がスクリプトの実行ボタンを押したり、プログラムの画面を開いたりする必要は一切ありません。ファイルを入れるだけで自動的に処理が進む設計となっています。
3. 自動的に実行されるデータ処理・変換の仕様詳細
Googleドライブに投入された顧客CSVデータに対して、システム内部で自動的に行われる「条件判定」「列整理」「文字コード変換」の具体的なロジックについて解説します。
① ターゲット属性の自動振り分けロジック
システムはShopifyの顧客データ内の「会社名(Company)」項目に値が入っているかどうか、および「メルマガ購読(Accepts Marketing)」の値が「yes」か「no」かを自動判別し、以下の3つのパターンに自動分割して別々のファイルとして出力します。
法人 × メルマガあり のデータ 会社名の入力があり、かつメルマガ購読が「yes」の顧客データです。これはメルマガクラウドサービス内の「オレンジフォーム用」として分類され、専用のCSVファイルとして出力されます。
法人 × メルマガなし のデータ 会社名の入力があり、かつメルマガ購読が「no」の顧客データです。これはメルマガクラウドサービス内の「ピンクフォーム用」として分類され、専用のCSVファイルとして出力されます。
個人 × メルマガあり のデータ 会社名の入力がなく(空欄)、かつメルマガ購読が「yes」の顧客データです。これはメルマガクラウドサービス内の「ブラウンフォーム用」として分類され、専用のCSVファイルとして出力されます。
個人 × メルマガなし のデータ 会社名の入力がなく、かつメルマガ購読が「no」の顧客データについては、メルマガクラウドサービスへの登録自体が不要なデータであるため、システムが自動的に除外対象として判断し、ファイル出力を行いません。
② 登録フォームに応じた列の最適化(再配列)
個人と法人では、メルマガクラウドサービス側で必要とされる入力項目が異なります。Shopifyから出力される不要な項目(住所や購入回数、注文IDなど数十項目)を自動的に削ぎ落とし、必要な項目だけを正しい順番に並び替えて出力します。
法人用フォーマット(オレンジフォーム・ピンクフォーム用) 出力される列は「法人名」「姓」「名」「メールアドレス」の4項目のみとなり、指定された並び順で正確に抽出されます。
個人用フォーマット(ブラウンフォーム用) 出力される列は「姓」「名」「メールアドレス」の3項目のみとなり、法人名を含まない形式で抽出されます。
③ 文字コードの自動変換処理(文字化けの完全防止)
Shopifyからエクスポートされた元のデータは文字コードが「UTF-8」形式となっています。システムは、抽出・加工したテキストデータをファイルとして出力する直前で、メルマガクラウドサービスが指定する文字コードである「Shift-JIS」に自動変換します。
これにより、受け取り側のシステムへ取り込んだ際に発生する文字化けやインポートエラーを未然に、かつ完全に防ぐことができます。
4. プログラミング不要!AIにプロンプトを入力してコードを作成する方法
このような高度な自動化システムを聞くと、「自社にはプログラミングができるエンジニアがいないから構築できない」と感じるかもしれません。しかし、現在では生成AI(ChatGPTやGeminiなど)を活用することで、自らプログラムコードを一行も書かずに、完全な自動化スクリプトを作成することができます。
実際に、今回の事例では全てGeminiを使ってコードを作成しました。今回のシステムを構築する際、Geminiに対して与えたプロンプト(指示文)の具体的な内容と、それを活用した実践手順を公開します。同じ課題を抱えている方は、以下のプロンプトをそのままAIに入力してプログラムを生成させてください。
AIに与えた自動化プログラム生成プロンプト
AIに正確なプログラムを作成させるためには、「目的」「環境」「入力条件」「出力条件」「例外処理」を明確に提示することが重要です。以下の文章を生成AIに入力することで、必要なGoogle Apps Script(GAS)コードが一発で生成されます。
【目的】
Shopifyからエクスポートした顧客CSVデータを読み込み、条件に応じてデータを振り分け・加工し、メルマガクラウドサービス登録用のShift-JIS形式のCSVファイルとしてGoogleドライブに出力するGoogle Apps Script(GAS)を作成してください。
【実行環境とフォルダ構成】
Googleドライブ上に以下の3つのフォルダを作成して運用します。コード内にフォルダIDを設定できるようにしてください。
1. 投入フォルダ(ID: FOLDER_IN_ID):ShopifyからダウンロードしたCSVを配置する場所
2. 出力フォルダ(ID: FOLDER_OUT_ID):変換後のCSVを出力する場所
3. アーカイブフォルダ(ID: FOLDER_ARC_ID):処理完了後の元ファイルを移動する場所
【処理の流れ】
1. 「投入フォルダ」内にあるCSVファイルを読み込みます。ファイルがない場合は処理を終了します。
2. CSVファイルのヘッダー行を確認し、以下の列のデータを取得します。
- 会社名:ヘッダー名「Company」
- 姓:ヘッダー名「Last Name」
- 名:ヘッダー名「First Name」
- メールアドレス:ヘッダー名「Email」
- メルマガ購読:ヘッダー名「Accepts Marketing」(値が "yes" または "true" の場合は購読ありと判断)
3. 取得したデータを1行ずつ判定し、以下の4パターンに振り分けます。
①「会社名あり」かつ「メルマガ購読あり」 → 出力データ1に追加。出力項目は [会社名, 姓, 名, メールアドレス] の4列。
②「会社名あり」かつ「メルマガ購読なし」 → 出力データ2に追加。出力項目は [会社名, 姓, 名, メールアドレス] の4列。
③「会社名なし」かつ「メルマガ購読あり」 → 出力データ3に追加。出力項目は [姓, 名, メールアドレス] の3列。
④「会社名なし」かつ「メルマガ購読なし」 → 登録不要のため除外(スキップ)。
4. 抽出されたデータが存在する場合、以下のファイル名で「出力フォルダ」に保存してください。
- 出力データ1:orange_年月日時分.csv
- 出力データ2:pink_年月日時分.csv
- 出力データ3:brown_年月日時分.csv
※重要:メルマガクラウドサービス側の仕様に合わせ、出力するCSVファイルの文字コードは必ず「Shift-JIS」に変換して保存してください。改行コードはCRLFとします。
5. 処理が正常に完了した元のShopify CSVファイルを「アーカイブフォルダ」へ移動させてください。
6. 5分おきの時間主導型トリガーで自動実行できる関数構造にしてください。
AIが生成したプログラムをシステムにセットする実践手順
AIによってプログラムが生成されたら、以下の手順に従ってご自身の環境にセットアップを行います。専門的な知識がなくても、指定の場所へ貼り付けてボタンを押すだけで完了します。
ステップ1:Googleドライブの準備
Googleドライブにアクセスし、「Shopifyデータ処理」などの作業用親フォルダを作成します。その中に「01データ入れる」「02データ出る」「03アーカイブ」という3つのフォルダを作成してください。それぞれのフォルダを開いた際、ブラウザのURLバーの末尾に表示される英数字(folders/ の後ろの文字列)がフォルダIDとなりますので、これをメモしておきます。
ステップ2:GASエディタの起動とコードの貼り付け
Googleスプレッドシートを新規で作成し、上部メニューの「拡張機能」から「Apps Script」を選択してエディタ画面を開きます。元から入っているテキストを削除し、AIが生成してくれたコードをそのまま全選択して貼り付けます。コードの冒頭部分にあるフォルダIDの指定部分(FOLDER_IN_ID など)を、ステップ1でメモした実際のIDに書き換えます。
ステップ3:5分おきの自動実行トリガーを設定する
エディタの画面左側にあるメニューアイコンから「トリガー(時計のマーク)」をクリックします。画面右下にある「トリガーを追加」ボタンを押し、実行する関数を選択したうえで、イベントの源を「時間主導型」、時間型トリガーのタイプを「分ベースのタイマー」、時間の間隔を「5分おき」に設定して保存します。アカウントのアクセス権限承認を求められた場合は、画面の指示に従って許可を出します。
これで、手動での作業を一切必要としない自動化システムの構築が完了します。
5. システム導入によって得られた具体的な成果
本システムの導入により、Shopifyの受注急増に伴うバックオフィス業務の課題はすべて解決されました。導入後に得られた主な成果は以下の通りです。
手動作業の完全撤廃による工数「0分」の実現
これまで担当者が毎作業時に15分〜30分以上かけて行っていた「目視でのデータ抽出」「切り分け」「Excelでの列並び替え」「Shift-JISへの変換保存」という一連の手作業がすべて不要となりました。
ファイルを専用フォルダに投入するだけの数秒の操作で完了するため、データ加工の実質的な手動工数は「0分」へと大幅に削減されました。
ヒューマンエラーと文字化けトラブルの根絶
人間が目作業で行う以上、どれほど注意を払っていても避けられなかった「コピー&ペーストの位置ズレ」「振り分け条件の見落とし」「文字コードの変換忘れ」といったヒューマンエラーが完全にゼロになりました。
常に100%正確なロジックでデータが抽出・整形・変換されるため、文字化けしたデータがメルマガクラウドサービスへ登録されるといったトラブルも発生しなくなりました。
バックオフィスのボトルネック解消による顧客対応のスピード化
手作業時代は、データ加工に時間がかかるため「受注が溜まってからまとめて週に数回処理する」といった運用になりがちでした。
システム化後は、ファイルを入れてからわずか数分で登録用CSVが自動生成されるため、獲得した新規顧客に対するサンクスメールやメルマガ施策をタイムラグなく即座に開始できるようになりました。バックオフィスの遅延が営業・マーケティングの足かせとなる状態を脱却することができました。
6. 同じ課題を自社で解決するためのステップ
今回ご紹介した事例は、Shopifyとメルマガクラウドサービスの連携を対象としたものでしたが、このアプローチは「別々のクラウドツール間でデータ形式や仕様が合わず、手作業でCSVを加工している」すべての現場に応用が可能です。
自社で同様の業務改善・スモールDXを推進したいと考えている方は、以下のステップで進めることをおすすめします。
1. 手動で行っている「変換ルール」を書き出す
システム化の第一歩は、現在担当者が頭の中やマニュアルで行っている加工手順を言語化することです。「どの項目の値を見るか」「どの列を残すか」「文字コードは何か」といったルールを箇条書きで整理します。
2. AIプロンプトを作成してプログラム化する
書き出したルールをそのままAIへの指示文(プロンプト)に流し込みます。プログラミング言語を学ぶ必要はありません。「入力データ」「判断条件」「出力形式」をAIに正しく伝えることができれば、高精度なプログラムを数分で作成できます。
3. 小さくテストして徐々に自動化範囲を広げる
最初からすべての業務を自動化しようとせず、まずは「1つのCSVファイルの列を並べ替えるだけ」といった小さな処理からテストを行ってください。正しく動くことが確認できたら、フォルダの監視や自動移動、定期実行トリガーといった仕組みを組み合わせて完全自動化を目指します。
身近なクラウドツールとAIを組み合わせることで、予算をかけずに現場の「困りごと」を直接解決するDXを実現することができます。ぜひ本記事のプロンプトと手順を参考に、自社の業務効率化に取り組んでみてください。
お問い合わせはこちらから
ユアサ クラウドベースDX支援サービス
