@miranda0808/maya-codex 0.1.0

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 (270) hide show
  1. package/README.md +30 -0
  2. package/bin/maya-codex.js +36 -0
  3. package/package.json +19 -0
  4. package/payload/.agents/skills/ab-test-setup/SKILL.md +266 -0
  5. package/payload/.agents/skills/ab-test-setup/evals/evals.json +105 -0
  6. package/payload/.agents/skills/ab-test-setup/references/sample-size-guide.md +263 -0
  7. package/payload/.agents/skills/ab-test-setup/references/test-templates.md +277 -0
  8. package/payload/.agents/skills/ad-creative/SKILL.md +362 -0
  9. package/payload/.agents/skills/ad-creative/evals/evals.json +90 -0
  10. package/payload/.agents/skills/ad-creative/references/generative-tools.md +637 -0
  11. package/payload/.agents/skills/ad-creative/references/platform-specs.md +213 -0
  12. package/payload/.agents/skills/ai-seo/SKILL.md +398 -0
  13. package/payload/.agents/skills/ai-seo/evals/evals.json +90 -0
  14. package/payload/.agents/skills/ai-seo/references/content-patterns.md +285 -0
  15. package/payload/.agents/skills/ai-seo/references/platform-ranking-factors.md +152 -0
  16. package/payload/.agents/skills/analytics-tracking/SKILL.md +309 -0
  17. package/payload/.agents/skills/analytics-tracking/evals/evals.json +90 -0
  18. package/payload/.agents/skills/analytics-tracking/references/event-library.md +260 -0
  19. package/payload/.agents/skills/analytics-tracking/references/ga4-implementation.md +300 -0
  20. package/payload/.agents/skills/analytics-tracking/references/gtm-implementation.md +390 -0
  21. package/payload/.agents/skills/churn-prevention/SKILL.md +424 -0
  22. package/payload/.agents/skills/churn-prevention/evals/evals.json +93 -0
  23. package/payload/.agents/skills/churn-prevention/references/cancel-flow-patterns.md +316 -0
  24. package/payload/.agents/skills/churn-prevention/references/dunning-playbook.md +408 -0
  25. package/payload/.agents/skills/cold-email/SKILL.md +158 -0
  26. package/payload/.agents/skills/cold-email/evals/evals.json +94 -0
  27. package/payload/.agents/skills/cold-email/references/benchmarks.md +83 -0
  28. package/payload/.agents/skills/cold-email/references/follow-up-sequences.md +81 -0
  29. package/payload/.agents/skills/cold-email/references/frameworks.md +90 -0
  30. package/payload/.agents/skills/cold-email/references/personalization.md +79 -0
  31. package/payload/.agents/skills/cold-email/references/subject-lines.md +53 -0
  32. package/payload/.agents/skills/competitor-alternatives/SKILL.md +256 -0
  33. package/payload/.agents/skills/competitor-alternatives/evals/evals.json +93 -0
  34. package/payload/.agents/skills/competitor-alternatives/references/content-architecture.md +271 -0
  35. package/payload/.agents/skills/competitor-alternatives/references/templates.md +223 -0
  36. package/payload/.agents/skills/content-strategy/SKILL.md +359 -0
  37. package/payload/.agents/skills/content-strategy/evals/evals.json +90 -0
  38. package/payload/.agents/skills/copy-editing/SKILL.md +447 -0
  39. package/payload/.agents/skills/copy-editing/evals/evals.json +89 -0
  40. package/payload/.agents/skills/copy-editing/references/plain-english-alternatives.md +394 -0
  41. package/payload/.agents/skills/copywriting/SKILL.md +252 -0
  42. package/payload/.agents/skills/copywriting/evals/evals.json +111 -0
  43. package/payload/.agents/skills/copywriting/references/copy-frameworks.md +344 -0
  44. package/payload/.agents/skills/copywriting/references/natural-transitions.md +272 -0
  45. package/payload/.agents/skills/email-sequence/SKILL.md +309 -0
  46. package/payload/.agents/skills/email-sequence/evals/evals.json +93 -0
  47. package/payload/.agents/skills/email-sequence/references/copy-guidelines.md +113 -0
  48. package/payload/.agents/skills/email-sequence/references/email-types.md +515 -0
  49. package/payload/.agents/skills/email-sequence/references/sequence-templates.md +168 -0
  50. package/payload/.agents/skills/form-cro/SKILL.md +429 -0
  51. package/payload/.agents/skills/form-cro/evals/evals.json +90 -0
  52. package/payload/.agents/skills/free-tool-strategy/SKILL.md +178 -0
  53. package/payload/.agents/skills/free-tool-strategy/evals/evals.json +90 -0
  54. package/payload/.agents/skills/free-tool-strategy/references/tool-types.md +217 -0
  55. package/payload/.agents/skills/launch-strategy/SKILL.md +353 -0
  56. package/payload/.agents/skills/launch-strategy/evals/evals.json +91 -0
  57. package/payload/.agents/skills/marketing-ideas/SKILL.md +167 -0
  58. package/payload/.agents/skills/marketing-ideas/evals/evals.json +90 -0
  59. package/payload/.agents/skills/marketing-ideas/references/ideas-by-category.md +366 -0
  60. package/payload/.agents/skills/marketing-psychology/SKILL.md +455 -0
  61. package/payload/.agents/skills/marketing-psychology/evals/evals.json +88 -0
  62. package/payload/.agents/skills/onboarding-cro/SKILL.md +220 -0
  63. package/payload/.agents/skills/onboarding-cro/evals/evals.json +92 -0
  64. package/payload/.agents/skills/onboarding-cro/references/experiments.md +258 -0
  65. package/payload/.agents/skills/page-cro/SKILL.md +182 -0
  66. package/payload/.agents/skills/page-cro/evals/evals.json +111 -0
  67. package/payload/.agents/skills/page-cro/references/experiments.md +248 -0
  68. package/payload/.agents/skills/paid-ads/SKILL.md +315 -0
  69. package/payload/.agents/skills/paid-ads/evals/evals.json +90 -0
  70. package/payload/.agents/skills/paid-ads/references/ad-copy-templates.md +207 -0
  71. package/payload/.agents/skills/paid-ads/references/audience-targeting.md +243 -0
  72. package/payload/.agents/skills/paid-ads/references/platform-setup-checklists.md +277 -0
  73. package/payload/.agents/skills/paywall-upgrade-cro/SKILL.md +227 -0
  74. package/payload/.agents/skills/paywall-upgrade-cro/evals/evals.json +93 -0
  75. package/payload/.agents/skills/paywall-upgrade-cro/references/experiments.md +164 -0
  76. package/payload/.agents/skills/popup-cro/SKILL.md +453 -0
  77. package/payload/.agents/skills/popup-cro/evals/evals.json +94 -0
  78. package/payload/.agents/skills/pricing-strategy/SKILL.md +231 -0
  79. package/payload/.agents/skills/pricing-strategy/evals/evals.json +90 -0
  80. package/payload/.agents/skills/pricing-strategy/references/research-methods.md +152 -0
  81. package/payload/.agents/skills/pricing-strategy/references/tier-structure.md +232 -0
  82. package/payload/.agents/skills/product-marketing-context/SKILL.md +27 -0
  83. package/payload/.agents/skills/product-marketing-context/evals/evals.json +40 -0
  84. package/payload/.agents/skills/programmatic-seo/SKILL.md +238 -0
  85. package/payload/.agents/skills/programmatic-seo/evals/evals.json +94 -0
  86. package/payload/.agents/skills/programmatic-seo/references/playbooks.md +308 -0
  87. package/payload/.agents/skills/referral-program/SKILL.md +255 -0
  88. package/payload/.agents/skills/referral-program/evals/evals.json +89 -0
  89. package/payload/.agents/skills/referral-program/references/affiliate-programs.md +164 -0
  90. package/payload/.agents/skills/referral-program/references/program-examples.md +143 -0
  91. package/payload/.agents/skills/revops/SKILL.md +343 -0
  92. package/payload/.agents/skills/revops/evals/evals.json +91 -0
  93. package/payload/.agents/skills/revops/references/automation-playbooks.md +290 -0
  94. package/payload/.agents/skills/revops/references/lifecycle-definitions.md +278 -0
  95. package/payload/.agents/skills/revops/references/routing-rules.md +203 -0
  96. package/payload/.agents/skills/revops/references/scoring-models.md +247 -0
  97. package/payload/.agents/skills/sales-enablement/SKILL.md +349 -0
  98. package/payload/.agents/skills/sales-enablement/evals/evals.json +91 -0
  99. package/payload/.agents/skills/sales-enablement/references/deck-frameworks.md +263 -0
  100. package/payload/.agents/skills/sales-enablement/references/demo-scripts.md +355 -0
  101. package/payload/.agents/skills/sales-enablement/references/objection-library.md +270 -0
  102. package/payload/.agents/skills/sales-enablement/references/one-pager-templates.md +208 -0
  103. package/payload/.agents/skills/schema-markup/SKILL.md +179 -0
  104. package/payload/.agents/skills/schema-markup/evals/evals.json +87 -0
  105. package/payload/.agents/skills/schema-markup/references/schema-examples.md +398 -0
  106. package/payload/.agents/skills/seo-audit/SKILL.md +412 -0
  107. package/payload/.agents/skills/seo-audit/evals/evals.json +136 -0
  108. package/payload/.agents/skills/seo-audit/references/ai-writing-detection.md +200 -0
  109. package/payload/.agents/skills/signup-flow-cro/SKILL.md +359 -0
  110. package/payload/.agents/skills/signup-flow-cro/evals/evals.json +88 -0
  111. package/payload/.agents/skills/site-architecture/SKILL.md +357 -0
  112. package/payload/.agents/skills/site-architecture/evals/evals.json +88 -0
  113. package/payload/.agents/skills/site-architecture/references/mermaid-templates.md +216 -0
  114. package/payload/.agents/skills/site-architecture/references/navigation-patterns.md +305 -0
  115. package/payload/.agents/skills/site-architecture/references/site-type-templates.md +293 -0
  116. package/payload/.agents/skills/social-content/SKILL.md +278 -0
  117. package/payload/.agents/skills/social-content/evals/evals.json +92 -0
  118. package/payload/.agents/skills/social-content/references/platforms.md +170 -0
  119. package/payload/.agents/skills/social-content/references/post-templates.md +177 -0
  120. package/payload/.agents/skills/social-content/references/reverse-engineering.md +195 -0
  121. package/payload/.maya/executor.md +79 -0
  122. package/payload/.maya/meta-api-agent.md +48 -0
  123. package/payload/.maya/modes/consult.md +63 -0
  124. package/payload/.maya/modes/task.md +97 -0
  125. package/payload/.maya/planner.md +69 -0
  126. package/payload/.maya/researcher.md +51 -0
  127. package/payload/.maya/templates/plan.md +77 -0
  128. package/payload/.maya/templates/state.md +87 -0
  129. package/payload/.maya/templates/task-packet.md +75 -0
  130. package/payload/MAYA-CATALOG.md +115 -0
  131. package/payload/MAYA-DEPENDENCIES.md +58 -0
  132. package/payload/MAYA.md +151 -0
  133. package/payload/campaigns/README.md +14 -0
  134. package/payload/commands/maya-consult.md +28 -0
  135. package/payload/commands/maya-task.md +38 -0
  136. package/payload/commands/product.md +55 -0
  137. package/payload/research/README.md +14 -0
  138. package/payload/templates/README.md +15 -0
  139. package/payload/templates/plan.md +77 -0
  140. package/payload/templates/state.md +87 -0
  141. package/payload/templates/task-packet.md +75 -0
  142. package/payload/tools/REGISTRY.md +368 -0
  143. package/payload/tools/clis/README.md +187 -0
  144. package/payload/tools/clis/activecampaign.js +435 -0
  145. package/payload/tools/clis/adobe-analytics.js +161 -0
  146. package/payload/tools/clis/ahrefs.js +192 -0
  147. package/payload/tools/clis/amplitude.js +182 -0
  148. package/payload/tools/clis/apollo.js +142 -0
  149. package/payload/tools/clis/beehiiv.js +245 -0
  150. package/payload/tools/clis/brevo.js +368 -0
  151. package/payload/tools/clis/buffer.js +260 -0
  152. package/payload/tools/clis/calendly.js +253 -0
  153. package/payload/tools/clis/clearbit.js +163 -0
  154. package/payload/tools/clis/customer-io.js +205 -0
  155. package/payload/tools/clis/dataforseo.js +257 -0
  156. package/payload/tools/clis/demio.js +149 -0
  157. package/payload/tools/clis/dub.js +158 -0
  158. package/payload/tools/clis/g2.js +186 -0
  159. package/payload/tools/clis/ga4.js +194 -0
  160. package/payload/tools/clis/google-ads.js +189 -0
  161. package/payload/tools/clis/google-search-console.js +166 -0
  162. package/payload/tools/clis/hotjar.js +167 -0
  163. package/payload/tools/clis/hunter.js +249 -0
  164. package/payload/tools/clis/instantly.js +270 -0
  165. package/payload/tools/clis/intercom.js +399 -0
  166. package/payload/tools/clis/keywords-everywhere.js +185 -0
  167. package/payload/tools/clis/kit.js +232 -0
  168. package/payload/tools/clis/klaviyo.js +348 -0
  169. package/payload/tools/clis/lemlist.js +221 -0
  170. package/payload/tools/clis/linkedin-ads.js +185 -0
  171. package/payload/tools/clis/livestorm.js +292 -0
  172. package/payload/tools/clis/mailchimp.js +220 -0
  173. package/payload/tools/clis/mention-me.js +161 -0
  174. package/payload/tools/clis/meta-ads.js +181 -0
  175. package/payload/tools/clis/mixpanel.js +248 -0
  176. package/payload/tools/clis/onesignal.js +241 -0
  177. package/payload/tools/clis/optimizely.js +233 -0
  178. package/payload/tools/clis/paddle.js +385 -0
  179. package/payload/tools/clis/partnerstack.js +382 -0
  180. package/payload/tools/clis/plausible.js +249 -0
  181. package/payload/tools/clis/postmark.js +375 -0
  182. package/payload/tools/clis/resend.js +370 -0
  183. package/payload/tools/clis/rewardful.js +160 -0
  184. package/payload/tools/clis/savvycal.js +223 -0
  185. package/payload/tools/clis/segment.js +192 -0
  186. package/payload/tools/clis/semrush.js +207 -0
  187. package/payload/tools/clis/sendgrid.js +211 -0
  188. package/payload/tools/clis/snov.js +237 -0
  189. package/payload/tools/clis/tiktok-ads.js +190 -0
  190. package/payload/tools/clis/tolt.js +153 -0
  191. package/payload/tools/clis/trustpilot.js +276 -0
  192. package/payload/tools/clis/typeform.js +269 -0
  193. package/payload/tools/clis/wistia.js +256 -0
  194. package/payload/tools/clis/zapier.js +160 -0
  195. package/payload/tools/integrations/activecampaign.md +337 -0
  196. package/payload/tools/integrations/adobe-analytics.md +156 -0
  197. package/payload/tools/integrations/ahrefs.md +142 -0
  198. package/payload/tools/integrations/amplitude.md +135 -0
  199. package/payload/tools/integrations/apollo.md +148 -0
  200. package/payload/tools/integrations/beehiiv.md +157 -0
  201. package/payload/tools/integrations/brevo.md +268 -0
  202. package/payload/tools/integrations/buffer.md +138 -0
  203. package/payload/tools/integrations/calendly.md +161 -0
  204. package/payload/tools/integrations/clearbit.md +142 -0
  205. package/payload/tools/integrations/customer-io.md +187 -0
  206. package/payload/tools/integrations/dataforseo.md +165 -0
  207. package/payload/tools/integrations/demio.md +182 -0
  208. package/payload/tools/integrations/dub-co.md +160 -0
  209. package/payload/tools/integrations/g2.md +179 -0
  210. package/payload/tools/integrations/ga4.md +126 -0
  211. package/payload/tools/integrations/google-ads.md +159 -0
  212. package/payload/tools/integrations/google-search-console.md +147 -0
  213. package/payload/tools/integrations/hotjar.md +147 -0
  214. package/payload/tools/integrations/hubspot.md +178 -0
  215. package/payload/tools/integrations/hunter.md +90 -0
  216. package/payload/tools/integrations/instantly.md +104 -0
  217. package/payload/tools/integrations/intercom.md +292 -0
  218. package/payload/tools/integrations/keywords-everywhere.md +207 -0
  219. package/payload/tools/integrations/kit.md +167 -0
  220. package/payload/tools/integrations/klaviyo.md +228 -0
  221. package/payload/tools/integrations/lemlist.md +110 -0
  222. package/payload/tools/integrations/linkedin-ads.md +164 -0
  223. package/payload/tools/integrations/livestorm.md +313 -0
  224. package/payload/tools/integrations/mailchimp.md +150 -0
  225. package/payload/tools/integrations/mention-me.md +160 -0
  226. package/payload/tools/integrations/meta-ads.md +147 -0
  227. package/payload/tools/integrations/mixpanel.md +137 -0
  228. package/payload/tools/integrations/onesignal.md +229 -0
  229. package/payload/tools/integrations/optimizely.md +171 -0
  230. package/payload/tools/integrations/paddle.md +212 -0
  231. package/payload/tools/integrations/partnerstack.md +222 -0
  232. package/payload/tools/integrations/plausible.md +177 -0
  233. package/payload/tools/integrations/posthog.md +151 -0
  234. package/payload/tools/integrations/postmark.md +234 -0
  235. package/payload/tools/integrations/resend.md +168 -0
  236. package/payload/tools/integrations/rewardful.md +147 -0
  237. package/payload/tools/integrations/salesforce.md +150 -0
  238. package/payload/tools/integrations/savvycal.md +181 -0
  239. package/payload/tools/integrations/segment.md +159 -0
  240. package/payload/tools/integrations/semrush.md +121 -0
  241. package/payload/tools/integrations/sendgrid.md +161 -0
  242. package/payload/tools/integrations/shopify.md +176 -0
  243. package/payload/tools/integrations/snov.md +94 -0
  244. package/payload/tools/integrations/stripe.md +148 -0
  245. package/payload/tools/integrations/tiktok-ads.md +161 -0
  246. package/payload/tools/integrations/tolt.md +144 -0
  247. package/payload/tools/integrations/trustpilot.md +191 -0
  248. package/payload/tools/integrations/typeform.md +190 -0
  249. package/payload/tools/integrations/webflow.md +198 -0
  250. package/payload/tools/integrations/wistia.md +164 -0
  251. package/payload/tools/integrations/wordpress.md +175 -0
  252. package/payload/tools/integrations/zapier.md +150 -0
  253. package/payload/tools/meta/README.md +55 -0
  254. package/payload/tools/meta/meta-cache-schema.md +65 -0
  255. package/payload/tools/meta/meta-fetch.ps1 +324 -0
  256. package/payload/tools/meta/meta-fetch.test.ps1 +38 -0
  257. package/vendor/shared-installer/manifests/claude-files.json +13 -0
  258. package/vendor/shared-installer/manifests/codex-files.json +13 -0
  259. package/vendor/shared-installer/manifests/common-files.json +13 -0
  260. package/vendor/shared-installer/package.json +15 -0
  261. package/vendor/shared-installer/src/bootstrap.js +12 -0
  262. package/vendor/shared-installer/src/cli-options.js +53 -0
  263. package/vendor/shared-installer/src/fs.js +105 -0
  264. package/vendor/shared-installer/src/index.js +44 -0
  265. package/vendor/shared-installer/src/install.js +157 -0
  266. package/vendor/shared-installer/src/manifest.js +52 -0
  267. package/vendor/shared-installer/templates/claude/.claude/skills/.gitkeep +1 -0
  268. package/vendor/shared-installer/templates/claude/CLAUDE.md +27 -0
  269. package/vendor/shared-installer/templates/codex/.agent/skills/.gitkeep +1 -0
  270. package/vendor/shared-installer/templates/codex/AGENTS.md +27 -0
@@ -0,0 +1,300 @@
1
+ # GA4 Implementation Reference
2
+
3
+ Detailed implementation guide for Google Analytics 4.
4
+
5
+ ## Contents
6
+ - Configuration (data streams, enhanced measurement events, recommended events)
7
+ - Custom Events (gtag.js implementation, Google Tag Manager)
8
+ - Conversions Setup (creating conversions, conversion values)
9
+ - Custom Dimensions and Metrics (when to use, setup steps, examples)
10
+ - Audiences (creating audiences, audience examples)
11
+ - Debugging (DebugView, real-time reports, common issues)
12
+ - Data Quality (filters, cross-domain tracking, session settings)
13
+ - Integration with Google Ads (linking, audience export)
14
+
15
+ ## Configuration
16
+
17
+ ### Data Streams
18
+
19
+ - One stream per platform (web, iOS, Android)
20
+ - Enable enhanced measurement for automatic tracking
21
+ - Configure data retention (2 months default, 14 months max)
22
+ - Enable Google Signals (for cross-device, if consented)
23
+
24
+ ### Enhanced Measurement Events (Automatic)
25
+
26
+ | Event | Description | Configuration |
27
+ |-------|-------------|---------------|
28
+ | page_view | Page loads | Automatic |
29
+ | scroll | 90% scroll depth | Toggle on/off |
30
+ | outbound_click | Click to external domain | Automatic |
31
+ | site_search | Search query used | Configure parameter |
32
+ | video_engagement | YouTube video plays | Toggle on/off |
33
+ | file_download | PDF, docs, etc. | Configurable extensions |
34
+
35
+ ### Recommended Events
36
+
37
+ Use Google's predefined events when possible for enhanced reporting:
38
+
39
+ **All properties:**
40
+ - login, sign_up
41
+ - share
42
+ - search
43
+
44
+ **E-commerce:**
45
+ - view_item, view_item_list
46
+ - add_to_cart, remove_from_cart
47
+ - begin_checkout
48
+ - add_payment_info
49
+ - purchase, refund
50
+
51
+ **Games:**
52
+ - level_up, unlock_achievement
53
+ - post_score, spend_virtual_currency
54
+
55
+ Reference: https://support.google.com/analytics/answer/9267735
56
+
57
+ ---
58
+
59
+ ## Custom Events
60
+
61
+ ### gtag.js Implementation
62
+
63
+ ```javascript
64
+ // Basic event
65
+ gtag('event', 'signup_completed', {
66
+ 'method': 'email',
67
+ 'plan': 'free'
68
+ });
69
+
70
+ // Event with value
71
+ gtag('event', 'purchase', {
72
+ 'transaction_id': 'T12345',
73
+ 'value': 99.99,
74
+ 'currency': 'USD',
75
+ 'items': [{
76
+ 'item_id': 'SKU123',
77
+ 'item_name': 'Product Name',
78
+ 'price': 99.99
79
+ }]
80
+ });
81
+
82
+ // User properties
83
+ gtag('set', 'user_properties', {
84
+ 'user_type': 'premium',
85
+ 'plan_name': 'pro'
86
+ });
87
+
88
+ // User ID (for logged-in users)
89
+ gtag('config', 'GA_MEASUREMENT_ID', {
90
+ 'user_id': 'USER_ID'
91
+ });
92
+ ```
93
+
94
+ ### Google Tag Manager (dataLayer)
95
+
96
+ ```javascript
97
+ // Custom event
98
+ dataLayer.push({
99
+ 'event': 'signup_completed',
100
+ 'method': 'email',
101
+ 'plan': 'free'
102
+ });
103
+
104
+ // Set user properties
105
+ dataLayer.push({
106
+ 'user_id': '12345',
107
+ 'user_type': 'premium'
108
+ });
109
+
110
+ // E-commerce purchase
111
+ dataLayer.push({
112
+ 'event': 'purchase',
113
+ 'ecommerce': {
114
+ 'transaction_id': 'T12345',
115
+ 'value': 99.99,
116
+ 'currency': 'USD',
117
+ 'items': [{
118
+ 'item_id': 'SKU123',
119
+ 'item_name': 'Product Name',
120
+ 'price': 99.99,
121
+ 'quantity': 1
122
+ }]
123
+ }
124
+ });
125
+
126
+ // Clear ecommerce before sending (best practice)
127
+ dataLayer.push({ ecommerce: null });
128
+ dataLayer.push({
129
+ 'event': 'view_item',
130
+ 'ecommerce': {
131
+ // ...
132
+ }
133
+ });
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Conversions Setup
139
+
140
+ ### Creating Conversions
141
+
142
+ 1. **Collect the event** - Ensure event is firing in GA4
143
+ 2. **Mark as conversion** - Admin > Events > Mark as conversion
144
+ 3. **Set counting method**:
145
+ - Once per session (leads, signups)
146
+ - Every event (purchases)
147
+ 4. **Import to Google Ads** - For conversion-optimized bidding
148
+
149
+ ### Conversion Values
150
+
151
+ ```javascript
152
+ // Event with conversion value
153
+ gtag('event', 'purchase', {
154
+ 'value': 99.99,
155
+ 'currency': 'USD'
156
+ });
157
+ ```
158
+
159
+ Or set default value in GA4 Admin when marking conversion.
160
+
161
+ ---
162
+
163
+ ## Custom Dimensions and Metrics
164
+
165
+ ### When to Use
166
+
167
+ **Custom dimensions:**
168
+ - Properties you want to segment/filter by
169
+ - User attributes (plan type, industry)
170
+ - Content attributes (author, category)
171
+
172
+ **Custom metrics:**
173
+ - Numeric values to aggregate
174
+ - Scores, counts, durations
175
+
176
+ ### Setup Steps
177
+
178
+ 1. Admin > Data display > Custom definitions
179
+ 2. Create dimension or metric
180
+ 3. Choose scope:
181
+ - **Event**: Per event (content_type)
182
+ - **User**: Per user (account_type)
183
+ - **Item**: Per product (product_category)
184
+ 4. Enter parameter name (must match event parameter)
185
+
186
+ ### Examples
187
+
188
+ | Dimension | Scope | Parameter | Description |
189
+ |-----------|-------|-----------|-------------|
190
+ | User Type | User | user_type | Free, trial, paid |
191
+ | Content Author | Event | author | Blog post author |
192
+ | Product Category | Item | item_category | E-commerce category |
193
+
194
+ ---
195
+
196
+ ## Audiences
197
+
198
+ ### Creating Audiences
199
+
200
+ Admin > Data display > Audiences
201
+
202
+ **Use cases:**
203
+ - Remarketing audiences (export to Ads)
204
+ - Segment analysis
205
+ - Trigger-based events
206
+
207
+ ### Audience Examples
208
+
209
+ **High-intent visitors:**
210
+ - Viewed pricing page
211
+ - Did not convert
212
+ - In last 7 days
213
+
214
+ **Engaged users:**
215
+ - 3+ sessions
216
+ - Or 5+ minutes total engagement
217
+
218
+ **Purchasers:**
219
+ - Purchase event
220
+ - For exclusion or lookalike
221
+
222
+ ---
223
+
224
+ ## Debugging
225
+
226
+ ### DebugView
227
+
228
+ Enable with:
229
+ - URL parameter: `?debug_mode=true`
230
+ - Chrome extension: GA Debugger
231
+ - gtag: `'debug_mode': true` in config
232
+
233
+ View at: Reports > Configure > DebugView
234
+
235
+ ### Real-Time Reports
236
+
237
+ Check events within 30 minutes:
238
+ Reports > Real-time
239
+
240
+ ### Common Issues
241
+
242
+ **Events not appearing:**
243
+ - Check DebugView first
244
+ - Verify gtag/GTM firing
245
+ - Check filter exclusions
246
+
247
+ **Parameter values missing:**
248
+ - Custom dimension not created
249
+ - Parameter name mismatch
250
+ - Data still processing (24-48 hrs)
251
+
252
+ **Conversions not recording:**
253
+ - Event not marked as conversion
254
+ - Event name doesn't match
255
+ - Counting method (once vs. every)
256
+
257
+ ---
258
+
259
+ ## Data Quality
260
+
261
+ ### Filters
262
+
263
+ Admin > Data streams > [Stream] > Configure tag settings > Define internal traffic
264
+
265
+ **Exclude:**
266
+ - Internal IP addresses
267
+ - Developer traffic
268
+ - Testing environments
269
+
270
+ ### Cross-Domain Tracking
271
+
272
+ For multiple domains sharing analytics:
273
+
274
+ 1. Admin > Data streams > [Stream] > Configure tag settings
275
+ 2. Configure your domains
276
+ 3. List all domains that should share sessions
277
+
278
+ ### Session Settings
279
+
280
+ Admin > Data streams > [Stream] > Configure tag settings
281
+
282
+ - Session timeout (default 30 min)
283
+ - Engaged session duration (10 sec default)
284
+
285
+ ---
286
+
287
+ ## Integration with Google Ads
288
+
289
+ ### Linking
290
+
291
+ 1. Admin > Product links > Google Ads links
292
+ 2. Enable auto-tagging in Google Ads
293
+ 3. Import conversions in Google Ads
294
+
295
+ ### Audience Export
296
+
297
+ Audiences created in GA4 can be used in Google Ads for:
298
+ - Remarketing campaigns
299
+ - Customer match
300
+ - Similar audiences
@@ -0,0 +1,390 @@
1
+ # Google Tag Manager Implementation Reference
2
+
3
+ Detailed guide for implementing tracking via Google Tag Manager.
4
+
5
+ ## Contents
6
+ - Container Structure (tags, triggers, variables)
7
+ - Naming Conventions
8
+ - Data Layer Patterns
9
+ - Common Tag Configurations (GA4 configuration tag, GA4 event tag, Facebook pixel)
10
+ - Preview and Debug
11
+ - Workspaces and Versioning
12
+ - Consent Management
13
+ - Advanced Patterns (tag sequencing, exception handling, custom JavaScript variables)
14
+
15
+ ## Container Structure
16
+
17
+ ### Tags
18
+
19
+ Tags are code snippets that execute when triggered.
20
+
21
+ **Common tag types:**
22
+ - GA4 Configuration (base setup)
23
+ - GA4 Event (custom events)
24
+ - Google Ads Conversion
25
+ - Facebook Pixel
26
+ - LinkedIn Insight Tag
27
+ - Custom HTML (for other pixels)
28
+
29
+ ### Triggers
30
+
31
+ Triggers define when tags fire.
32
+
33
+ **Built-in triggers:**
34
+ - Page View: All Pages, DOM Ready, Window Loaded
35
+ - Click: All Elements, Just Links
36
+ - Form Submission
37
+ - Scroll Depth
38
+ - Timer
39
+ - Element Visibility
40
+
41
+ **Custom triggers:**
42
+ - Custom Event (from dataLayer)
43
+ - Trigger Groups (multiple conditions)
44
+
45
+ ### Variables
46
+
47
+ Variables capture dynamic values.
48
+
49
+ **Built-in (enable as needed):**
50
+ - Click Text, Click URL, Click ID, Click Classes
51
+ - Page Path, Page URL, Page Hostname
52
+ - Referrer
53
+ - Form Element, Form ID
54
+
55
+ **User-defined:**
56
+ - Data Layer variables
57
+ - JavaScript variables
58
+ - Lookup tables
59
+ - RegEx tables
60
+ - Constants
61
+
62
+ ---
63
+
64
+ ## Naming Conventions
65
+
66
+ ### Recommended Format
67
+
68
+ ```
69
+ [Type] - [Description] - [Detail]
70
+
71
+ Tags:
72
+ GA4 - Event - Signup Completed
73
+ GA4 - Config - Base Configuration
74
+ FB - Pixel - Page View
75
+ HTML - LiveChat Widget
76
+
77
+ Triggers:
78
+ Click - CTA Button
79
+ Submit - Contact Form
80
+ View - Pricing Page
81
+ Custom - signup_completed
82
+
83
+ Variables:
84
+ DL - user_id
85
+ JS - Current Timestamp
86
+ LT - Campaign Source Map
87
+ ```
88
+
89
+ ---
90
+
91
+ ## Data Layer Patterns
92
+
93
+ ### Basic Structure
94
+
95
+ ```javascript
96
+ // Initialize (in <head> before GTM)
97
+ window.dataLayer = window.dataLayer || [];
98
+
99
+ // Push event
100
+ dataLayer.push({
101
+ 'event': 'event_name',
102
+ 'property1': 'value1',
103
+ 'property2': 'value2'
104
+ });
105
+ ```
106
+
107
+ ### Page Load Data
108
+
109
+ ```javascript
110
+ // Set on page load (before GTM container)
111
+ window.dataLayer = window.dataLayer || [];
112
+ dataLayer.push({
113
+ 'pageType': 'product',
114
+ 'contentGroup': 'products',
115
+ 'user': {
116
+ 'loggedIn': true,
117
+ 'userId': '12345',
118
+ 'userType': 'premium'
119
+ }
120
+ });
121
+ ```
122
+
123
+ ### Form Submission
124
+
125
+ ```javascript
126
+ document.querySelector('#contact-form').addEventListener('submit', function() {
127
+ dataLayer.push({
128
+ 'event': 'form_submitted',
129
+ 'formName': 'contact',
130
+ 'formLocation': 'footer'
131
+ });
132
+ });
133
+ ```
134
+
135
+ ### Button Click
136
+
137
+ ```javascript
138
+ document.querySelector('.cta-button').addEventListener('click', function() {
139
+ dataLayer.push({
140
+ 'event': 'cta_clicked',
141
+ 'ctaText': this.innerText,
142
+ 'ctaLocation': 'hero'
143
+ });
144
+ });
145
+ ```
146
+
147
+ ### E-commerce Events
148
+
149
+ ```javascript
150
+ // Product view
151
+ dataLayer.push({ ecommerce: null }); // Clear previous
152
+ dataLayer.push({
153
+ 'event': 'view_item',
154
+ 'ecommerce': {
155
+ 'items': [{
156
+ 'item_id': 'SKU123',
157
+ 'item_name': 'Product Name',
158
+ 'price': 99.99,
159
+ 'item_category': 'Category',
160
+ 'quantity': 1
161
+ }]
162
+ }
163
+ });
164
+
165
+ // Add to cart
166
+ dataLayer.push({ ecommerce: null });
167
+ dataLayer.push({
168
+ 'event': 'add_to_cart',
169
+ 'ecommerce': {
170
+ 'items': [{
171
+ 'item_id': 'SKU123',
172
+ 'item_name': 'Product Name',
173
+ 'price': 99.99,
174
+ 'quantity': 1
175
+ }]
176
+ }
177
+ });
178
+
179
+ // Purchase
180
+ dataLayer.push({ ecommerce: null });
181
+ dataLayer.push({
182
+ 'event': 'purchase',
183
+ 'ecommerce': {
184
+ 'transaction_id': 'T12345',
185
+ 'value': 99.99,
186
+ 'currency': 'USD',
187
+ 'tax': 5.00,
188
+ 'shipping': 10.00,
189
+ 'items': [{
190
+ 'item_id': 'SKU123',
191
+ 'item_name': 'Product Name',
192
+ 'price': 99.99,
193
+ 'quantity': 1
194
+ }]
195
+ }
196
+ });
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Common Tag Configurations
202
+
203
+ ### GA4 Configuration Tag
204
+
205
+ **Tag Type:** Google Analytics: GA4 Configuration
206
+
207
+ **Settings:**
208
+ - Measurement ID: G-XXXXXXXX
209
+ - Send page view: Checked (for pageviews)
210
+ - User Properties: Add any user-level dimensions
211
+
212
+ **Trigger:** All Pages
213
+
214
+ ### GA4 Event Tag
215
+
216
+ **Tag Type:** Google Analytics: GA4 Event
217
+
218
+ **Settings:**
219
+ - Configuration Tag: Select your config tag
220
+ - Event Name: {{DL - event_name}} or hardcode
221
+ - Event Parameters: Add parameters from dataLayer
222
+
223
+ **Trigger:** Custom Event with event name match
224
+
225
+ ### Facebook Pixel - Base
226
+
227
+ **Tag Type:** Custom HTML
228
+
229
+ ```html
230
+ <script>
231
+ !function(f,b,e,v,n,t,s)
232
+ {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
233
+ n.callMethod.apply(n,arguments):n.queue.push(arguments)};
234
+ if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
235
+ n.queue=[];t=b.createElement(e);t.async=!0;
236
+ t.src=v;s=b.getElementsByTagName(e)[0];
237
+ s.parentNode.insertBefore(t,s)}(window, document,'script',
238
+ 'https://connect.facebook.net/en_US/fbevents.js');
239
+ fbq('init', 'YOUR_PIXEL_ID');
240
+ fbq('track', 'PageView');
241
+ </script>
242
+ ```
243
+
244
+ **Trigger:** All Pages
245
+
246
+ ### Facebook Pixel - Event
247
+
248
+ **Tag Type:** Custom HTML
249
+
250
+ ```html
251
+ <script>
252
+ fbq('track', 'Lead', {
253
+ content_name: '{{DL - form_name}}'
254
+ });
255
+ </script>
256
+ ```
257
+
258
+ **Trigger:** Custom Event - form_submitted
259
+
260
+ ---
261
+
262
+ ## Preview and Debug
263
+
264
+ ### Preview Mode
265
+
266
+ 1. Click "Preview" in GTM
267
+ 2. Enter site URL
268
+ 3. GTM debug panel opens at bottom
269
+
270
+ **What to check:**
271
+ - Tags fired on this event
272
+ - Tags not fired (and why)
273
+ - Variables and their values
274
+ - Data layer contents
275
+
276
+ ### Debug Tips
277
+
278
+ **Tag not firing:**
279
+ - Check trigger conditions
280
+ - Verify data layer push
281
+ - Check tag sequencing
282
+
283
+ **Wrong variable value:**
284
+ - Check data layer structure
285
+ - Verify variable path (nested objects)
286
+ - Check timing (data may not exist yet)
287
+
288
+ **Multiple firings:**
289
+ - Check trigger uniqueness
290
+ - Look for duplicate tags
291
+ - Check tag firing options
292
+
293
+ ---
294
+
295
+ ## Workspaces and Versioning
296
+
297
+ ### Workspaces
298
+
299
+ Use workspaces for team collaboration:
300
+ - Default workspace for production
301
+ - Separate workspaces for large changes
302
+ - Merge when ready
303
+
304
+ ### Version Management
305
+
306
+ **Best practices:**
307
+ - Name every version descriptively
308
+ - Add notes explaining changes
309
+ - Review changes before publish
310
+ - Keep production version noted
311
+
312
+ **Version notes example:**
313
+ ```
314
+ v15: Added purchase conversion tracking
315
+ - New tag: GA4 - Event - Purchase
316
+ - New trigger: Custom Event - purchase
317
+ - New variables: DL - transaction_id, DL - value
318
+ - Tested: Chrome, Safari, Mobile
319
+ ```
320
+
321
+ ---
322
+
323
+ ## Consent Management
324
+
325
+ ### Consent Mode Integration
326
+
327
+ ```javascript
328
+ // Default state (before consent)
329
+ gtag('consent', 'default', {
330
+ 'analytics_storage': 'denied',
331
+ 'ad_storage': 'denied'
332
+ });
333
+
334
+ // Update on consent
335
+ function grantConsent() {
336
+ gtag('consent', 'update', {
337
+ 'analytics_storage': 'granted',
338
+ 'ad_storage': 'granted'
339
+ });
340
+ }
341
+ ```
342
+
343
+ ### GTM Consent Overview
344
+
345
+ 1. Enable Consent Overview in Admin
346
+ 2. Configure consent for each tag
347
+ 3. Tags respect consent state automatically
348
+
349
+ ---
350
+
351
+ ## Advanced Patterns
352
+
353
+ ### Tag Sequencing
354
+
355
+ **Setup tags to fire in order:**
356
+ Tag Configuration > Advanced Settings > Tag Sequencing
357
+
358
+ **Use cases:**
359
+ - Config tag before event tags
360
+ - Pixel initialization before tracking
361
+ - Cleanup after conversion
362
+
363
+ ### Exception Handling
364
+
365
+ **Trigger exceptions** - Prevent tag from firing:
366
+ - Exclude certain pages
367
+ - Exclude internal traffic
368
+ - Exclude during testing
369
+
370
+ ### Custom JavaScript Variables
371
+
372
+ ```javascript
373
+ // Get URL parameter
374
+ function() {
375
+ var params = new URLSearchParams(window.location.search);
376
+ return params.get('campaign') || '(not set)';
377
+ }
378
+
379
+ // Get cookie value
380
+ function() {
381
+ var match = document.cookie.match('(^|;) ?user_id=([^;]*)(;|$)');
382
+ return match ? match[2] : null;
383
+ }
384
+
385
+ // Get data from page
386
+ function() {
387
+ var el = document.querySelector('.product-price');
388
+ return el ? parseFloat(el.textContent.replace('$', '')) : 0;
389
+ }
390
+ ```