Status: Draft Date: 2026-05-13 Scope: Website v3 (DE + EN)
Replace the current behavior where "Trial starten" / "Start trial" buttons link straight to app.getorcha.com with a lightweight qualification step. Visitors land on a dedicated trial-request page, submit their details, and Max receives a notification email and sets up the demo manually.
app.getorcha.com gets a half-set-up environment with no demo context./trial URL can be dropped into cold emails and LinkedIn DMs. Website visitors and outbound leads both land on the same canonical form.Two new pages, mirroring the existing v3 i18n layout:
www/v3/de/trial/index.htmlwww/v3/en/trial/index.htmlEach page reuses v3 chrome (chrome.js / chrome.de.js inject nav + footer) and the standard v3 stylesheet. Top-to-bottom contents:
All existing "Trial starten" / "Start trial" CTAs change from https://app.getorcha.com/ to the trial page, language-aware:
/v3/en/trial//v3/de/trial/app.getorcha.com for trial signup get the same treatment. (Audit during implementation; non-trial CTAs like "Login" stay as-is.)All required unless noted:
| Field | Type | Notes |
|---|---|---|
| Name | text | First + last in one field |
| Firmen-E-Mail / Work email | HTML5 type="email" validation; no free-mail block on first cut |
|
| Unternehmen / Company | text | |
| Was möchten Sie testen? / What do you want to try? | textarea, optional | 1–2 line hint helps Max prep the demo |
| Sprache / Language | hidden | Auto-filled (de or en); used in email subject + sheet column |
required, type="email"). No JS validation library.Single honeypot field, no CAPTCHA:
<input name="website" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px">
Bots fill it; humans don't. Server-side: if data.website is non-empty, return {result: 'success'} to the client (so the bot thinks it worked) but skip the sheet append and email notification.
Extend the existing Apps Script and Sheet documented in FORM_SETUP.md. The same doPost handler gets a new formType: 'trial' branch.
Trial Requests with headers:
Timestamp | Name | Email | Company | Notes | Language | User-Agent | Referrer
} else if (formType === 'trial') {
// Honeypot — bot detected, fake success
if (data.website && data.website.length > 0) {
return ContentService.createTextOutput(
JSON.stringify({ result: 'success' })
).setMimeType(ContentService.MimeType.JSON);
}
var sheet = ss.getSheetByName('Trial Requests');
sheet.appendRow([
new Date().toISOString(),
data.name,
data.email,
data.company,
data.notes || '',
data.language,
data.userAgent || '',
data.referrer || ''
]);
MailApp.sendEmail({
to: 'max@getorcha.com',
subject: '🚀 Trial-Anfrage: ' + data.company + ' (' + data.language + ')',
body: [
'Neue Trial-Anfrage:',
'',
'Name: ' + data.name,
'Email: ' + data.email,
'Firma: ' + data.company,
'Sprache: ' + data.language,
'',
'Was möchten sie testen:',
data.notes || '(keine Angabe)',
'',
'Antworten: mailto:' + data.email
].join('\n')
});
}
Notification email subject stays German for both DE and EN submissions — Max reads them, consistency wins over translation.
Consistent with existing community forms:
{result: 'success'}{result: 'error', message: '...'}Apps Script MailApp has a daily quota (~100 recipients/day for free Google accounts). At expected trial volume this is a non-issue.
Vanilla JS, no framework. New file www/v3/js/trial-form.js, loaded only on the trial pages with defer.
Form submit handler intercepts (preventDefault).
Submit button text swaps to "Senden…" / "Sending…", disabled.
POST to the existing Apps Script deployment URL:
fetch(SCRIPT_URL, {
method: 'POST',
// Apps Script web apps reject application/json cross-origin —
// use text/plain; the script parses e.postData.contents as JSON.
headers: { 'Content-Type': 'text/plain;charset=utf-8' },
body: JSON.stringify({
formType: 'trial',
name, email, company, notes,
language, // from hidden field
website, // honeypot
userAgent: navigator.userAgent,
referrer: document.referrer
})
})
On {result: 'success'}: swap the entire form card for a success card in-place. No redirect, no reload.
On error or network failure: re-enable submit button, show inline error message below the form:
DE:
✓ Danke, {Vorname}!
Wir haben Ihre Anfrage erhalten. Unser Team meldet sich innert 24 Stunden mit den Zugangsdaten für Ihre Testumgebung.
Bei Fragen: max@getorcha.com
EN:
✓ Thanks, {firstname}!
We've received your request. Our team will get back to you within 24 hours with the login details for your test environment.
Questions: max@getorcha.com
First-name extraction: name.split(' ')[0]. No edge-case handling.
New:
www/v3/de/trial/index.htmlwww/v3/en/trial/index.htmlwww/v3/js/trial-form.jsModified:
www/v3/js/chrome.js — trial CTA hrefs swap to /v3/en/trial/www/v3/js/chrome.de.js — trial CTA hrefs swap to /v3/de/trial/www/FORM_SETUP.md — document the new formType: 'trial' branch and updated doPostFORM_SETUP.md)gtag eventsRevisit if conversion data after launch suggests friction.
None at design time. Implementation should:
app.getorcha.com for trial signup — they should also route to the new trial page.