2015/7/29 Wed

デジタルマーケターのためのプログラミング入門講座:1

TAG:

川畑 雄補

株式会社サイバーエージェント インターネット広告事業本部 クリエイティブソリューション局WEBコンサルティンググループ シニアコンサルタント

2011年、株式会社サイバーエージェントへ入社。スマートフォンアプリを中心とした、マーケティングメディアの立ち上げを行う。 その後、コミュニティーサービス、ソーシャ ルゲームの開発ディレクターを経て、2014年より当社インターネット広告事業本部にて、アドテクノロジーと企業の現場を結びつけるサイトコンサルティング領域を担当。 サイバーエージェント入社以前は、サーバエンジニア、iPhoneエンジニアを経験した後、スマートフォンのマーケティング支援やコンサルティング業務を手掛ける。 主な著書は『ヒットするiPhoneアプリの作り方・売り方・育て方』(マイナビ刊)ほか。

第1回:すべてのマーケターがプログラマになる日

初めまして、クリエイティブソリューション局の川畑と申します。
普段はお客様のWebサイト運営を中心としたデジタルマーケティング戦略のお手伝いをさせていただいておりますが、私はその中でもシステム領域に特化し、マーケティング技術とお客様のビジネスをつなぐ部分を担当しております。

本コラムでは、いわゆる“プログラマ”ではない普通のマーケターが、変化の激しいデジタルマーケティング時代を乗りこなすためのプログラミングスキルについて、全6回の実践的な講座形式で解説したいと思います。

第1回の本講座では、いわゆる皆さんがイメージされる“プログラミング”ではなく、これからの時代のマーケターにとって、“必須スキル”といえる、広い意味での「プログラミング能力とは何か?また、どのようにして身につけるのか?」という内容についてお話します。

100箇所の「場所」ではなく、100万通りの「人」

まずはじめに、現在のデジタルマーケティング環境をおさらいし、なぜプログラミングがマーケターにとって必須のスキルとなるのか?世の中の流れを見ていきましょう。

ほんの7年ほど前の2008年頃から、その流れは大きく変わりはじめました。facebookが5月に日本語版をローンチし、ソフトバンクからiPhone 3Gが7月に発売されました。マルチデバイス時代、ソーシャル時代の幕開けです。

以前の藤本と日好の対談コラムでもあったように、「広告」は「個告」へ、「枠」から「人」へといったフレーズが叫ばれるようになりました。いままでひとつひとつ相手にしていた「広告の媒体」から、何百万人の「人」に向き合おう、という時代になったのです。

そのような時代のマーケターは、キャンペーン企画を立案したりユーザーのインサイトを検証するかのごとく、プログラミング思考を使ってネットワークの向こうにいる「人」に辿り着くことが必要です。

“100箇所に広告を出す”という作業は、すごく頑張ればもしかしたら出来るかもしれません。しかし、“100万人に最適なメッセージを伝える”ということは、ひとりの人間で相手に出来る量を超えています。

プログラミング思考の使い方

それでは、プログラミングの考え方を利用し、100万人の中からクーポン配信を行い新製品のお得さを訴求したい人を2,500人選び出してみましょう。

•メルマガ購読者である(100万人中40万人)
•新製品Aのページにまだ訪れていない(40万人中12万人)
•30代(12万人中4万人)
•男性(4万人中2万人)
•レジャーに興味がある(2万人中3,000人)
•メルマガ会員になってから1週間以上経過している(3,000人中2,500人)


このような条件に基づき、100万人のうち2500人に最適なメッセージを伝えることができました。日本語で書くと簡単かもしれません。
しかし次のように書くとどうでしょう。

if( user.mailAddress!=null
&& access.pageFlag.specialA=false
&& user.age >= 30 && user.age < 40
&& user.gender = 1
&& interest = “Leisure”
&& user.registerDate > today() - 7 )

いきなり英語になって拒否反応が出てしまった方、すみません。
重要なのはこの書き方ではありません。一度プログラミングを経験してみると、上のようなことを書くときに、以下のような壁にぶつかります。

「会員か否か、どのようにしたら判別できるのだろうか?」
そこで、データベース部門に尋ねてみます。

あなた「会員かどうかを判断したいんだけど、どうすればいいかな?」

部門担当「メールアドレスがあるか否かで調べたらいいと思います。注文時に会員登録をしたユーザーだけが、メールアドレスを持っているんです。」

つまり、ここにおける「会員」という言葉は、プログラミング思考では「注文履歴があり、メールアドレスを登録した人」と言い換えることができます。もしかすると、メルマガ許可にチェックを入れたかどうかも後で確認した方がいいかもしれませんね。

このように、デジタルマーケティングが一人ひとりに寄り添う時代には、プログラミング思考を使って「どのような人なのか?」を深堀りしていく能力が必要となり、またそのためには、簡単で実用的なプログラミングを経験することが手っ取り早い(そして日々の作業も少し便利になる!)というのが本連載の目指すところになります。

プログラマー不要論?

一方で、エンジニア業界では何年かに一度「プログラマー不要論」の話題が出てきます。昨年も富士通さんがそのような製品をリリースし業界の話題になりました。

実はプログラミングを取り巻く環境もここ数年で大きな変化を遂げています。私がプログラマーとしてのキャリアをスタートさせた頃は、Java(ジャバ)という言語と、Oracle(オラクル)というデータベースをマスターすれば一生食いっぱぐれしないと言われていました。

しかし、いま当社のAmebaエンジニアは、Javaだけでなくgoやnodejsといった言語、CassandraやMongoDB、MySQLといったデータベースなど、一般人からしたら読み方すらわからないような数十種類の技術を利用してWebサービスを構築しています。
※ひとつひとつの技術の名前は覚えなくて大丈夫です

なぜこのようにたくさんの技術が増えたのでしょうか。それは進化によって、より特定の利用目的にうまく対応しようとしているからだと私は考えます。

たとえば、NoSQL(ノーエスキューエル)とよばれるデータベースは、上に挙げたOracleなどのリレーショナルデータベースと呼ばれる仕組みに比べ、単純なデータの取得速度が低コストで速いかわりに、複雑に絡み合ったデータが扱いにくいなどの特徴があります。
ゲームの得点など、多くの人からの問い合わせに対して、少ないサーバ台数で対応するにはNoSQLが適している。と言った利用目的への対応です。

逆に、性能ではなくプログラミング能力があまり必要としない方向に進化するものもあります。当社のグループ会社であるCA TechKidsでは、小学生が短期間でゲームを開発するのに、多くの操作をマウスで作ることができるScratch(スクラッチ)やGameSalad(ゲームサラダ)というプログラミング環境を利用し、夏休みの期間でオリジナルゲームをつくり上げることができます。

つまり、“プログラミング”といっても、現在は裾野がかなり広がっており、専用のソフトをインストールしなくても、プログラミングの専門学校に通わなくても、自在に扱える時代になっているということなのです。

これは広告の世界においても同様なことが言えます。当社のマーケターはYahoo!やGoogleのタグマネージャサービスの上でちょっとした配信コードを書いたり、CRMのシナリオ策定をするために管理画面上でマウスを主に利用したプログラミングのような設定作業を行ったりします。

もちろん、ゲームエンジンや広告配信のような0.001秒を争う高度な環境もまだまだたくさんありますので、プログラマーが不要になることはありません。ですが、今までプログラマーと呼ばれなかった普通の人が、“プログラマーのようなこと”を駆使して、やりたいことを実現していくことが普通の世の中になっています。

はじめの一歩

デジタルマーケティング環境の「個告」化とプログラミング環境の敷居が下がったことがご理解いただけたところで、それでは、はじめの第一歩を踏み出してみましょう。
今回の連載では、題材としてGoogle Apps Script(グーグルアップススクリプト)を用いてみます。

Google Apps Scriptとは、主にGoogleが提供するWeb上のプログラミング環境で、Spreadsheetと呼ばれるオンライン表計算や、Gmailを操作することが可能です。しかも、専用のソフトをインストールせずに動かすことができるので、まさに入門に最適といえるでしょう。

必要な物はGoogleアカウントだけとなります。まだ持っていない人は取得したうえで、下のリンクにアクセスしてみましょう。

https://docs.google.com/spreadsheets/create

無事に画面が表示されましたか?それでは左上の「無題スプレッドシート」をクリックして「プログラミング入門1」と名づけましょう。
そして、上部メニューの「ツール」から「スクリプトエディタ」を開くともうプログラミングを始めることが出来ます。「空のプロジェクト」あるいはチュートリアルを閉じると以下の文字がすでに入力されていると思います。
function myFunction() {

}

これを、
コピーペ―ストで結構ですので、下記のように書き換えてみましょう。

function myFunction() {
SpreadsheetApp.getActiveSheet().getRange("B2").setValue("プログラミング!");
}



書き換えたら、上の再生ボタンを押してみましょう。
初回は保存するように指示されたり、実行の承認を求められますが、適当な名前をつけてもう一度再生ボタンを押し、承認を行うと実行されます。

おそらく、何の反応もないと思いますが、最初に開いたスプレッドシートの画面に戻ってください。B2の位置に「プログラミング!」と書き込まれていると思います。

ここまでできれば、もうあなたはプログラマーの一員です。本コラム講座は制したようなものです。もしうまくいかない場合は、エラー内容やスクリーンショットを、当事業部のお問い合わせ先にご質問ください。

宛先:Honbu_pub@cyberagent.co.jp
件名:【コラム】デジタルマーケターのためのプログラミング入門講座


本日のおさらい

•デジタルマーケティングが複雑化し、プログラムの力を借りないと効率的なマーケティング活動が実行できない時代になってきている。
•プログラミング環境も進化し、管理画面でちょっとしたプログラムを書くだけで高度なことができるような、「ノンプログラマーのためのプログラム環境」も充実してきた。
•マーケティングに関わる皆さんがちょっとした便利なツールの制作を通して、プログラミングの考え方を学ぶと、デジタルマーケティングの実行イメージがより明確になって正しい戦略を落としこんでいけるようになるでしょう。

【デジタルマーケターのためのプログラミング入門講座】(全3回)
第2回:「実際に役立つものをプログラムしてみよう!」
第3回:「プログラミングは試行錯誤がお得」
関連記事

TAG LIST