Providers
Each provider is a self-contained module under pkg/provider/ that knows how to wire its tags, triggers, and variables into both the web and server GTM containers (where applicable). You enable them with enabled: true in the relevant section of sesamy.yaml.
Catalog
| Provider | Web | Server | Consent | Server events |
|---|---|---|---|---|
| Google Tag | ✔ | — | — | — |
| Google Analytics | ✔ | ✔ | analytics | PageView, SelectItem, ... |
| Google Ads | ✔ | ✔ | ad | AddToCart, Purchase |
| Conversion Linker | ✔ | — | ad | — |
| — | ✔ | ad | AddToCart, Purchase, ... | |
| — | ✔ | analytics | AddToCart, Purchase, ... | |
| Microsoft Ads | — | ✔ | ad | conversions |
| Criteo | — | ✔ | — | AddToCart, Purchase, ... |
| Emarsys | — | ✔ | analytics | Purchase, ViewItem, ... |
| Mixpanel | — | ✔ | analytics | PageView, Purchase, ... |
| Umami | — | ✔ | analytics | PageView, SelectItem |
| Tracify | — | ✔ | analytics | AddToCart, Purchase, ... |
| Hotjar | ✔ | — | — | — |
| Cookiebot | ✔ | — | CMP | — |
"Consent" indicates the Google Consent Mode signal the provider respects by default. You can override per provider.
Shape of a provider config
Most providers share the same shape:
yaml
<providerName>:
enabled: true
# provider-specific identifiers (pixel IDs, tokens, ...)
googleConsent:
enabled: true
mode: ad_storage # or analytics_storage
serverContainer: # if the provider supports server-side
directory: .
packages:
- path: github.com/foomo/sesamy-go/pkg/event
types: [PageView, AddToCart, Purchase]enabledtoggles the provider entirely. Disabled providers are not provisioned.googleConsentwires consent mode for the provider's tags. Disable it if your consent flow is handled differently.serverContainer.packageslists thesesamy-go(or your own) event types this provider should handle.
Adding a provider
- Set
enabled: trueand fill in the identifiers. - Add the event types you care about under
serverContainer.packages(andwebContainer.packagesfor providers that have a web component). sesamy diff→ review →sesamy provision.
