Preface |
|
ix | |
|
1 The New Google Analytics 4 |
|
|
1 | (1) |
|
|
1 | (5) |
|
The Unification of Mobile and Web Analytics |
|
|
2 | (1) |
|
Firebase and BigQuery--First Steps into the Cloud |
|
|
3 | (1) |
|
|
3 | (1) |
|
Universal Analytics Versus GA4 |
|
|
4 | (2) |
|
|
6 | (5) |
|
|
7 | (1) |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (7) |
|
|
11 | (1) |
|
|
12 | (2) |
|
|
14 | (1) |
|
Moving Up the Serverless Pyramid |
|
|
15 | (3) |
|
Wrapping Up Our GCP Intro |
|
|
18 | (1) |
|
Introduction to Our Use Cases |
|
|
18 | (6) |
|
Use Case: Predictive Purchases |
|
|
19 | (1) |
|
Use Case: Audience Segmentation |
|
|
20 | (2) |
|
Use Case: Real-Time Forecasting |
|
|
22 | (2) |
|
|
24 | (1) |
|
2 Data Architecture and Strategy |
|
|
25 | (22) |
|
Creating an Environment for Success |
|
|
25 | (3) |
|
|
25 | (1) |
|
A Use Case-Led Approach to Avoiding Spaceships |
|
|
26 | (1) |
|
Demonstrating Business Value |
|
|
27 | (1) |
|
Assessing Digital Maturity |
|
|
28 | (1) |
|
Prioritizing Your Use Cases |
|
|
28 | (1) |
|
|
28 | (2) |
|
|
30 | (1) |
|
|
31 | (3) |
|
|
34 | (4) |
|
Model Performance Versus Business Value |
|
|
35 | (1) |
|
Principle of Least Movement (of Data) |
|
|
36 | (1) |
|
Raw Data Inputs to Informational Outputs |
|
|
36 | (1) |
|
Helping Your Data Scientists/Modelers |
|
|
36 | (1) |
|
|
37 | (1) |
|
Final Location of Modeling |
|
|
37 | (1) |
|
|
38 | (2) |
|
Maybe Its Not a Dashboard |
|
|
38 | (1) |
|
Interaction with Your End Users |
|
|
39 | (1) |
|
|
40 | (3) |
|
Respecting User Privacy Choices |
|
|
42 | (1) |
|
|
42 | (1) |
|
|
43 | (2) |
|
|
43 | (1) |
|
|
43 | (1) |
|
Integrated Developer Environments |
|
|
44 | (1) |
|
Containers (Including Docker) |
|
|
44 | (1) |
|
|
45 | (2) |
|
|
47 | (54) |
|
|
47 | (2) |
|
|
48 | (1) |
|
|
48 | (1) |
|
|
49 | (22) |
|
|
49 | (4) |
|
|
53 | (4) |
|
Custom Field Configuration |
|
|
57 | (2) |
|
Modifying or Creating GA4 Events |
|
|
59 | (2) |
|
|
61 | (8) |
|
|
69 | (2) |
|
Exporting GA4 Data via APIs |
|
|
71 | (5) |
|
Authentication with Data API |
|
|
73 | (1) |
|
|
74 | (2) |
|
|
76 | (6) |
|
Linking GA4 with BigQuery |
|
|
76 | (2) |
|
BigQuery SQL on Your GA4 Exports |
|
|
78 | (1) |
|
BigQuery for Other Data Sources |
|
|
79 | (1) |
|
|
80 | (1) |
|
|
80 | (2) |
|
|
82 | (13) |
|
|
83 | (11) |
|
|
94 | (1) |
|
CRM Database Imports via GCS |
|
|
94 | (1) |
|
Setting Up Cloud Build CI/CD with GitHub |
|
|
95 | (5) |
|
|
95 | (1) |
|
Setting Up the GitHub Connection to Cloud Build |
|
|
95 | (3) |
|
Adding Files to the Repository |
|
|
98 | (2) |
|
|
100 | (1) |
|
|
101 | (60) |
|
|
102 | (7) |
|
|
102 | (5) |
|
Datasets for Different Roles |
|
|
107 | (2) |
|
|
109 | (5) |
|
|
110 | (1) |
|
|
111 | (1) |
|
|
112 | (2) |
|
|
114 | (6) |
|
Setting Up a Pub/Sub Topic for GA4 BigQuery Exports |
|
|
114 | (2) |
|
Creating Partitioned BigQuery Tables from Your GA4 Export |
|
|
116 | (2) |
|
Server-side Push to Pub/Sub |
|
|
118 | (2) |
|
|
120 | (2) |
|
|
120 | (1) |
|
Accessing Firestore Data Via an API |
|
|
121 | (1) |
|
|
122 | (5) |
|
|
127 | (18) |
|
Data Import Types: Streaming Versus Scheduled Batches |
|
|
127 | (1) |
|
|
128 | (1) |
|
BigQuery Scheduled Queries |
|
|
129 | (2) |
|
|
131 | (5) |
|
|
136 | (1) |
|
|
137 | (8) |
|
|
145 | (11) |
|
Pub/Sub for Streaming Data |
|
|
145 | (1) |
|
|
146 | (6) |
|
Streaming Via Cloud Functions |
|
|
152 | (4) |
|
|
156 | (3) |
|
|
156 | (2) |
|
Data Expiration in BigQuery |
|
|
158 | (1) |
|
|
159 | (1) |
|
|
159 | (2) |
|
|
161 | (32) |
|
|
161 | (7) |
|
Standard Reports and Explorations |
|
|
162 | (1) |
|
|
162 | (2) |
|
User and Session Resolution |
|
|
164 | (1) |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
167 | (1) |
|
|
167 | (1) |
|
Turning Data into Insight |
|
|
168 | (9) |
|
|
169 | (3) |
|
Accuracy Versus Incremental Benefit |
|
|
172 | (1) |
|
Choosing Your Method of Approach |
|
|
173 | (1) |
|
Keeping Your Modeling Pipelines Up-To-Date |
|
|
174 | (1) |
|
|
175 | (2) |
|
|
177 | (4) |
|
Comparison of BigQuery ML Models |
|
|
177 | (3) |
|
Putting a Model into Production |
|
|
180 | (1) |
|
|
181 | (2) |
|
Putting an ML API into Production |
|
|
182 | (1) |
|
Google Cloud AI: Vertex AI |
|
|
183 | (2) |
|
Putting a Vertex API into Production |
|
|
185 | (1) |
|
|
185 | (6) |
|
|
186 | (2) |
|
|
188 | (2) |
|
|
190 | (1) |
|
|
191 | (2) |
|
|
193 | (42) |
|
Importance of Data Activation |
|
|
194 | (1) |
|
GA4 Audiences and Google Marketing Platform |
|
|
195 | (6) |
|
|
201 | (2) |
|
|
203 | (22) |
|
|
203 | (1) |
|
|
204 | (13) |
|
|
217 | (4) |
|
|
221 | (1) |
|
Other Third-Party Visualization Tools |
|
|
222 | (1) |
|
Aggregate Tables Bring Data-Driven Decisions |
|
|
223 | (1) |
|
Caching and Cost Management |
|
|
224 | (1) |
|
|
225 | (9) |
|
|
225 | (2) |
|
|
227 | (3) |
|
|
230 | (4) |
|
|
234 | (1) |
|
7 Use Case: Predictive Purchases |
|
|
235 | (10) |
|
Creating the Business Case |
|
|
236 | (2) |
|
|
236 | (1) |
|
|
237 | (1) |
|
|
237 | (1) |
|
Data Ingestion: GA4 Configuration |
|
|
238 | (1) |
|
Data Storage and Privacy Design |
|
|
239 | (1) |
|
Data Modeling--Exporting Audiences to Google Ads |
|
|
240 | (2) |
|
Data Activation: Testing Performance |
|
|
242 | (2) |
|
|
244 | (1) |
|
8 Use Case: Audience Segmentation |
|
|
245 | (22) |
|
Creating the Business Case |
|
|
245 | (5) |
|
|
246 | (1) |
|
|
247 | (2) |
|
|
249 | (1) |
|
|
250 | (4) |
|
GA4 Data Capture Configuration |
|
|
250 | (2) |
|
|
252 | (2) |
|
Data Storage: Transformations of Your Datasets |
|
|
254 | (2) |
|
|
256 | (2) |
|
|
258 | (8) |
|
Setting Up GA4 Imports Via GTM SS |
|
|
260 | (3) |
|
Exporting Audiences from GA4 |
|
|
263 | (2) |
|
|
265 | (1) |
|
|
266 | (1) |
|
9 Use Case: Real-Time Forecasting |
|
|
267 | (28) |
|
Creating the Business Case |
|
|
268 | (2) |
|
|
268 | (1) |
|
|
269 | (1) |
|
|
270 | (3) |
|
|
270 | (3) |
|
|
273 | (3) |
|
Hosting the Shiny App on Cloud Run |
|
|
273 | (3) |
|
|
276 | (3) |
|
Data Activation--A Real-Time Dashboard |
|
|
279 | (13) |
|
R Code for the Real-Time Shiny App |
|
|
280 | (2) |
|
GA4 Authentication with a Service Account |
|
|
282 | (4) |
|
Putting It All Together in a Shiny App |
|
|
286 | (6) |
|
|
292 | (3) |
|
|
295 | (8) |
|
Motivation: How I Learned What Is in This Book |
|
|
296 | (2) |
|
|
298 | (4) |
|
|
300 | (1) |
|
|
301 | (1) |
|
|
302 | (1) |
Index |
|
303 | |