BFBambooForge Labs

Marketing Automation Suite: Landing Pages & Forms

Marketing automation with landing pages: build one from a form in a click, enrol submissions straight into a journey, and keep the UTM.

Buy on the Odoo Apps StoreOpen the live demoMarketing€661Community & Enterprise

Available for Odoo 16.0, Odoo 17.0, Odoo 18.0, Odoo 19.0. Technical name bambooforge_ma_landing.

Odoo 16.0Odoo 17.0Odoo 18.0Odoo 19.0
Full walkthrough on a live Odoo 19.0 database, with subtitles. It ends with what this app deliberately does not do.

Marketing Automation Suite: Landing Pages & Forms

An add-on for BambooForge Form Builder and BambooForge Marketing Automation (17.0). A form that enrols its submitters into a journey, a landing page built from the form in one click, and UTM on every submission.

Enrol submitters in a journey

On the form (After submission), pick Enrol in journey. The journey's audience decides what is enrolled:

  • Contacts - the contact the submission is linked to (Form Builder finds or creates it by e-mail).

  • Leads/Opportunities - the lead the form creates. The form must have Create a CRM lead ticked; the rule refuses the pairing otherwise. A lead journey starts the moment the lead exists, payment or not - the lead is the thing being nurtured.

  • Mailing contacts - a mailing contact found by e-mail or created with the submitter's name and e-mail.

Contact and mailing-contact journeys start when the submission is complete: received, or paid when the form takes payment. The submission shows the Journey participant it became and a short journey note - enrolled, already in the journey, journey not running, nothing to enrol (no e-mail). The journey honours its own rules: a contact who already finished is not re-enrolled unless the journey allows rejoin; the unique field is respected.

The form's Enrolled button lists the participants it produced; the journey's Forms and From forms buttons show the forms feeding it and the participants they brought. Participant lists gain From form and UTM campaign columns and a From a form filter.

Create a landing page

Create landing page on the form builds a website page named after the form: a hero block, three benefit blocks, the form itself, a closing block. The blocks are ordinary website building blocks - edit them in the website editor, drag more in. The form in the middle is a live embed: add a field to the form and the page shows it; it is not editable in place, on purpose, so the editor cannot freeze a copy of it.

The page is created unpublished. The form's Landing page button opens it; publish it from the website's publish toggle as usual.

UTM on every submission

When the visitor arrived through a link carrying utm_source, utm_medium or utm_campaign, Odoo's own UTM tracking sets cookies; the submission copies them into UTM source / medium / campaign (falling back to the referring page's query string), and records whether it came from the generated landing page. The participant carries the UTM campaign too, so the participant report can be grouped by it.

Technical notes

  • Uses Form Builder 1.3.0's _after_submit() hook and form_body template, and Marketing Automation 1.9.0's _enroll_records() / _participant_vals() hooks. Nothing is copied from either.

  • Enrolment failure never fails the visitor's submission: it is logged and written into the journey note.

  • Community only. No Enterprise module, no external service.

Screens

Form - bambooforge_ma_landing
Form
Journey - bambooforge_ma_landing
Journey
Landing - bambooforge_ma_landing
Landing