@friedbotstudio/create-baseline 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +5 -0
  2. package/bin/cli.js +8 -2
  3. package/obj/template/.claude/skills/audit-baseline/audit.sh +11 -5
  4. package/obj/template/.claude/skills/google-analytics/SKILL.md +129 -0
  5. package/obj/template/.claude/skills/google-analytics/references/audiences.md +389 -0
  6. package/obj/template/.claude/skills/google-analytics/references/bigquery.md +470 -0
  7. package/obj/template/.claude/skills/google-analytics/references/custom-dimensions.md +355 -0
  8. package/obj/template/.claude/skills/google-analytics/references/custom-events.md +383 -0
  9. package/obj/template/.claude/skills/google-analytics/references/data-management.md +416 -0
  10. package/obj/template/.claude/skills/google-analytics/references/debugview.md +364 -0
  11. package/obj/template/.claude/skills/google-analytics/references/events-fundamentals.md +398 -0
  12. package/obj/template/.claude/skills/google-analytics/references/gtag.md +502 -0
  13. package/obj/template/.claude/skills/google-analytics/references/gtm-integration.md +483 -0
  14. package/obj/template/.claude/skills/google-analytics/references/measurement-protocol.md +519 -0
  15. package/obj/template/.claude/skills/google-analytics/references/privacy.md +441 -0
  16. package/obj/template/.claude/skills/google-analytics/references/recommended-events.md +464 -0
  17. package/obj/template/.claude/skills/google-analytics/references/reporting.md +397 -0
  18. package/obj/template/.claude/skills/google-analytics/references/setup.md +344 -0
  19. package/obj/template/.claude/skills/google-analytics/references/user-tracking.md +417 -0
  20. package/obj/template/.claude/skills/optimize-seo/SKILL.md +313 -0
  21. package/obj/template/.claude/skills/optimize-seo/scripts/pagespeed.mjs +197 -0
  22. package/obj/template/.claude/skills/pagespeed-insights/LICENSE.md +37 -0
  23. package/obj/template/.claude/skills/pagespeed-insights/SKILL.md +446 -0
  24. package/obj/template/.claude/skills/pagespeed-insights/reference.md +50 -0
  25. package/obj/template/CLAUDE.md +3 -3
  26. package/obj/template/docs/init/seed.md +2 -2
  27. package/obj/template/manifest.json +27 -6
  28. package/package.json +7 -2
  29. package/src/CLAUDE.template.md +3 -3
  30. package/src/cli/install.js +14 -4
  31. package/src/seed.template.md +2 -2
  32. package/obj/template/.claude/hooks/lib/__pycache__/resume_writer.cpython-314.pyc +0 -0
@@ -0,0 +1,416 @@
1
+ # GA4 Data Management and Admin Settings
2
+
3
+ Expert guidance for GA4 Admin settings including data retention, filters, user access, and property configuration.
4
+
5
+ ## Overview
6
+
7
+ GA4 Admin settings control data retention, data filters, user permissions, property configuration, and data collection parameters. Proper configuration ensures data quality and team collaboration.
8
+
9
+ ## Accessing Admin Settings
10
+
11
+ **Path:** GA4 Property -> Admin (bottom-left gear icon)
12
+
13
+ **Structure:**
14
+ - Account Column: Account-level settings
15
+ - Property Column: Property-level settings
16
+
17
+ ## Data Settings
18
+
19
+ ### Data Retention
20
+
21
+ **Path:** Admin -> Data Settings -> Data Retention
22
+
23
+ | Option | Use Case |
24
+ |--------|----------|
25
+ | 2 months | Privacy-focused, GDPR |
26
+ | 14 months | Year-over-year analysis |
27
+
28
+ **What's Affected:**
29
+ - User-level data in Explorations
30
+ - Event-level data in Explorations
31
+ - User Explorer report
32
+
33
+ **Not Affected:**
34
+ - Standard reports (aggregated, kept longer)
35
+ - Conversion data
36
+ - Audience data
37
+
38
+ **Reset on New Activity:**
39
+ - **ON:** Timer resets when user returns (rolling window)
40
+ - **OFF:** Data deleted at fixed date
41
+
42
+ **Recommendation:**
43
+ - Standard sites: 2 months
44
+ - Ecommerce/high-value: 14 months
45
+ - Export to BigQuery for unlimited retention
46
+
47
+ ### Data Collection
48
+
49
+ **Path:** Admin -> Data Settings -> Data Collection
50
+
51
+ **Google Signals:**
52
+ - Enable for demographics, interests
53
+ - Enables cross-device tracking
54
+ - Requires user opt-in for personalisation
55
+ - Impacts data thresholds in reports
56
+
57
+ **User-Provided Data:**
58
+ - Mark if collecting email, address, phone
59
+ - Required for certain Google Ads features
60
+ - Impacts policy compliance
61
+
62
+ ## Data Filters
63
+
64
+ **Path:** Admin -> Data Settings -> Data Filters
65
+
66
+ ### Filter Types
67
+
68
+ | Type | Purpose |
69
+ |------|---------|
70
+ | Internal Traffic | Exclude office/employee traffic |
71
+ | Developer Traffic | Exclude staging/development |
72
+ | Unwanted Referrals | Exclude payment processors |
73
+
74
+ ### Creating Internal Traffic Filter
75
+
76
+ **Step 1: Define Internal Traffic**
77
+
78
+ 1. Admin -> Data Streams -> Stream settings
79
+ 2. Configure tag settings -> Define internal traffic
80
+ 3. Add rules:
81
+ - Rule name: "Office IP"
82
+ - Match type: IP address equals/begins with
83
+ - IP address: Enter office IPs
84
+ 4. Save
85
+
86
+ **Step 2: Create Filter**
87
+
88
+ 1. Admin -> Data Settings -> Data Filters
89
+ 2. Click "Create Filter"
90
+ 3. Configure:
91
+ - Filter name: "Internal Traffic - Office"
92
+ - Filter type: Internal Traffic
93
+ - Filter state: Testing (initially)
94
+ 4. Save
95
+
96
+ **Step 3: Test Filter**
97
+
98
+ 1. Visit website from office IP
99
+ 2. Check DebugView: events have `traffic_type = internal`
100
+ 3. If correct, set filter to "Active"
101
+
102
+ ### Filter States
103
+
104
+ | State | Behaviour |
105
+ |-------|-----------|
106
+ | Testing | Tags traffic, doesn't exclude |
107
+ | Active | Excludes from reports |
108
+ | Inactive | Disabled |
109
+
110
+ ## User Management
111
+
112
+ **Path:** Admin -> Property Access Management
113
+
114
+ ### Roles
115
+
116
+ | Role | Capabilities |
117
+ |------|--------------|
118
+ | Viewer | View reports, create Explorations |
119
+ | Analyst | + Create audiences, custom dimensions, annotations |
120
+ | Marketer | + Manage audiences, link Google Ads |
121
+ | Editor | + Modify property settings, create events |
122
+ | Administrator | Full access including user management |
123
+
124
+ ### Adding Users
125
+
126
+ 1. Property Access Management -> Add
127
+ 2. Enter email address
128
+ 3. Select role
129
+ 4. Add optional message
130
+ 5. Click "Add"
131
+
132
+ ### Best Practices
133
+
134
+ - Principle of least privilege
135
+ - Regular access audits
136
+ - Remove users when leaving
137
+ - Use service accounts for integrations
138
+
139
+ ## Property Settings
140
+
141
+ **Path:** Admin -> Property Settings
142
+
143
+ ### Key Settings
144
+
145
+ | Setting | Description |
146
+ |---------|-------------|
147
+ | Property name | Descriptive name |
148
+ | Property ID | Read-only numeric ID |
149
+ | Reporting Time Zone | Day boundaries in reports |
150
+ | Currency | Default for revenue |
151
+ | Industry Category | Benchmarking |
152
+
153
+ ### Timezone Considerations
154
+
155
+ - Affects FUTURE data only
156
+ - Historical data keeps old timezone
157
+ - Cannot change retroactively
158
+ - Plan carefully before changing
159
+
160
+ ## Data Streams
161
+
162
+ **Path:** Admin -> Data Streams
163
+
164
+ ### Managing Streams
165
+
166
+ Click stream name to access:
167
+
168
+ **Stream Details:**
169
+ - Stream name
170
+ - Stream URL
171
+ - Measurement ID
172
+ - Stream ID
173
+
174
+ **Enhanced Measurement:**
175
+ - Page views (always on)
176
+ - Scrolls
177
+ - Outbound clicks
178
+ - Site search
179
+ - Video engagement
180
+ - File downloads
181
+ - Form interactions
182
+
183
+ **Toggle individually** to enable/disable each event type.
184
+
185
+ ### Measurement Protocol API Secrets
186
+
187
+ For server-side tracking:
188
+
189
+ 1. Click stream -> Measurement Protocol API secrets
190
+ 2. Click "Create"
191
+ 3. Enter nickname
192
+ 4. Copy secret (shown once)
193
+ 5. Store securely
194
+
195
+ ## Events Settings
196
+
197
+ **Path:** Admin -> Events
198
+
199
+ ### Viewing Events
200
+
201
+ - List of all collected events
202
+ - Event count over time
203
+ - Parameter details
204
+
205
+ ### Create Event (Modify Existing)
206
+
207
+ Create new events by modifying existing:
208
+
209
+ 1. Click "Create Event"
210
+ 2. Event name: New event name
211
+ 3. Matching conditions: Based on existing event
212
+ 4. Modifications: Add/change parameters
213
+ 5. Save
214
+
215
+ **Example:**
216
+ ```
217
+ Create: important_page_view
218
+ When: event_name = page_view AND page_path = /pricing
219
+ ```
220
+
221
+ ### Mark as Key Event
222
+
223
+ 1. Find event in list
224
+ 2. Toggle "Mark as key event"
225
+ 3. Event appears in conversion reports
226
+
227
+ **Limits:** Maximum 30 key events per property
228
+
229
+ ## Key Events (Conversions)
230
+
231
+ **Path:** Admin -> Key Events
232
+
233
+ ### Purpose
234
+
235
+ - Track important user actions
236
+ - Import to Google Ads for optimisation
237
+ - Appear in conversion reports
238
+
239
+ ### Default Key Events
240
+
241
+ - purchase (ecommerce)
242
+ - first_visit
243
+ - session_start (if enabled)
244
+
245
+ ### Marking Events
246
+
247
+ 1. Event must have fired at least once
248
+ 2. Toggle "Mark as key event"
249
+ 3. Affects future data immediately
250
+
251
+ ## Custom Definitions
252
+
253
+ **Path:** Admin -> Data Display -> Custom Definitions
254
+
255
+ ### Custom Dimensions
256
+
257
+ 1. Click "Create custom dimension"
258
+ 2. Configure:
259
+ - Dimension name: Display name
260
+ - Scope: Event, User, or Item
261
+ - Event/User parameter: Exact parameter name
262
+ 3. Save
263
+ 4. Wait 24-48 hours for data
264
+
265
+ ### Custom Metrics
266
+
267
+ 1. Click "Create custom metric"
268
+ 2. Configure:
269
+ - Metric name: Display name
270
+ - Scope: Event
271
+ - Event parameter: Numeric parameter
272
+ - Unit: Standard, Currency, Distance, Time
273
+ 3. Save
274
+
275
+ ### Limits
276
+
277
+ | Type | Standard | 360 |
278
+ |------|----------|-----|
279
+ | Event-scoped dimensions | 50 | 125 |
280
+ | User-scoped dimensions | 25 | 100 |
281
+ | Item-scoped dimensions | 10 | 25 |
282
+ | Custom metrics | 50 | 125 |
283
+
284
+ ## Product Links
285
+
286
+ **Path:** Admin -> Product Links
287
+
288
+ ### Available Links
289
+
290
+ | Link | Purpose |
291
+ |------|---------|
292
+ | Google Ads Links | Remarketing, conversions |
293
+ | Search Ads 360 | SA360 integration |
294
+ | Display & Video 360 | DV360 integration |
295
+ | BigQuery Links | Raw data export |
296
+ | AdSense Links | AdSense revenue |
297
+
298
+ ### Linking Google Ads
299
+
300
+ 1. Google Ads Links -> Link
301
+ 2. Choose Ads account
302
+ 3. Enable options:
303
+ - Personalised advertising
304
+ - Auto-tagging
305
+ 4. Confirm link
306
+
307
+ ## DebugView
308
+
309
+ **Path:** Admin -> DebugView
310
+
311
+ ### Purpose
312
+
313
+ - Real-time event debugging
314
+ - View events from debug-enabled devices
315
+ - Check parameters and user properties
316
+
317
+ ### Enable Debug Mode
318
+
319
+ - Browser extension: Google Analytics Debugger
320
+ - URL parameter: ?debug_mode=true
321
+ - gtag config: debug_mode: true
322
+ - GTM: Add debug_mode parameter
323
+
324
+ ## Channel Groups
325
+
326
+ **Path:** Admin -> Data Display -> Channel Groups
327
+
328
+ ### Default Channel Groups
329
+
330
+ Pre-defined groupings for traffic sources:
331
+ - Direct
332
+ - Organic Search
333
+ - Paid Search
334
+ - Display
335
+ - Social
336
+ - Email
337
+ - Referral
338
+
339
+ ### Custom Channel Groups
340
+
341
+ Create custom groupings:
342
+
343
+ 1. Click "Create new channel group"
344
+ 2. Add channels with rules
345
+ 3. Define conditions (source, medium, campaign)
346
+ 4. Prioritise channels
347
+ 5. Save
348
+
349
+ ## Calculated Metrics
350
+
351
+ **Path:** Admin -> Data Display -> Custom Definitions
352
+
353
+ Create derived metrics:
354
+
355
+ **Examples:**
356
+ - Revenue per User = revenue / users
357
+ - Conversion Rate = conversions / sessions * 100
358
+ - Average Order Value = revenue / purchases
359
+
360
+ **Process:**
361
+ 1. Create custom metric
362
+ 2. Type: Calculated
363
+ 3. Enter formula
364
+ 4. Save (no processing delay)
365
+
366
+ ## Attribution Settings
367
+
368
+ **Path:** Admin -> Attribution Settings
369
+
370
+ ### Reporting Attribution Model
371
+
372
+ Choose default model:
373
+ - Data-driven (recommended)
374
+ - Last click
375
+ - First click
376
+ - Linear
377
+ - Time decay
378
+ - Position-based
379
+
380
+ ### Lookback Window
381
+
382
+ - Acquisition: 30 days
383
+ - Other conversions: 30/60/90 days
384
+
385
+ ## Quick Reference
386
+
387
+ ### Data Retention
388
+
389
+ - Default: 2 months
390
+ - Max: 14 months
391
+ - For longer: Export to BigQuery
392
+
393
+ ### User Roles
394
+
395
+ - Viewer: View only
396
+ - Analyst: View + create
397
+ - Marketer: View + create + Ads
398
+ - Editor: All except user management
399
+ - Administrator: Full access
400
+
401
+ ### Custom Definitions Limits
402
+
403
+ - Event dimensions: 50
404
+ - User dimensions: 25
405
+ - Item dimensions: 10
406
+ - Custom metrics: 50
407
+
408
+ ### Key Events Limit
409
+
410
+ - Maximum: 30 per property
411
+
412
+ ### Data Filter States
413
+
414
+ - Testing: Tags but doesn't exclude
415
+ - Active: Excludes from reports
416
+ - Inactive: Disabled