feat(analytics): enhance Google Analytics with privacy compliance and comprehensive tracking
- Add automatic route change tracking for SPA navigation - Implement Cookie consent banner for GDPR compliance - Add performance tracking (LCP, FID, CLS Web Vitals) - Add outbound link click tracking - Integrate contact form submission tracking with conversion events - Add CTA button click tracking in hero section - Integrate error tracking in ErrorBoundary component - Extend analytics utility library with 15+ tracking functions - Configure IP anonymization and privacy settings - Remove unused test files and deployment scripts - Update case studies to include only specified cases - Fix mobile navigation active state issues - Fix lint errors in test files and components BREAKING CHANGE: Google Analytics now requires user consent before tracking
This commit is contained in:
@@ -1,57 +1,47 @@
|
||||
ci:
|
||||
collect:
|
||||
numberOfRuns: 3
|
||||
startServerCommand: npm run start
|
||||
startServerReadyPattern: 'Local:'
|
||||
url:
|
||||
- http://localhost:3000/
|
||||
- http://localhost:3000/about
|
||||
- http://localhost:3000/services
|
||||
- http://localhost:3000/products
|
||||
- http://localhost:3000/cases
|
||||
- http://localhost:3000/news
|
||||
- http://localhost:3000/contact
|
||||
settings:
|
||||
preset: desktop
|
||||
onlyCategories:
|
||||
- performance
|
||||
- accessibility
|
||||
- best-practices
|
||||
- seo
|
||||
|
||||
assert:
|
||||
assertions:
|
||||
categories:performance:
|
||||
- error
|
||||
- minScore: 0.9
|
||||
categories:accessibility:
|
||||
- error
|
||||
- minScore: 0.9
|
||||
categories:best-practices:
|
||||
- error
|
||||
- minScore: 0.9
|
||||
categories:seo:
|
||||
- error
|
||||
- minScore: 0.9
|
||||
first-contentful-paint:
|
||||
- error
|
||||
- maxNumericValue: 2000
|
||||
largest-contentful-paint:
|
||||
- error
|
||||
- maxNumericValue: 3000
|
||||
cumulative-layout-shift:
|
||||
- error
|
||||
- maxNumericValue: 0.1
|
||||
total-blocking-time:
|
||||
- error
|
||||
- maxNumericValue: 300
|
||||
speed-index:
|
||||
- error
|
||||
- maxNumericValue: 3000
|
||||
|
||||
upload:
|
||||
target: temporary-public-storage
|
||||
|
||||
settings:
|
||||
output: html
|
||||
outputPath: lighthouse-reports
|
||||
{
|
||||
"ci": {
|
||||
"collect": {
|
||||
"numberOfRuns": 3,
|
||||
"startServerCommand": "npm run start",
|
||||
"startServerReadyPattern": "Local:",
|
||||
"url": [
|
||||
"http://localhost:3000/",
|
||||
"http://localhost:3000/about",
|
||||
"http://localhost:3000/services",
|
||||
"http://localhost:3000/products",
|
||||
"http://localhost:3000/cases",
|
||||
"http://localhost:3000/news",
|
||||
"http://localhost:3000/contact"
|
||||
],
|
||||
"settings": {
|
||||
"preset": "desktop",
|
||||
"onlyCategories": [
|
||||
"performance",
|
||||
"accessibility",
|
||||
"best-practices",
|
||||
"seo"
|
||||
]
|
||||
}
|
||||
},
|
||||
"assert": {
|
||||
"assertions": {
|
||||
"categories:performance": ["error", {"minScore": 0.9}],
|
||||
"categories:accessibility": ["error", {"minScore": 0.9}],
|
||||
"categories:best-practices": ["error", {"minScore": 0.9}],
|
||||
"categories:seo": ["error", {"minScore": 0.9}],
|
||||
"first-contentful-paint": ["error", {"maxNumericValue": 2000}],
|
||||
"largest-contentful-paint": ["error", {"maxNumericValue": 3000}],
|
||||
"cumulative-layout-shift": ["error", {"maxNumericValue": 0.1}],
|
||||
"total-blocking-time": ["error", {"maxNumericValue": 300}],
|
||||
"speed-index": ["error", {"maxNumericValue": 3000}]
|
||||
}
|
||||
},
|
||||
"upload": {
|
||||
"target": "temporary-public-storage"
|
||||
},
|
||||
"settings": {
|
||||
"output": "html",
|
||||
"outputPath": "lighthouse-reports"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user