GAS String.splitで顧客データを自在に操る!マーケター向け活用術

GAS String.splitで顧客データを自在に操る!マーケター向け活用術

マーケティング担当者の皆さん、顧客データの管理や分析で苦労していませんか?特に、複数の情報が1つの文字列に結合されているデータを扱うのは大変です。そこで役立つのがGoogle Apps Script(GAS)のString.split()関数です。この記事では、String.split()関数を使って顧客データを効率的に処理し、マーケティング活動を加速させる方法を解説します。

String.split()関数の基本

String.split()関数は、文字列を指定された区切り文字で分割し、配列として返します。この関数を使いこなすことで、顧客データに含まれる様々な情報を簡単に取り出すことができます。

構文

string.split(separator, limit)

  • separator:文字列を分割するための区切り文字。
  • limit:分割する最大数(省略可能)。

基本的な使い方

function splitStringExample() {
const data = "名前,メールアドレス,電話番号";
const splitData = data.split(",");
Logger.log(splitData); // 出力:[ '名前', 'メールアドレス', '電話番号' ]
}

マーケティングでの実装方法

マーケティングの現場では、顧客データを様々な形で管理しています。ここでは、String.split()関数が役立つ具体的なシチュエーションとコード例を紹介します。

1. 顧客データの分割と抽出

顧客データがCSV形式で保存されている場合、各行のデータをString.split()関数で分割し、必要な情報(名前、メールアドレス、購入履歴など)を抽出できます。

function extractCustomerData() {
const csvData = "山田太郎,taro.yamada@example.com,090-1234-5678\n田中花子,hanako.tanaka@example.com,080-9876-5432";
const rows = csvData.split("\n");

for (let i = 0; i < rows.length; i++) {
const row = rows[i];
const customerData = row.split(",");
const name = customerData[0];
const email = customerData[1];
const phone = customerData[2];
Logger.log("名前:" + name + ", メールアドレス:" + email + ", 電話番号:" + phone);
}
}

2. キャンペーンデータの分析

キャンペーンのログデータ(例:クリック日時,ユーザーID,広告ID)をString.split()関数で分割し、どの広告が効果的か、どのユーザーが反応しやすいかを分析できます。

function analyzeCampaignData() {
const campaignLog = "2024-10-27 10:00:00,user123,ad001\n2024-10-27 10:05:00,user456,ad002\n2024-10-27 10:10:00,user123,ad002";
const logs = campaignLog.split("\n");

let userAdClicks = {};

for (let i = 0; i < logs.length; i++) {
const log = logs[i];
const logData = log.split(",");
const userId = logData[1];
const adId = logData[2];

if (!userAdClicks[userId]) {
userAdClicks[userId] = {};
}
if (!userAdClicks[userId][adId]) {
userAdClicks[userId][adId] = 0;
}
userAdClicks[userId][adId]++;
}

Logger.log(userAdClicks);
// 例:{ user123: { ad001: 1, ad002: 1 }, user456: { ad002: 1 } }
}

3. 顧客セグメントの抽出

顧客の属性情報(例:年齢,性別,居住地)がカンマ区切りで保存されている場合、String.split()関数で分割し、特定のセグメント(例:20代女性)の顧客を抽出できます。

function segmentCustomers() {
const customerInfo = "25,女性,東京\n30,男性,大阪\n22,女性,神奈川";
const customers = customerInfo.split("\n");

const femaleTwenties = [];
for (let i = 0; i < customers.length; i++) {
const customer = customers[i].split(",");
const age = parseInt(customer[0]);
const gender = customer[1];
const location = customer[2];

if (age >= 20 && age < 30 && gender === "女性") {
femaleTwenties.push(customer);
}
}

Logger.log(femaleTwenties); // 例:[ [ '25', '女性', '東京' ], [ '22', '女性', '神奈川' ] ]
}

よくある問題とトラブルシューティング

1. 区切り文字がデータに含まれている場合

データ自体に区切り文字が含まれている場合、予期せぬ分割が発生することがあります。この場合は、別の区切り文字を使用するか、正規表現を使ってより複雑な分割処理を行う必要があります。

2. 空のデータがある場合

分割後の配列に空の文字列が含まれることがあります。これは、区切り文字が連続している場合に発生します。filter()メソッドを使って空の文字列を取り除くことができます。

function removeEmptyValues() {
const data = "名前,,メールアドレス";
const splitData = data.split(",").filter(String);
Logger.log(splitData); // 出力:[ '名前', 'メールアドレス' ]
}

カスタマイズ方法と応用例

1. 正規表現を使った分割

より複雑な区切り文字やパターンで分割したい場合は、正規表現を使用できます。例えば、複数の区切り文字(スペース、カンマ、セミコロンなど)で分割する場合に便利です。

function splitWithRegex() {
const data = "名前 , メールアドレス;電話番号 住所";
const splitData = data.split(/[\s,;]+/);
Logger.log(splitData); // 出力:[ '名前', 'メールアドレス', '電話番号', '住所' ]
}

2. limit引数の活用

limit引数を使うことで、分割する最大数を指定できます。これは、特定の情報を抽出する際に役立ちます。

function splitWithLimit() {
const data = "名前,メールアドレス,電話番号,住所";
const splitData = data.split(",", 2);
Logger.log(splitData); // 出力:[ '名前', 'メールアドレス' ]
}

まとめ

String.split()関数は、GASを使って顧客データを効率的に処理するための強力なツールです。この記事で紹介したコード例を参考に、ぜひマーケティング活動に役立ててください。顧客データの分割、キャンペーンデータの分析、顧客セグメントの抽出など、様々な場面でString.split()関数を活用し、データドリブンなマーケティングを実現しましょう。

PR

CodeCampは、現役エンジニアからマンツーマンで学べるオンラインプログラミングスクールです。WebデザインやWebサービス開発、転職支援など、目的に合わせた多様なコースが選べます。
朝7時〜夜23時40分まで、365日レッスンが受けられるため、忙しい方でも自分のペースで学習を進めることが可能です。通過率8%の厳しい選考を通過した質の高い講師陣が、あなたのキャリアチェンジを強力にサポートします。
さらに、未経験者向けのカリキュラムや、学習開始から20日以内の全額返金保証制度もあるため、プログラミング学習に不安を感じている方でも安心して始めることができます。

CodeCampで理想の働き方を実現しよう