Folloze Analytics Tracking
Instrument the experience with the current Folloze MCP analytics contract. Track meaningful buyer actions without exposing raw financial inputs, account-confidential values, free text, credentials, or personally identifiable information.
Authority And Precedence
- Read the current Folloze board creation guide or landing page creation guide exposed by the active MCP connection.
- Read the analytics acknowledgement fields required by the active save tool.
- Apply this skill to the actual interactive HTML.
The current guide and save schema override examples or older catalog archives. Do not inject a custom analytics bridge, reach into window.board, or call undocumented Folloze controllers unless the current guide explicitly requires that exact integration.
If the live guide or save schema is unavailable, stop before Folloze save or publish. A local HTML build may continue only when it is clearly labeled as not ready for Folloze analytics verification.
Required Tracking Contract
Use the global flzAnalytic(actionName, payload, sourceElement) interface documented by the current Folloze guide.
For every CTA and external link, use a direct inline call so the Folloze save validator can inspect it:
<a href="https://example.com/demo"
target="_blank"
rel="noopener"
{text:this.innerText.trim(), area:'calculator results'}, this)">
Review the recommendation
</a>
Use stable underscore action names. Examples include:
cta_clicknav_clickcalculator_startedcalculator_input_changedcalculator_scenario_changedcalculator_results_viewedcalculator_assumptions_openedcalculator_summary_printedvalidation_error
Every payload must contain:
text: a visible label or a safe stable control label;area: the page region where the interaction occurred.
Pass the source element as the third argument when one exists. For external destinations, always use target="_blank" rel="noopener" so navigation does not interrupt the analytics request.
Composite And Calculator Controls
Interactive calculators may keep their existing JavaScript and event listeners. Each meaningful state change must also call flzAnalytic with a safe payload.
function trackCalculatorAction(actionName, text, area, sourceElement) {
if (typeof window.flzAnalytic !== "function") return;
window.flzAnalytic(actionName, { text, area }, sourceElement || null);
}
scenarioSelect.addEventListener("change", function () {
trackCalculatorAction(
"calculator_scenario_changed",
this.options[this.selectedIndex].text.trim(),
"calculator controls",
this
);
});
Do not place raw currency values, percentages, customer metrics, account names, email addresses, free text, exact modeled results, destination URLs, query strings, form values, element datasets, or arbitrary metadata in analytics payloads. Use only text, area, and allowlisted categorical fields such as input ID, scenario label, result band, validation type, and calculator version. Keep labels concise and drop unexpected keys before calling flzAnalytic.
Navigation And Internal Movement
Do not use raw href="#section" anchors inside Folloze-hosted pages. Use a button with type="button" and a stable data-scroll-target, then call scrollIntoView() and emit a tracked navigation event.
<button type="button"
data-scroll-target="roi-results"
{text:this.innerText.trim(), area:'calculator navigation'}, this)">
See modeled results
</button>
Decorative images, icons, and containers are not interactive and must not receive analytics handlers. If a card is clickable, make it a semantic link or button, then track that control.
Pre-Save Audit
Before a Folloze save or publish:
- Inventory every CTA, link, button, selector, slider, tab, accordion, media control, print action, drawer, and internal navigation control.
- Confirm every meaningful interaction emits a descriptive event.
- Confirm every CTA uses
cta_clickwithtext,area, and the source element. - Confirm every external link uses
target="_blank" rel="noopener". - Confirm no payload includes raw financial values, PII, credentials, account-confidential values, or free text.
- Confirm action names use stable underscores.
- Confirm the HTML satisfies every analytics acknowledgement required by the active save tool.
- Test locally with an analytics spy, then test the saved Folloze experience independently.
Local spy tests prove event emission only. They do not prove Folloze Pulse delivery. Report local instrumentation and production delivery as separate states.
Completion Receipt
Report:
- current Folloze guide read status;
- CTA coverage count;
- custom interaction coverage count;
- external link safety count;
- sensitive payload review status;
- local spy test status;
- Folloze save validator status;
- production Folloze Pulse verification status.
Use not attempted, blocked, failed, or verified for every state. Do not claim analytics delivery without direct production evidence.