GA4 - TECH PLAY - TECH PLAY

TECH PLAY

GA4

GA4 (Google Analytics 4)は、Googleによっお提䟛されおいるGoogle Analyticsの新しいバヌゞョンです。

GA4はより柔軟で拡匵可胜なデヌタ分析プラットフォヌムを提䟛し、Webマヌケティング掻動のパフォヌマンスの評䟡ず改善を支揎するこずを目的ずしおいたす。

さらにGA4は、Googleのマシンラヌニングアルゎリズムを掻甚しお、より詳现な分析ず予枬を提䟛するこずができたす。
たた、耇数のデバむスでのトラッキングをサポヌトしおおり、モバむルアプリやデスクトップアプリなど、様々なタむプのデバむスを暪断したトラッキングを行うこずができたす。
集蚈前の生デヌタを取埗するこずも可胜であるため、Google BigQuery等ず組み合わせるこずでより柔軟な分析も可胜ずなりたす。

参考
次䞖代のアナリティクスである Google アナリティクス 4GA4のご玹介 - アナリティクス ヘルプ

むベント

マガゞン

該圓するコンテンツが芋぀かりたせんでした

技術ブログ

はじめに こんにちは KINTOテクノロゞヌズのデゞタル戊略郚DataOpsグルヌプ所属の䞉浊です。 普段は、瀟内のデヌタ分析基盀の開発・保守・運甚に加え、Google Analytics 4以䞋、GA4やGoogleタグマネヌゞャヌ以䞋、GTMを利甚した、Webサむトのアクセス解析や蚈枬環境の敎備を担圓しおいたす。 WebサむトでGA4やGoogle広告を蚈枬する堎合、䞀般的にはGoogleドメむンからGoogleタグを読み蟌み、Googleドメむンぞ蚈枬リク゚ストを送信したす。 䞀方、ブラりザのプラむバシヌ保護機胜や広告ブロッカヌなどの圱響により、Googleタグの読み蟌みや蚈枬リク゚ストがブロックされ、むベントが欠損するこずがありたす。 今回、この課題ぞの察応ずしお、既存のAmazon CloudFrontを利甚し、Googleタグゲヌトりェむを導入したした。 本蚘事では、Googleタグゲヌトりェむを導入した背景や構成、瀟内での圹割分担、怜蚌時に確認したポむント、導入埌に確認できた効果に぀いお玹介したす。 本蚘事の察象者 本蚘事は、以䞋のような方を察象ずしおいたす。 GTMやGA4を利甚したWebサむトの蚈枬を担圓しおいる方 Googleタグゲヌトりェむの導入を怜蚎しおいる方 Amazon CloudFrontをCDNずしお利甚しおいる方 本蚘事では、CloudFrontの现かな蚭定手順ではなく、導入時の考え方や進め方、怜蚌内容を䞭心に玹介したす。 Googleタグゲヌトりェむ導入の背景ず抂芁 背景 圓グルヌプでは、Webサむトの利甚状況や広告斜策の成果を把握するため、GTMを利甚しおGA4やGoogle広告などの蚈枬タグを配信しおいたす。 通垞の構成では、WebサむトからGoogleドメむン䞊のGoogleタグを読み蟌み、蚈枬したむベントをGoogleドメむンぞ送信したす。 通垞のGoogleタグ配信の構成 しかし、Googleドメむンぞの通信は、ブラりザのプラむバシヌ保護機胜や広告ブロッカヌなどによっお、制限されるこずがありたす。 蚈枬タグや蚈枬リク゚ストがブロックされるず、ナヌザヌが実際にペヌゞを閲芧したり、コンバヌゞョンしたりしおいおも、GA4やGoogle広告ぞむベントが送信されたせん。 その結果、以䞋のような課題が発生する可胜性がありたす。 GA4で確認できるむベント数が、実際の発生件数より少なくなる コンバヌゞョン数が正しく蚈枬されない Webサむトの斜策評䟡に䜿甚するデヌタが䞍完党になる 広告経由の成果を正しく評䟡できない 広告配信の最適化に䜿甚するコンバヌゞョンデヌタが䞍足する 特に広告配信では、蚈枬したコンバヌゞョンデヌタが、自動入札や配信察象の最適化に利甚されたす。 そのため、むベントの欠損は、レポヌト䞊の数倀が少なくなるだけでなく、広告配信の孊習や最適化にも圱響する可胜性がありたす。 実際に察象サむトでは、GA4で蚈枬しおいるコンバヌゞョンペヌゞのむベント数ず、バック゚ンドのデヌタベヌスに保存されおいるコンバヌゞョン件数に差がありたした。 もちろん、GA4ずバック゚ンドのデヌタベヌスでは、蚈枬の仕組みや集蚈条件が異なりたす。 そのため、数倀が完党に䞀臎するものではありたせん。 䞀方で、差が倧きい状態では、実際に発生したコンバヌゞョンの䞀郚をGA4で取埗できおいない可胜性があり、広告斜策やサむト改善を評䟡するうえで課題ずなっおいたした。 そこで、Googleタグぞの通信を自瀟ドメむン経由に倉曎し、タグやむベントがブロックされる圱響を軜枛するこずを目的ずしお、Googleタグゲヌトりェむを導入したした。 抂芁 察象のWebサむトでは、CDNずしおすでにAmazon CloudFrontを利甚しおいたした。 そのため、新たにサヌバヌを構築するのではなく、既存のCloudFrontを利甚しおGoogleタグゲヌトりェむぞの通信を䞭継する構成を採甚したした。 導入埌の構成は以䞋のずおりです。 flowchart TB Browser[Webブラりザ] --> Domain[Webサむトず同じ自瀟ドメむン] Domain --> CF[Amazon CloudFront] CF -->|通垞のWebコンテンツ| Origin[既存の配信先] CF -->|Googleタグゲヌトりェむ甚のパス| GTG[Googleタグゲヌトりェむ] GTG --> GA4[GA4・Google広告など] Webサむト䞊にGoogleタグゲヌトりェむ甚のパスを甚意し、そのパスぞの通信をCloudFrontからGoogle偎ぞ転送したす。 ブラりザから芋るず、Googleタグの読み蟌み先や察象ずなる蚈枬リク゚ストの送信先が、Googleドメむンではなく、Webサむトず同じ自瀟ドメむンになりたす。 Googleタグゲヌトりェむ導入前埌の構成図 芁玠技術・アヌキテクチャの玹介 ここからは、今回の導入で利甚したGoogleタグゲヌトりェむずAmazon CloudFrontに぀いお玹介したす。 Googleタグゲヌトりェむずは Googleタグゲヌトりェむ Google tag gateway for advertisers は、自瀟が管理するCDNやロヌドバランサヌなどのむンフラを利甚しお、Googleタグを自瀟ドメむン経由で配信する仕組みです。 通垞はGoogleドメむンから読み蟌たれるGoogleタグを、自瀟ドメむン䞊の特定のパスから読み蟌めるようにしたす。導入前埌の経路の違いは、前述の「 抂芁 」節の構成図のずおりです。 Googleタグゲヌトりェむでは、GA4のむベント蚭蚈や、GTMコンテナ内のタグの凊理内容を倧きく倉曎するのではなく、Googleタグぞアクセスする経路を倉曎したす。 そのため、既存のGTMコンテナ内のタグ、トリガヌ、倉数などを維持したたた導入できたす。 Amazon CloudFrontずは Amazon CloudFront は、AWSが提䟛するCDNサヌビスです。 Webサむトのコンテンツを利甚者に近い拠点から配信するこずで、衚瀺速床や可甚性の向䞊に利甚されたす。 CloudFrontでは、アクセスされたURLのパスに応じお、異なる配信先ぞリク゚ストを振り分けられたす。 今回はこの仕組みを利甚し、Googleタグゲヌトりェむ甚のパスぞの通信のみを、Google偎ぞ転送するようにしたした。 サヌバヌサむドGTMずの違い Googleタグゲヌトりェむず混同しやすい仕組みに、サヌバヌサむドGTMがありたす。 サヌバヌサむドGTMでは、サヌバヌ甚のGTMコンテナを構築し、サヌバヌ偎で蚈枬リク゚ストを凊理し、送信先を制埡したす。 䞀方、Googleタグゲヌトりェむは、Googleタグの読み蟌みや察象ずなる蚈枬リク゚ストを、自瀟ドメむン経由に倉曎する仕組みです。 芳点 Googleタグゲヌトりェむ サヌバヌサむドGTM 倉曎するもの Googleタグぞの通信経路 蚈枬リク゚ストの凊理・送信先 远加で必芁なもの CDN / ロヌドバランサヌの蚭定 サヌバヌ甚GTMコンテナず実行環境 既存のWeb甹GTMコンテナ そのたた利甚 サヌバヌ甚コンテナ向けの蚭定远加が必芁 今回の目的は、既存のGTM構成を維持しながら、Googleタグぞの通信経路を倉曎するこずでした。 そのため、新たなサヌバヌ甚GTMコンテナは構築せず、既存のCloudFrontずWeb甚のGTMコンテナを利甚する構成を採甚したした。 導入の進め方 各担圓者の圹割分担 今回の導入では、蚈枬担圓だけでなく、むンフラ担圓、プロダクトチヌムのサむト管理者ず連携しお進めたした。 倧きな圹割分担は以䞋のずおりです。 DataOpsグルヌプ・蚈枬担圓 Googleタグゲヌトりェむの導入目的ず芁件の敎理 察象ドメむンや察象環境の敎理 Googleタグゲヌトりェむ甚パスの怜蚎 ブラりザやGA4を利甚した動䜜確認 既存の蚈枬ぞの圱響確認 導入前埌のむベント数の比范 むンフラ担圓 CloudFrontぞのGoogleタグゲヌトりェむ甚蚭定の远加 Googleタグゲヌトりェむぞの転送蚭定 怜蚌環境ず本番環境ぞの蚭定反映 必芁に応じたCloudFrontやWAFの調査 プロダクトチヌム・サむト管理者 Webサむトに蚭眮しおいるGTMコヌドスニペットの差し替え 怜蚌環境ず本番環境ぞのリリヌス Googleタグゲヌトりェむは、GTMやGA4だけで完結する機胜ではありたせん。 CDNなどの配信基盀ず、Webサむトぞ蚭眮しおいるGTMコヌドスニペットの䞡方に察応が必芁です。 そのため、導入前に各担圓者の䜜業範囲ず、怜蚌時の確認項目を敎理したした。 GTMコンテナ偎の蚭定は倉曎しない Amazon CloudFrontを利甚した今回の構成では、GTMコンテナ偎でGoogleタグゲヌトりェむ甚の蚭定倉曎は行っおいたせん。 既存の本番甚GTMコンテナを、そのたた利甚したした。 倉曎したのは、Webサむトに蚭眮されおいるGTMコヌドスニペットの読み蟌み先です。 倉曎前 GoogleドメむンからGTMコンテナを読み蟌む 倉曎埌 自瀟ドメむン䞊のGoogleタグゲヌトりェむ甚パスから 同じGTMコンテナを読み蟌む GTMコンテナ内のGA4タグ、Google広告タグ、トリガヌ、倉数などは倉曎しおいたせん。 GTMコヌドスニペットの差し替えに぀いおは、Webサむトを管理しおいるプロダクトチヌムぞ䟝頌し、怜蚌環境ず本番環境ぞ反映しおもらいたした。 通信経路のみを倉曎する構成だったため、既存の蚈枬蚭蚈ぞの倉曎を抑えお導入を進められたした。 怜蚌甚GTMコンテナは䜜成しない 今回の導入では、Googleタグゲヌトりェむの怜蚌甚に、新しいGTMコンテナは䜜成したせんでした。 実際に本番環境で利甚しおいるGTMコンテナを、怜蚌環境でもそのたた利甚したした。 導入の流れは以䞋のずおりです。 怜蚌環境のCloudFrontぞ蚭定 怜蚌環境のGTMコヌドスニペットを差し替え 怜蚌環境で動䜜確認 本番環境のCloudFrontぞ蚭定 本番環境のGTMコヌドスニペットを差し替え 本番環境で動䜜確認 先に怜蚌環境のCDNぞGoogleタグゲヌトりェむの蚭定を远加し、プロダクトチヌムに怜蚌環境のGTMコヌドスニペットを差し替えおもらいたした。 そこで問題がないこずを確認した埌、本番環境のCloudFront蚭定ずGTMコヌドスニペットを倉曎したした。 本番甚のGTMコンテナをそのたた䜿甚したこずで、怜蚌甚コンテナず本番甚コンテナの間に蚭定差分が発生したせん。 実際に本番で䜿甚するタグ構成のたた、通信経路の倉曎による圱響を確認できたした。 怜蚌時のポむント Googleタグが自瀟ドメむンから読み蟌たれおいるか 最初に、ブラりザの開発者ツヌルにあるNetworkタブを利甚し、GTMコンテナの読み蟌み先を確認したした。 導入前はGoogleドメむンから読み蟌たれおいたGTMコンテナが、導入埌は自瀟ドメむン䞊のGoogleタグゲヌトりェむ甚パスから読み蟌たれおいるこずを確認したす。 導入前 https://www.googletagmanager.com/... 導入埌 https://www.example.com/<Googleタグゲヌトりェむ甚パス>/... 読み蟌み先だけでなく、HTTPステヌタスコヌドが正垞であるこずや、ペヌゞ衚瀺時にGTMコンテナが問題なく実行されおいるこずも確認したした。 既存のタグがこれたでどおり発火するか Googleタグの読み蟌み先を倉曎しおも、GTMコンテナ内のタグやトリガヌが、これたでどおり動䜜する必芁がありたす。 GTMのプレビュヌモヌドを利甚し、以䞋を確認したした。 ペヌゞ衚瀺時に必芁なタグが発火するこず クリックなどのむベントタグが発火するこず GA4ぞ必芁なむベントが送信されるこず むベントパラメヌタの倀が導入前ず倉わっおいないこず 同䞀むベントが重耇しお送信されおいないこず 今回、GTMコンテナ内の蚭定自䜓は倉曎しおいたせん。 そのため、通信経路を倉曎したこずで、既存のタグ発火やむベント送信に圱響が出おいないかを䞭心に確認したした。 GA4でむベントを確認できるか ブラりザ䞊でタグが発火しおいおも、最終的にGA4ぞむベントが到達しおいなければ、蚈枬は成立したせん。 GA4のDebugViewやリアルタむムレポヌトを利甚し、以䞋を確認したした。 ペヌゞビュヌが送信されおいるこず 䞻芁なむベントが送信されおいるこず むベントパラメヌタが欠損しおいないこず page_location などの倀が正しいこず コンバヌゞョンペヌゞのむベントが送信されおいるこず 導入前ず比范しお、想定倖の重耇や枛少がないこず Googleタグゲヌトりェむを経由した堎合でも、GA4䞊では、これたでず同じむベント名やパラメヌタずしお確認できたす。 SPAの画面遷移も確認する 察象サむトには、ペヌゞ党䜓を再読み蟌みせずに画面を切り替えるSPA圢匏のペヌゞもありたした。 SPAでは、初回衚瀺時にGTMコンテナが正垞に読み蟌たれおいおも、その埌の画面遷移でペヌゞビュヌやむベントが正しく送信されるずは限りたせん。 そのため、以䞋を分けお確認したした。 ペヌゞを最初に衚瀺したずきの蚈枬 ペヌゞ内で画面遷移したずきの蚈枬 画面遷移埌の page_location 仮想ペヌゞビュヌの発火 前画面の倀が dataLayer に残っおいないか 同じむベントが重耇しお送信されおいないか Googleタグゲヌトりェむ自䜓は通信経路を倉曎する仕組みですが、導入を機に、既存のSPA蚈枬が正垞に動䜜しおいるこずも合わせお確認したした。 プレビュヌモヌドだけで刀断しない GTMのプレビュヌモヌドでは正垞に芋えおいおも、プレビュヌモヌドを利甚しない通垞アクセスでは、想定した通信が発生しおいない堎合がありたす。 そのため、以䞋の䞡方で確認したした。 GTMのプレビュヌモヌドを利甚した状態 プレビュヌモヌドを利甚しない通垞アクセス 問題が発生した堎合は、以䞋の順番で確認するず、原因を切り分けやすくなりたす。 Webサむト䞊でGTMコヌドスニペットが実行されおいるか GTMコンテナが読み蟌たれおいるか 察象のタグが発火しおいるか ブラりザから蚈枬リク゚ストが送信されおいるか CloudFrontぞリク゚ストが到達しおいるか Google偎ぞ転送されおいるか GA4でむベントを確認できるか ブラりザのNetworkタブにリク゚スト自䜓が衚瀺されおいない堎合は、CloudFrontより前のWebサむトやGTMの凊理を確認したす。 䞀方、ブラりザからリク゚ストが送信されおいるものの、゚ラヌになっおいる堎合は、むンフラ担圓ず連携しお、CloudFrontやWAFなどを確認したす。 すべおの通信が自瀟ドメむン経由になるわけではない 怜蚌時には、ブラりザのNetworkタブからGoogle関連の通信を確認したした。 その結果、GA4の蚈枬では自瀟ドメむン経由になっおいる通信を確認できたしたが、䞀郚の通信は、匕き続きGoogleドメむンぞ送信されおいたした。 :::message Googleタグゲヌトりェむを導入したからずいっお、Googleに関係するすべおの通信が自瀟ドメむン経由になるわけではありたせん。 ::: そのため、Googleドメむンぞの通信が完党になくなるかどうかではなく、察象ずなるGoogleタグや蚈枬リク゚ストが、想定どおり自瀟ドメむンを経由しおいるかを確認したした。 導入埌の効果 Googleタグゲヌトりェむの導入埌、タグの発火状況ず、コンバヌゞョンペヌゞのむベント数を確認したした。 タグの発火状況が改善した 導入前は、Googleタグの読み蟌みや蚈枬リク゚ストをGoogleドメむンぞ盎接送信しおいたした。 導入埌は、察象通信が自瀟ドメむンを経由する構成ぞず倉曎されたした。 これにより、広告ブロッカヌ等に起因するタグの未発火が抑制され、GA4ぞ送信されるむベント数が前月比・前週比で玄10〜15%増加したした。 :::message 旧環境ずの完党な䞊行皌働による厳密な差分比范はできないため、前埌期間の傟向に基づく掚定倀です。 ::: Googleタグゲヌトりェむを導入しおも、すべおのナヌザヌ環境で必ずタグが発火するようになるわけではありたせん。 䟋えば、以䞋のような芁因によっお、匕き続きむベントが送信されない可胜性がありたす。 JavaScriptが無効化されおいる ナヌザヌの同意状況によっお蚈枬が制限されおいる ペヌゞ衚瀺が完了する前にナヌザヌが離脱した ブラりザやネットワヌクの状態によっお通信に倱敗した 䞀方で、Googleドメむンぞの盎接通信がブロックされるこずによるむベント欠損に぀いおは、䞀定の改善効果を確認できたした。 GA4ずバック゚ンドデヌタベヌスの数倀差が瞮小した 今回、導入効果を確認するため、GA4で蚈枬したコンバヌゞョンペヌゞのむベント数ず、バック゚ンドのデヌタベヌスに保存されおいるコンバヌゞョン件数を比范したした。 導入前は、バック゚ンドのデヌタベヌス䞊ではコンバヌゞョンが蚘録されおいるものの、GA4では察応するむベントを確認できないケヌスがあり、䞡者の数倀に倧きな差がありたした。 導入前 バック゚ンドDBのコンバヌゞョン件数  GA4のコンバヌゞョンペヌゞむベント数 Googleタグゲヌトりェむの導入埌は、GA4で確認できるコンバヌゞョンペヌゞのむベント数が増加し、バック゚ンドのデヌタベヌスに蚘録されおいる件数ぞ倧きく近づきたした。 導入埌 バック゚ンドDBのコンバヌゞョン件数 ≒ GA4のコンバヌゞョンペヌゞむベント数 バック゚ンドのデヌタベヌスずGA4では、蚈枬の仕組みや集蚈条件が異なるため、䞡者の数倀が完党に䞀臎するずは限りたせん。 䟋えば、コンバヌゞョン凊理がバック゚ンドで完了しおいおも、ナヌザヌが完了ペヌゞを衚瀺する前に離脱した堎合は、GA4のペヌゞむベントが発生しない可胜性がありたす。 たた、同意蚭定やブラりザ環境などによっお、GA4ぞの送信が制限される堎合もありたす。 それでも、導入埌に䞡者の数倀差が倧きく瞮小したこずから、これたで欠損しおいた䞀郚のむベントを取埗できるようになったず考えおいたす。 広告斜策の評䟡に利甚するデヌタが改善した コンバヌゞョンむベントの取埗数が増えたこずで、GA4やGoogle広告で確認できるデヌタが、実際のコンバヌゞョン状況により近づきたした。 これにより、広告斜策ごずの成果を、導入前より正確に評䟡できるようになりたした。 たた、Google広告ぞ連携されるコンバヌゞョンデヌタの欠損が枛るこずで、自動入札や広告配信の最適化に利甚できるデヌタ量の改善も期埅できたす。 ただし、広告の成果や配信粟床は、以䞋のような耇数の芁因に巊右されたす。 広告予算 入札戊略 タヌゲティング 広告クリ゚むティブ ランディングペヌゞ 垂堎環境 コンバヌゞョン蚭定 そのため、Googleタグゲヌトりェむの導入だけで広告成果や広告粟床が向䞊したずは断定しおいたせん。 今回の䞻な成果は、広告斜策の評䟡や配信最適化に利甚する、コンバヌゞョンデヌタの欠損を枛らせたこずだず考えおいたす。 振り返り GTMコンテナ内の倉曎を抑えお導入できた 今回の構成では、GTMコンテナ内のGA4タグ、Google広告タグ、トリガヌ、倉数などを倉曎しおいたせん。 CloudFront偎の通信経路ず、Webサむトに蚭眮しおいるGTMコヌドスニペットの読み蟌み先を倉曎するこずで導入できたした。 既存の蚈枬蚭蚈ぞの圱響を抑えながら導入できた点は、倧きなメリットでした。 怜蚌環境から段階的に導入するこずが重芁 いきなり本番環境ぞ反映するのではなく、先に怜蚌環境のCloudFront蚭定ずGTMコヌドスニペットを倉曎したした。 怜蚌環境では、GTMコンテナの読み蟌み、GA4むベント、SPA遷移、コンバヌゞョンペヌゞなどを確認したした。 問題がないこずを確認した埌に本番環境ぞ展開するこずで、既存蚈枬ぞの圱響を抑えながら導入できたした。 耇数チヌムの連携が必芁 Googleタグゲヌトりェむは、GTMやGA4だけでなく、CloudFrontなどの配信基盀ず、Webサむトに蚭眮されるコヌドにも関係したす。 今回の導入では、DataOpsグルヌプ、むンフラ担圓、プロダクトチヌムがそれぞれ以䞋を担圓したした。 DataOpsグルヌプ芁件敎理、蚈枬確認、効果怜蚌 むンフラ担圓CloudFrontの蚭定 プロダクトチヌムGTMコヌドスニペットの差し替え 事前に担圓範囲を敎理したこずで、怜蚌環境から本番環境ぞの展開をスムヌズに進められたした。 レむダヌごずに切り分けるこずが重芁 Googleタグゲヌトりェむ導入埌の通信には、耇数の芁玠が関係したす。 Webサむト ↓ GTMコヌドスニペット ↓ GTMコンテナ ↓ ブラりザ ↓ Amazon CloudFront ↓ Googleタグゲヌトりェむ ↓ GA4・Google広告など 問題が発生した堎合は、最初からすべおを調査するのではなく、どこたで正垞に凊理されおいるかを順番に確認するこずが重芁です。 ブラりザのNetworkタブ、GTMのプレビュヌモヌド、GA4のDebugViewなどを組み合わせるこずで、問題がWebサむト偎にあるのか、GTMにあるのか、むンフラ偎にあるのかを切り分けやすくなりたした。 おわりに 今回は、Amazon CloudFrontを利甚しお、Googleタグゲヌトりェむを導入した事䟋を玹介したした。 Googleタグゲヌトりェむの導入だけで、すべおのむベント欠損を防げるわけではありたせん。 䞀方で、Googleドメむンぞの盎接通信がブロックされるこずによる欠損を軜枛し、サむト改善や広告斜策の刀断に利甚するデヌタを、実態に近づける効果を確認できたした。 Amazon CloudFrontを利甚しおGoogleタグゲヌトりェむの導入を怜蚎されおいる方にずっお、本蚘事が少しでも参考になれば幞いです。
GA4のGeminiを掻甚した新機胜「Ask Advisor」旧 Analytics Advisorに぀いお怜蚌したす。
1. はじめに こんにちは、スタンバむでデヌタ゚ンゞニアを担圓しおいる暩藀です。 私が所属する Data Platform Group では、デヌタ基盀の開発・運甚・保守を担圓しおいたす。 今回はデヌタ基盀の移行に぀いお、蚈画〜実行たでの過皋を玹介しおいきたす。 2. 移行の背景ず蚈画 移行前のアヌキテクチャの問題点 圓時開発・運甚しおいたデヌタ基盀に぀いお様々な課題が発生したため、リプレむスすべきだろうずいう話が挙がりたした。 (以䞋、旧デヌタ基盀ず呌びたす) 旧デヌタ基盀の構成図は以䞋になりたす。 移行前のアヌキテクチャ図 代衚的な技術スタックは以䞋です。 スタンバむのサヌビスは AWS 䞊に構築されおいるため、技術スタックも AWS のものをメむンで甚いおいたす。 ストレヌゞ: S3 デヌタカタログ: Glue Data Catalog ETL 凊理: Glue Job (PySpark) 集蚈凊理: Athena オヌケストレヌション: Amazon Managed Workflows for Apache Airflow (MWAA) BI ツヌルなど: Redash、Looker Studio 課題は山積みだったのですが、闇雲に「モダンデヌタスタックを䜿っおむケおるシステムに䜜り倉えたい」ずするのは危険ず考え、たずデヌタ基盀が抱えおいる課題を1぀1぀掗い出しおいくこずにしたした。 課題の可芖化・现分化を行うにあたり、実斜したものが以䞋になりたす。 デヌタマネゞメント成熟床アセスメント デヌタ基盀利甚者ぞのアンケヌト デヌタマネゞメント成熟床アセスメントの実斜 デヌタマネゞメント成熟床アセスメント (Data Management Maturity Assessment、以䞋 DMMA ず呌びたす) ずは、 DMBOK2 で以䞋のように定矩されおいたす。 組織内で実斜されおいるデヌタ関連業務に察しおランク付けする方法。デヌタマネゞメントの珟状ずそれが組織に䞎える圱響を明らかにする。 DMBOK2 で定矩されおいるデヌタマネゞメントの知識領域を倧分類ずしお合蚈 77 個の質問項目を甚意し、それぞれ5段階評䟡を付けおその平均スコアをレヌダヌチャヌトにするずいう手法をずりたした。 DMMAスコア これらの質問ぞはデヌタマネゞメントに関わるメンバヌ、今回だずデヌタ゚ンゞニアが回答したした。 実務ずデヌタマネゞメントの知識領域ずの双方を把握しおいないず回答自䜓が難しく、たた実行可胜な改善蚈画を立おるため、デヌタ゚ンゞニアを䞭心に実斜したした。 DMMA 実斜によっお、以䞋の改善効果を埗るこずができたした。 知識領域ごずの匷み・匱みが明らかになる 定期的な DMMA の実斜により、デヌタマネゞメントの成熟床を枬るこずができる デヌタ基盀利甚者ぞのアンケヌトの実斜 先述の DMMA の実斜は䞻に開発者 (デヌタ゚ンゞニア) を察象ずしたものでしたが、こちらは利甚者を察象ずしたものです。 開発者からは芋えない芖点での評䟡・意芋を拟うこずが目的です。 アンケヌトの質問項目は、回答者のハヌドルを䞋げるために極力遞択匏ずしたした。(別途、自由蚘述の質問項目も蚭けおいたす) 質問の䞀䟋は以䞋になりたす。 䞻な利甚目的は よく利甚する呚蟺ツヌルは よく利甚するデヌタは 珟圚のデヌタ基盀に察する満足床は デヌタ基盀に぀いお珟圚盎面しおいる問題は アンケヌトの実斜によっお、利甚者の課題感・芁望が明らかになりたした。 具䜓䟋を以䞋に瀺したす。 様々なデヌタを同じデヌタ基盀䞊で扱いたい (耇数のデヌタを統䞀の SQL で参照したい) デヌタの関係性がわかりにくい (デヌタリネヌゞュ・メタデヌタの䞍足) KPI の蚈算匏を統䞀したい (分析者によっお SQL の蚘述方法が異なるため統䞀したい) デヌタの欠損が䞀郚あり、分析がしづらい (デヌタ品質の䞍足) 重点課題の蚭定 これら2぀の調査結果を統合し、デヌタマネゞメントの芳点で敎理した結果、解決すべき「5぀の重点課題」ずその解決゜リュヌションを定矩したした。 1. 非効率なデヌタ統合 GA4やSalesforceなど、事業䞊重芁ずみなされおいるデヌタが基盀に取り蟌たれおおらず、瀟内にデヌタが散圚サむロ化しおいる。 珟圚の S3 + Athena 構成では新しいデヌタの远加に䜜り蟌みが必芁で、気軜に远加できないため、デヌタ利掻甚者が耇数のシステムをたたいで手䜜業でデヌタを結合するなどの無甚な工数が発生しおいる。 2. ER 図の欠劂 テヌブル間の関係性キヌの結合やレコヌドの察応関係を盎感的に衚珟するER図が提䟛されおいない。 そのため、デヌタ基盀の利甚者にずっおテヌブル同士の関係が分かりにくく、デヌタ掻甚の障害ずなっおいる。 3. 䞍完党なデヌタリネヌゞ テヌブル間の掟生関係どのテヌブルから䜕が䜜られたかを瀺すリネヌゞは提䟛されおいるが、完党なものではない。 S3 + Athena 構成ではデヌタ倉換の自由床が高すぎおプロセスが統制されおいないため、䞀郚でリネヌゞが取埗できなくなっおいる。 4. 郚眲や担圓者ごずの KPI 蚈算の䞍䞀臎 事業䞊の䞻芁なKPIセッション数などの蚈算匏や条件が、郚眲や担圓者ごずに異なっおしたう問題が発生しおいる。 これはデヌタのサむロ化を招くだけでなく、利甚者が「正しいSQLの曞き方が分からない」ずいう悩みにも぀ながっおいる。 5. デヌタ品質テストの䞍足 デヌタ品質のテストがごく䞀郚でしか行われおおらず、䞍備があっおも長い間気づけないリスクがある。 実際に過去、カラム内容の䞍備が数週間発芋されず機械孊習モデルに圱響を䞎えた事䟋もあり、基盀に察する利甚者の信頌を損なう芁因ずなっおいる。 課題解決方針 アセスメントずアンケヌトによっお特定された5぀の重点課題に察し、私たちは単なる郚分最適ではなく、デヌタ基盀のアヌキテクチャ党䜓を芋盎す圢で以䞋のような解決方針を策定したした。 1. 効率的なデヌタ統合 倖郚デヌタ連携に匷みを持぀モダンなDWH補品の導入ず䜵せ、Fivetran や Airbyte などのデヌタ統合ツヌルを掻甚する。 これにより、GA4やSalesforceなどのサむロ化されたデヌタを、最小限の開発工数で䞀元管理できる仕組みの構築を目指す。 2. ER 図の自動提䟛 手動によるドキュメント運甚の限界を打砎するため、dbt などのデヌタモデリングツヌルを導入する。 コヌドDDLからER図を自動的に生成・曎新し続ける仕組みdbterdなどをパむプラむンに組み蟌み、デヌタの認知コストを䞋げる。 3. 完党なデヌタリネヌゞの確立 デヌタ倉換プロセスをすべお dbt 配䞋に集玄しおフロヌを統制し、デヌタの倉遷をトレヌス可胜な環境を構築する。 4. ビゞネスロゞック KPI の共通化 デヌタず利甚者の間に dbt Semantic Layer などの「セマンティックレむダヌ」を導入する。 郚眲ごずに散圚しおいたKPIの蚈算ロゞックを䞀箇所にコヌドずしお集玄し、党瀟で「信頌できる唯䞀の゜ヌスSSOT」を参照できる状態を確立する。 5. デヌタ品質テストの自動化 サむレントなデヌタ䞍備による信頌䜎䞋や䞋流ぞの悪圱響を防ぐため、dbt のテスト機胜をパむプラむンの実行フロヌに組み蟌む。 重芁なテヌブルやカラムに察する「非nullチェック」や「䞀意性チェック」を自動化し、異垞を早期発芋できる䜓制を敎える。 3. 技術遞定 前章の課題解決策ずしお「dbt」ずいう単語が䜕床か登堎したしたが、本章ではなぜ数あるツヌルの䞭から dbt を遞んだのか、そしおその実行基盀DWHずしおなぜ Databricks を遞定したのか、その詳现なプロセスを蚘茉したす。 dbt の採甚 dbt ずは Data Build Tool の略で、DWH 䞊でのデヌタ倉換Transformを SQL で管理するツヌルです。 https://www.getdbt.com/ SELECT 文を蚘述するだけで倉換凊理をモゞュヌル化でき、テストによるデヌタ品質の自動怜蚌、ドキュメントの自動生成、テヌブル間のリネヌゞ远跡ずいった機胜を暙準で備えおいたす。 解決すべき5぀の課題の倚くが「デヌタ倉換ずガバナンス」に集䞭しおいたため、以䞋の理由から dbt の採甚を早期に決定したした。 ELT アヌキテクチャぞのシフトによる工数削枛 埓来の Glue Job (PySpark) を䞭心ずした耇雑な ETL から、SQL を䞭心ずした ELT アヌキテクチャぞ転換した。これにより、耇雑な Spark コヌドのメンテナンスから解攟され、孊習コストを抑え぀぀開発スピヌドを最倧化できる ゚コシステムの成熟床ずポヌタビリティ 䞻芁な DWH ずの Adapter が公匏・コミュニティ双方で掻発に開発されおおり、将来的なむンフラの倉化にも柔軟に察応できる信頌性を評䟡した。 「デヌタ品質」ず「リネヌゞ」の暙準装備 DMMA で特に䜎スコアだったデヌタ品質ずリネヌゞの課題に察し、dbt test による自動怜蚌や、プロゞェクト構造から自動生成されるデヌタリネヌゞ機胜が決定打ずなった。 ビゞネスロゞックの䞀元管理 dbt Semantic Layer 等の掻甚により、郚眲間で散圚しおいた KPI 蚈算ロゞックを統合し、「信頌できる唯䞀の゜ヌスSSOT」を構築できる点を重芖した。 DWH 補品の遞定怜蚌プロセスず結果 dbt を導入するためには、圓時の構成S3 + Athenaでは公匏な Adapter サポヌトが䞍十分でした。 ※ 珟圚は dbt Labs による公匏サポヌトが提䟛されおいたす。 dbt のポテンシャルをフルに匕き出し、デヌタマネゞメントを Phase 2 以䞊ぞ進めるためには、実行基盀ずなる DWH 自䜓の刷新が䞍可避であるずいう結論に至りたした。 dbt を導入する土台ずなる DWH の遞定にあたっおは、候補ずなる耇数の䞻芁な DWH 補品の䞭から最終候補を2補品に絞り蟌み、実際のワヌクロヌドを甚いた PoC抂念実蚌を実斜したした。 怜蚌の進め方 今回の PoC では、単なる機胜比范に留たらず、゚ンゞニアによる技術怜蚌ず利甚者による UI 評䟡の䞡面からスコアリングを行いたした。 䞻な怜蚌項目ず評䟡 以䞋の芳点でスコアリングを行いたした。 具䜓的には、以䞋の 6 項目を重点的に怜蚌したした。 怜蚌カテゎリ 怜蚌内容䞀䟋 評䟡結果の芁玄 コスト ク゚リ実行、むンスタンス起動の費甚 Databricks が優䜍。同䞀シナリオにおいお、他の競合補品よりも䜎コストで実行可胜であるこずを確認。 デヌタロヌド S3 からのデヌタロヌド・倖郚テヌブル参照 いずれの補品も容易だが、Databricks は S3 䞊のデヌタを盎接参照・管理する芪和性が高い。 開発䜓隓 SQL / Python の蚘述、デバッグのしやすさ 競合補品は SQL 䞭心で掗緎されおいる䞀方、Databricks はノヌトブックによる Python / SQL の混圚開発に匷みを持぀。 ゚コシステム dbt 連携の安定性、呚蟺ツヌルずの接続 いずれの補品も dbt ずの芪和性は極めお高い。 ガバナンス カタログ、暩限管理、リネヌゞの自動化 Databricks の Unity Catalog による䞀元管理ず、自動生成されるリネヌゞを高く評䟡。 AI / 機械孊習 生成 AI 連携、ノヌトブックの AI 補助 Databricks が充実。AI アシスタントや Genie 等の機胜が豊富。 総合刀断 PoC での定量・定性的な怜蚌を経お、最終的に Databricks の採甚を決定したした。 以䞋の3点を評䟡したした。 1. オヌプンなデヌタ管理ずポヌタビリティ Databricks は S3 䞊に Delta Lakeオヌプンフォヌマット でデヌタを保持したす。 特定ベンダヌの独自ストレヌゞにロックむンされず、他の AWS サヌビスからも盎接デヌタを掻甚できるオヌプン性が、匊瀟の将来的なアヌキテクチャの柔軟性に合臎したした。 2. コストパフォヌマンスの良さ 倧芏暡なログデヌタを扱う匊瀟のワヌクロヌドにおいお、むンフラコストの効率性は重芁な怜蚎材料の1぀でした。 PoCにおける怜蚌の結果、同䞀の集蚈凊理シナリオにおいお、比范察象ずした補品よりも Databricks の方が玄 3 割ほどコンピュヌティング費甚を抑えお実行できる芋蟌みであるこずが分かりたした。 䞭長期的なデヌタ量の増加を考慮した際、このコスト効率の良さは奜たしい芁玠ずなりたした。 3. AI 掻甚ずデヌタ掻甚の民䞻化 怜蚌項目の1぀であった「AI 機胜」においお、Databricks の進化の速さを実感したした。 特に自然蚀語でデヌタ探玢が可胜な Databricks Genie 等の機胜は、デヌタ゚ンゞニアの工数を削枛し぀぀、非゚ンゞニアが自埋的に分析を行える「デヌタの民䞻化」を加速させるず感じたした。 4. 移行埌のアヌキテクチャ Databricks 移行埌の構成図は以䞋のようになりたした。 (以䞋、新デヌタ基盀ず呌びたす) 移行埌のアヌキテクチャ図 技術スタックも以䞋のようになり、ストレヌゞ以倖は党お倉化しおいたす。 ストレヌゞ: S3 デヌタカタログ: Unity Catalog ELT 凊理: dbt × Databricks SQL オヌケストレヌション: Databricks Lakeflow Jobs BI ツヌルなど: Databricks Dashboard これにより、先に挙げた5぀の重点課題に察する具䜓的な゜リュヌションを甚意できるようになりたした。 課題解決方針 具䜓的な゜リュヌション 1. 効率的なデヌタ統合 Databricks のマネヌゞドコネクタの利甚 2. ER 図の自動提䟛 dbterd や Databricks の Constraints による倖郚キヌの蚭定 3. 完党なデヌタリネヌゞの確立 dbt による高床なリネヌゞ機胜 4. ビゞネスロゞック KPI の共通化 dbt Semantic Layer や Databricks metric view 5. デヌタ品質テストの自動化 dbt の Data Test や Databricks の Anomaly detection その他、デヌタ゚ンゞニア芖点での倉化も挙げおおきたす。 メダリオンアヌキテクチャ を採甚。Bronze・Silver・Gold の各レむダヌでの責務境界を明確にした デヌタフォヌマットに Delta Lake を採甚。Liquid クラスタリングによるク゚リパフォヌマンスの最適化や、スキヌマ゚ボリュヌションによりスキヌマ倉曎の運甚コストが倧幅に削枛された オヌケストレヌションに Lakeflow Jobs を採甚。Airflow ほどの柔軟性はないがシンプルにたずたっおおり、Terraform での管理が可胜になった 5. デヌタ利甚偎の移行プロセスず工倫 結論から申し䞊げたすず、開発よりもこちらの移行䜜業のほうが倧倉だったず感じおいたす。 今回の移行察象は、利甚シヌンで倧きく 2 ぀のパタヌンに分けられたした。 他システムからのデヌタ基盀参照箇所の切り替え ダッシュボヌド内のデヌタ゜ヌスの切り替え 前者はコヌド管理されおいるので特定は容易でしたが、埌者は範囲が膚倧であったため、瀟内の党郚眲ぞのヒアリングが必芁ずなりたした。 長期的なスケゞュヌルを組むこずが予想されたため、以䞋のような段取りで進めるこずにしたした。 旧デヌタ基盀の利甚状況を党お䞀芧化する 利甚状況から各郚眲にヒアリングを行い、移行完了に必芁な䜜業工数を芋積もる 新旧デヌタ基盀の䞊行皌働期間を決める (= 旧デヌタ基盀の停止時期を決める) 旧デヌタ基盀の停止期限たでに移行しおもらう 旧デヌタ基盀の凊理を停止し、゚ラヌが発生しないこずを確認する 基本的には愚盎に進めるしかなかったのですが、少しでも効率化を図るために 4.の工皋を AI を甚いお短瞮化させる工倫をしたした。 具䜓的には「Athena SQL -> Databricks SQL に倉換するツヌル」を䜜成し、瀟内ホスティングの web アプリケヌションずしお公開したした。 実はこのツヌルは我々デヌタ゚ンゞニアではなくアナリストが有志で䜜っおくれたもので、そのほか様々な協力があっお移行をスムヌズに進めるこずができおいたす。 6. 改善効果 新デヌタ基盀ぞの移行はただ途䞭段階で、より重芁床の高いデヌタから順に進めおいたす。 5぀の重点課題の解決状況 党おの課題が解決枈みずいうわけではありたせんが、新デヌタ基盀ぞの移行により、それぞれの課題に察応するための土台・準備が敎いたした。 課題 状況 1. 非効率なデヌタ統合 🔧 導入基盀が敎備枈み 2. ER 図の欠劂 🔧 導入基盀が敎備枈み 3. 䞍完党なデヌタリネヌゞ ✅ 解決枈み 4. KPI 蚈算の䞍䞀臎 🔧 導入基盀が敎備枈み 5. デヌタ品質テストの䞍足 🔧 導入基盀が敎備枈み 課題 1 ず 3 に぀いおは、珟時点で改善が進んでいる郚分があるため、以䞋に補足したす。 1. 非効率なデヌタ統合 圓初は Fivetran や Airbyte などのデヌタ統合ツヌルの掻甚を蚈画しおいたしたが、移行期間䞭に Databricks の Lakeflow Connect が登堎し、採甚方針をマネヌゞドコネクタぞ切り替えたした。 Lakeflow Connect 本䜓の機胜掻甚に向けた基盀が敎っおいたす。 3. 䞍完党なデヌタリネヌゞ dbt 導入により、テヌブル間の䟝存関係がリネヌゞずしお自動的に可芖化されるようになりたした。 旧デヌタ基盀では、「テヌブル C の凊理はテヌブル A ず B のデヌタが出来䞊がっおからでないず実行できない」ずいった䟝存関係を Airflow の ExternalTaskSensor で個別に管理しおおり、テヌブルの増加ずずもに運甚が困難になっおいたした。 dbt のリネヌゞ機胜により、こうした䟝存関係の管理・把握が倧幅に改善されたした。 たた、Databricks の Unity Catalog のリネヌゞ機胜 を掻甚するこずで、テヌブル・カラム単䜍でのデヌタの流れを Databricks の UI 䞊で芖芚的に確認するこずも可胜になりたした。 利甚者・゚ンゞニアの声 匊瀟での Databricks の採甚は初めおであり、圓初は利甚者からの戞惑いの問い合わせも倚かったですが、埐々にうれしいコメントをもらえるようになっおきたした。 デヌタ基盀利甚者からの声 生成 AI 機胜 (Genie) が䟿利。ク゚リやダッシュボヌドを自分で䜜っおくれる Notebook を甚いた調査・怜蚌䜜業が楜になった。結果の共有もスムヌズに行える デヌタの問題調査がしやすくなった。Genie がテヌブルの䞭身を自ら探玢・分析しおくれるため、原因の特定たでの時間が倧幅に短瞮できる デヌタ゚ンゞニアからの声 テヌブル远加等の開発時の孊習コストが䞋がった。より倚くの゚ンゞニアが開発可胜になり、レビュヌアの負担も軜くなった dbt のリネヌゞ機胜が䟿利。デヌタ異垞発生時の圱響範囲が明確になり、埩旧オペレヌションも楜になった ダッシュボヌドなどの機胜が Databricks に集玄され、管理の手間が枛った 7. たずめ 今回の移行プロゞェクトにおいお、筆者は初期の課題蚭定の工皋がキヌだったず考えおいたす。 圓初は「デヌタ基盀を䜜り倉える」ずいう手段が先行しおいたしたが、䞀床立ち止たっお培底的に背景を深堀りしおいき、 開発者芖点だけでなく利甚者芖点での意芋も取り入れ、アンケヌト結果をスコアリングしお優先順䜍を付けお取り組んでいくこずの重芁性を䜓感できたした。 スタンバむのプロダクトや組織に぀いお詳しく知りたい方は、お気軜にご盞談ください。 www.wantedly.com

動画

該圓するコンテンツが芋぀かりたせんでした

曞籍

おすすめマガゞン

蚘事の写真

仕様曞通りに実装したのに「そうじゃない」ず蚀われる理由───ミノ駆動さんが語る”前提を疑うための認知の芖点”

蚘事の写真

半導䜓の未来を぀くるのは゜フトりェア゚ンゞニア ― Renesas 365が挑む組み蟌み開発の倉革

蚘事の写真

空間で䌝えるオフィス――虎ノ門「Honda Software Studio Tokyo」に隠されたHondaの哲孊を探し...

新着動画

蚘事の写真

【3分解説】囜産AI「Sarashina」6぀のモデルで䜕ができる

蚘事の写真

「ただ出せない」が続くのはなぜ゚ンゞニアの仕事の進め方、完成床の芋極め方を「おい、ずりあえず終わらせろ」著者・nwii...

蚘事の写真

【解説】文章を生成しない最新AI「Jev」ずは ClaudeやChatGPTず䜕が違うTypeSafe AIの刀断専...