Campaign landing pages and quote requests for marketing teams.
The campaign goes out on social media and every click lands on a page in your company's brand: the prospect prices their project live, then asks for a site visit. The request arrives complete, surface, budget and timing included, filed under the territory of the rep who will call back.
Updated on
Demo: Vérandas Duval, a veranda manufacturer in Angers. The company is fictional; its site was built with Kubbler.
The campaign page
The autumn offer opens the home page, 10% off any order signed before 30 November, with the installed price per m² of all four models.
A price before the call
"Estimer mon projet" opens the estimate: model, surface, roof, and the price range appears at once, before and after the discount.
The click from a post
The click often comes from a post seen on a phone: the offer, the price and the estimate button stack into a single column.
Requests by territory
The sales reps' board: 140 requests since 21 September, the Maine-et-Loire share, then each territory's Monday list.
Vérandas Duval, a demo built with Kubbler.
Vérandas Duval is a fictional maker of verandas, bioclimatic pergolas and extensions, with its workshop in Angers. Its site carries the autumn campaign, gives a live price range and files every site-visit request under the territory of one of its four sales reps.
4 models in the database, each with 2 or 3 roof options, from €650 per m² installed
140 requests since 21 September, 50 of them in Maine-et-Loire
4 territories, 4 sales reps, 11 requests still to assign
Vérandas Duval does not exist, and its models, prices, sales reps and 140 requests were made up for the demo. The site takes no payment: the company sells a site visit first, then a quote.
The whole site, page by page
Each thumbnail is a complete page of the demo, as a visitor sees it. On a computer, hover one to scroll through it.
From the click on a post to the rep's call.
What the prospect fills in, screen after screen, and what your team reads of it in Kubbler meanwhile.
They compare the models
Four models made in Angers, each with its roof options and installed price per m²: the traditional veranda runs from €1,550 to €2,250 depending on the roof, installed in 10 to 12 weeks.
The campaign page, section by section
In the Workshop, the home page unfolds into sections: hero, introduction, models, steps, questions, closing call. The per-m² price strip is bound to the models collection, not typed in by hand.
They price their project
Bioclimatic veranda, 30 m², tilting and retractable louvres: €67,500 to €81,000, or €60,750 to €72,900 with the autumn offer, before giving their name.
You follow the request into the collection
Opened in the Mechanisms view, the estimator block calls two routes: listModels for prices, submitVisitRequest to save. The second recomputes the range, derives the department from the postcode and writes to the demandes collection.
They ask for the site visit
Site address, postcode, intended budget (€68,000), timing (before spring), name, phone, email. The postcode 49124 is enough to pick the rep for their territory.
One row in the demandes collection
Reference, model, surface, roof, price range, address, department, territory, budget, timing, contact details and status: 23 fields per request, and nothing left to copy into a spreadsheet.
Screenshots: the Vérandas Duval site and its project in Kubbler, with a visit request filled in for a 30 m² veranda in Saint-Barthélemy-d'Anjou.
On Monday morning, the campaign's 140 requests are already sorted by territory, with surface and budget.
The marketing director reads the figure at the top of the page: 140 requests since 21 September, 50 of them in Maine-et-Loire (36%), with an average budget of €49,900. Julie Mercier opens the Anjou tab, 50 requests including 5 to assign, newest first. She calls back the ones flagged "Rappeler en premier" before the rest: those customers want the work as soon as possible.
The campaign figure
140 requests, 50 in Maine-et-Loire, recomputed from the collection each time the page opens, with the split by department alongside.
One request, one row
Patrick Hubert, Brissac Loire Aubance (49), 37 m² bioclimatic veranda, budget €90,000, estimated at €83,250 to €99,900, wanted within the year.
Assign, then move on
"Attribuer à Julie Mercier" hands the request to the territory's rep; a button then moves it through new, called back, visit booked, quote sent and signed.
What the site has to hold, what your team changes from one campaign to the next.
Consent, sign-in for the sales area and hosting stay the same from the spring campaign to the autumn one: Kubbler provides them. The offer, the visuals, the form's questions and the split of territories move, and your team keeps them in hand.
Our part
What a public page and an area reserved for sales reps require, ready before the first sponsored post.
Visitor consent
Visitors arriving from social media get a banner that refuses everything by default, and their choice applies on every page of the site.
Sales reps' accounts
Signing in to the sales area, resetting a forgotten password and two-factor authentication are part of the foundation: the requests board is not public.
Requests, hosted in France
Requests and site are hosted by OVHcloud in France and served over HTTPS, in a database reserved for the project and backed up automatically.
Your part
What changes with every campaign, with no ticket to IT and no agency quote.
The offer and its visuals
The offer's headline, the end date on display, the project photos, the order of sections: you fix them in the editor when the campaign changes season, then publish again.
The request form
The fields you ask for, which ones are required and what goes into the collection can all be reviewed in the Workshop before the campaign launches.
Sales territories
Which department goes to which rep: the rule is written in the route that saves the request, linked to the estimate block in the Mechanisms view. You know where to have it changed when the team moves.
The autumn campaign is live, and requests come in through three channels.
The visual is signed off, the sponsored post has been running since Monday, the offer lasts until 30 November. Requests come in through the website's contact form, through private messages on social media and by phone at the showroom, often as a bare "how much for a veranda?". No surface, no budget, no postcode.
On Friday, someone copies everything into the shared spreadsheet, and the four sales reps split the rows by guesswork. An agency would build a fine page, but every change of offer would go back through a quote. A form tool collects answers without pricing anything or knowing which rep covers Écouflant. And when management asks how many requests the campaign brought in from Maine-et-Loire, nobody can answer without an evening in the spreadsheet.
With Kubbler, you describe the campaign, the models and your territories, and the AI turns that into a site in your brand: the offer page, the estimate, the visit request and the reps' board. The foundation (hosting in France, consent, sign-in for the sales area) is kept up by our team. Every request arrives with its surface, budget and territory, and the campaign total reads at the top of the board.
What it costs
One project and 500 sparks a month, the budget that pays for AI generations. Packs can be added if you need more.
With your own domain: €44 excl. VAT a month.
No commitment. The domain name itself is paid separately.
See all pricesWhat to have ready
The campaign offer, with its dates and conditions.
Your models or products, with an indicative price per unit (per m², per item).
Your reps' territories, department by department.
Your brand guidelines (logo, colours, fonts) and the campaign visuals.
The questions a rep asks on the first call: they become the form's fields.
Nothing else: no specification, no mock-up.
The questions we get asked.
Including the ones where the answer is "not yet".
One project fits in the Starter plan, €29 excl. VAT per month, plus hosting: €5 excl. VAT per month under a kubbler.app address, €15 excl. VAT on the company's domain or a subdomain. No price per request received, no commitment.
Not yet. The site sends no email about the request: the prospect sees their reference and territory on screen ("Demande DV-0141 enregistrée"), and the reps find the request in their list. No automatic follow-up, no emailing: your usual sending tool stays in charge of campaigns.
Not yet. A request records neither its source nor the link's UTM parameters, and no project setting lets you add a Google Tag Manager ID or an ad pixel. Cost per request is therefore worked out outside Kubbler, from the request count the board gives you.
They see them first: one tab per territory, with the rep's name and the requests left to assign. But the sales area knows only two roles, administrator and user, and every account that opens the board sees all requests. Access limited to one territory does not exist yet.
Not yet: no CRM connector, no CSV export. Requests stay in the project's database, and the reps' board does the follow-up (new, called back, visit booked, quote sent, signed). What can be exported today is the description of the project's API (OpenAPI 3.0, Swagger, Postman), useful if your IT team looks into a connection.
In the project's database, at OVHcloud in France, separate from other projects' and backed up automatically. The exact list of fields collected can be read in the Workshop, and Kubbler's DPA (GDPR article 28) is available to your legal team; at the end of the contract, the data is returned or destroyed.
Start from your next campaign, its offer and your territories.
The Studio starts from your description: the offer, your products, your reps' map. Before launch, you review the page, the estimate and every field of the request, and you are the one who publishes.