@funnel10x/tracking 1.0.1 → 1.2.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.
package/README.md CHANGED
@@ -22,6 +22,18 @@ O que faz numa página:
22
22
  e nos links do checkout;
23
23
  - **o identify pelo id do contacto** num link de email ou de SMS
24
24
  (`?contact_id={{contact.id}}`);
25
+ - **o email e o telefone que a pessoa envia** (desde a 1.1.0, como a HYROS;
26
+ só no envio desde a 1.2.0): do URL, quando o funil os passa à página seguinte
27
+ (`email`, `phone`, `phoneNumber`, `phone_number`, `tel`, `telefone`), e dos
28
+ campos de email e de telefone do form que ela envia (o `submit` de um
29
+ `<form>`, ou o botão de enviar do form nativo do GHL). O de um form que ela
30
+ não enviou não sai do browser. O telefone
31
+ ganha o indicativo do seletor de país (o intl-tel-input), que é o que um
32
+ seletor costuma esconder. Vão num evento `contact_captured` (com
33
+ `contact_source`: `url` ou `form`), cada valor uma vez por página, e
34
+ só com o PostHog a medir. Não vão ao perfil (`$set`), que passaria o browser
35
+ a pessoa identificada, o escalão mais caro do PostHog: o perfil recebe-os do
36
+ identify do servidor, uma vez por contacto;
25
37
  - **a versão do snippet em cada evento** (`tracking_version`), e, num site
26
38
  `direct`, **a versão da página e o teste** (`page_version`, `ab_test`), o
27
39
  **interruptor de consentimento** do `site.json`, e a guarda das
@@ -113,7 +125,16 @@ condições de consentimento da tag no GTM, se o site tiver um banner). Uma vers
113
125
  nova é uma tag nova, nunca `@1` nem `@latest`: o GTM de cada site diz que versão
114
126
  corre, e o `tracking_version` de cada evento confirma-o.
115
127
 
116
- **O form do GHL corre num iframe** de outro domínio, onde o script da página
128
+ **Numa página de um funil do GHL, o form é nativo** (sem `<form>`, cada campo
129
+ com o query key em `data-q`), e **um campo escondido só se enche pelo URL com
130
+ que a página carrega**: o GHL lê o query key quando a app arranca, e envia o
131
+ estado dele, a que o campo não está ligado (medido a 2026-10-07: um valor
132
+ escrito no campo depois, mesmo com o evento `input`, não chega ao envio, e a tag
133
+ do *Head tracking code* corre já depois do arranque). Por isso, num funil do
134
+ GHL, a ponte entre o dispositivo e o contacto é o email que a pessoa envia (o
135
+ `contact_captured`), que o admin liga ao contacto criado nesse momento; o campo
136
+ `ph_anon_id` só se enche quando o id já vem no URL. **Um form do GHL embebido noutro site corre num
137
+ iframe** de outro domínio, onde o script da página
117
138
  não chega. O snippet passa ao iframe, pelo URL dele, os ids e os parâmetros do
118
139
  anúncio, e os campos escondidos do form lêem-nos de lá (cada campo com o
119
140
  *query key* igual ao nome). Se o form não os ler do URL, a mesma tag entra no
package/dist/gtm.html CHANGED
@@ -1,8 +1,8 @@
1
- <!-- @funnel10x/tracking@1.0.1: a tag do GTM (Custom HTML, em All Pages). Só se muda a chave; uma versão nova é um ficheiro novo. -->
1
+ <!-- @funnel10x/tracking@1.2.0: a tag do GTM (Custom HTML, em All Pages). Só se muda a chave; uma versão nova é um ficheiro novo. -->
2
2
  <script>
3
3
  window.f10xTracking = {
4
4
  key: '{{PostHog project key}}',
5
5
  checkoutHosts: []
6
6
  }
7
7
  </script>
8
- <script src="https://cdn.jsdelivr.net/npm/@funnel10x/tracking@1.0.1/dist/tag.js" integrity="sha384-TAV0wuwYZm3WbN/Lo9h2OzbAV0v6n3YnnyezN4+GuNeHWOaCDb+puCe0BRHE1rBx" crossorigin="anonymous"></script>
8
+ <script src="https://cdn.jsdelivr.net/npm/@funnel10x/tracking@1.2.0/dist/tag.js" integrity="sha384-HBEVk3iHklebWrwCgMWKmqvpecTCfdlKHwUh1ic9eiqkpraFHWtDpGguHg+5mxw/" crossorigin="anonymous"></script>