Help Center
How can we help?
Answers to the most common questions about setting up and using CI-Addon.
Getting started
What is CI-Addon and who is it for?+
CI-Addon is a set of professional tools built on top of Microsoft Customer Insights – Journey (CIJ).
It lets marketing teams translate their CIJ web forms into multiple languages, apply custom branding, and automatically route visitors to the correct form variant (e.g. a DOI form for Germany) — all without modifying the CIJ configuration or touching HTML.
CI-Addon is for CIJ users who operate across multiple markets and need localised, compliant forms quickly.
What do I need before I can start?+
You need:
- An active Microsoft Customer Insights – Journey licence with at least one published web form.
- A CI-Addon account (sign up with your Microsoft account via Microsoft Authenticator).
- The embed code from your CIJ web form — found in CIJ under the form's embed/publish settings.
How does my organisation work in CI-Addon?+
When you first sign in, CI-Addon creates an organisation for you automatically. All forms, translations, styling and compliance profiles belong to the organisation — not to individual users. You can invite colleagues via Settings → Members so they can collaborate on the same forms and data.
How long is the free trial and what is included?+
CI-Addon is currently in Public Preview. During the preview period all features are free to use with no time limit. Pricing will be announced when the product reaches General Availability. You will be notified well in advance before any charges begin.
Adding & setting up forms
Where do I find my CI embed code?+
In Microsoft Customer Insights – Journey, open your web form, go to the Publish or Embed tab, and copy the full script block. It looks similar to:
<script src="https://assets-eu.mkt.dynamics.com/..." data-form-id="..." ...></script>
Paste this code into CI-Addon when adding a new form. CI-Addon reads the form-id and URL from the embed code to detect your form fields.
What does "Detect fields" do?+
CI-Addon fetches your live CIJ form from Microsoft's servers and analyses its HTML. It identifies all visible input fields, their labels and placeholders, as well as success/error messages. These become the base for your translations.
Detection only reads the form — it never changes anything in CIJ.
My form was updated in CIJ. What do I do?+
Open the form in CI-Addon and click "Re-detect". CI-Addon will compare the live form with your saved field list and show you which fields were added or removed. Confirm the changes, then go to the Translations tab and add translations for any new fields. When done, click "Save & deploy" — CI-Addon rebuilds the CDN file automatically under the same filename, so your widget code on the website does not need to change.
Where do I put the widget code on my website?+
After completing all setup steps, CI-Addon generates a small widget script (hosted on our CDN). Replace the original CIJ embed code on your website with this new widget script. The widget loads your translations, applies your styling and handles DOI routing automatically.
The original CIJ embed code should be removed from your website — the widget script replaces it entirely.
How many forms can I create?+
During Public Preview, the default limit is 3 forms per organisation. If you need more, contact us and we will adjust the limit for your account.
Translations & auto-translate
How does auto-translate work?+
CI-Addon uses Claude AI (Anthropic) to translate your form field labels, placeholders and messages into the languages you have selected. Common field labels (First name, Email, Submit, etc.) are served from a pre-verified translation dictionary instantly — without an AI call. Only labels not already in the dictionary are sent to Claude.
Each new translation is saved to the dictionary, so the second time you translate the same text it is instant and free.
Why does it sometimes say "0 from cache"?+
"From cache" counts labels that were found in the translation dictionary from a previous session. On the very first translation of a new form all labels go through AI — after that they are cached. If you always see 0 from cache, ensure migration 021 has been applied in your Supabase project (GRANT on translation_dictionary table).
Does "Next" on the translations step save my work?+
In the form editor, the button is labelled "Save & deploy" — clicking it saves your translations to the database and immediately rebuilds the CDN widget file. The widget URL stays the same, so no changes are needed on your website.
In the setup wizard (when adding a new form), the step 4 save button stores translations to the database only. The CDN widget is deployed at step 6. Clicking Next in the wizard without saving first will not lose your edits in the current browser session, but they will be lost if you navigate away or close the tab.
How do I add a language after the form is already set up?+
Open the form editor and use the language panel on the left. Click "+ Add language", select the language and save. You can then run auto-translate for the new language and save the result. The CDN widget file is automatically updated with the new language.
What are the cift_ fields in the translation editor?+
Fields starting with cift_ (cift_country, cift_language, cift_consent_ver, cift_timestamp, cift_doi) are hidden system fields set automatically by the CI-Addon widget at runtime. They are shown in read-only mode so you are aware of them, but they cannot be edited — the widget always writes the correct values.
Why does the Forms list show "Disable translations" on some forms and "Delete" on others?+
The action shown depends on whether the form is also active in another CI-Addon module (Form Styling).
- "Disable translations" — the form has both translations and styling enabled. Disabling translations turns off the translation module for this form, but keeps the form record active so styling continues to work. You can re-enable translations from the form editor at any time.
- "Delete" — the form only has translations enabled (no active styling). Deleting removes the form record from CI-Addon entirely and deletes the associated CDN widget file. Your original CIJ form is not affected.
In both cases, the action only affects CI-Addon — nothing changes in Customer Insights – Journey.
Preference Centers & compliance
What is a Preference Center in CI-Addon?+
A Preference Center (PC) is a special CIJ form that lets contacts manage their marketing consent. In CI-Addon you register your PC forms as compliance profiles. These profiles are used to link web forms to a PC and to configure DOI (Double Opt-In) settings for markets that require it.
You must add at least one Preference Center before you can create web forms in CI-Addon.
What is DOI and which markets require it?+
DOI (Double Opt-In) requires contacts to confirm their subscription via a second email before they are added to marketing lists. It is legally required or strongly recommended in Germany (DE), Austria (AT), Switzerland (CH), Greece (GR), Luxembourg (LU) and Norway (NO).
When Smart Embed is active, CI-Addon automatically shows the DOI form variant to visitors from these markets.
Can I translate my Preference Center form?+
No. Microsoft CIJ hosts Preference Center forms directly on their own servers and delivers a unique link per contact via email. It is not technically possible to inject the CI-Addon widget into a CIJ-hosted page, so translation of Preference Centers is not supported.
Why does it say I need to complete compliance setup before adding forms?+
CI-Addon requires at least one Preference Center to be registered before you can create web forms. This ensures DOI requirements for markets like DE, AT and CH are properly configured before any forms go live. Go to Preference Centers, add your PC HTML, and confirm the setup to unlock form creation.
Smart Embed (DOI routing)
What does Smart Embed do?+
Smart Embed is a GeoIP-based routing feature. When a visitor loads your form, the CI-Addon widget checks the visitor's country (via the request country header on Vercel's edge network). If the visitor is from a DOI-required market (DE, AT, CH, GR, LU, NO), they automatically see the DOI form variant. All other visitors see the standard form.
This happens in milliseconds with no visible redirect.
How do I set up Smart Embed?+
Smart Embed is configured on your standard (non-DOI) form only:
1. Create both your standard form and your DOI form in CIJ and in CI-Addon.
2. Open the standard form in CI-Addon and go to the Smart Embed section.
3. Select or paste the DOI form as the routing target.
4. Deploy — the widget on your standard form now routes DOI-market visitors to the DOI form automatically.
Do not add a second Smart Embed on the DOI form itself.
How is the visitor's country detected?+
CI-Addon uses the country header injected by Vercel's edge network (similar to Cloudflare's CF-IPCountry). This is a server-side GeoIP lookup based on the visitor's IP address. It works for all visitors without any cookies or consent.
Language detection uses the browser's Accept-Language header as a secondary signal.
How can I test Smart Embed?+
Use a VPN to simulate a visitor from a DOI-required country (e.g. Germany). When you submit the form, check the form submission in CIJ — it should have new_cift_country set to "DE" and come from the DOI form variant. You can also check the browser network tab to see which form is loaded.
Form Styling
What can I customise with Form Styling?+
Form Styling lets you change the visual appearance of your CIJ forms without editing the CIJ configuration or the form's HTML. You can adjust colours, fonts, button styles, input borders, spacing and more. You can also paste your website's CSS URL so CI-Addon can extract your brand colours automatically.
How do I set up a styled form?+
Go to Form Styling → New styled form. Paste your CIJ form's HTML (copy it from your browser's page source or from the CIJ editor). CI-Addon detects your existing form styles and lets you adjust them visually. When you are happy with the result, generate the styled version and copy the widget code to your website.
Can I use both styling and translations on the same form?+
Yes. A styled form can also have translations active. The widget applies both the CSS overrides and the translated field labels/messages at runtime. Make sure you have completed the translation setup on the form in addition to the styling setup.
Event portals
How does the CI-Addon event portal work?+
CI-Addon reads your live events directly from Customer Insights – Journey via the Events API and publishes them on a branded portal at events.ci-addon.com/your-org. You manage the portal appearance (logo, colour, description) in CI-Addon. CIJ controls which events are live — an event only appears on the portal when it is published in CIJ.
Do I need to manually sync events?+
You can click "Sync now" in the portal settings to fetch your latest events immediately. CI-Addon also syncs automatically on a daily schedule. When you publish a new event in CIJ, click Sync now to make it appear on your portal right away.
Why should I use a shared registration form template across my events?+
When you translate a registration form in CI-Addon, the translation applies to every event that uses that form. If each event has its own unique form, you would need to set up translations separately for each one — which quickly becomes a lot of work for organisations with many events.
By reusing one form template across events of the same type (e.g. one form for all in-person events, one for online events), you only translate once and all events are covered automatically.
Recommended setup:
- Create one form for in-person events (name, email, dietary preferences, etc.)
- Create one form for online events (name, email, time zone, etc.)
- Use those two forms across all your events in CIJ
This is also good CIJ practice independently of CI-Addon — it keeps your data model clean and consistent.
How do I reuse a registration form across events in CIJ?+
In Customer Insights – Journey:
1. Create your event registration form once — go to Event planning → Forms and build the form with all the fields you need.
2. When creating a new event, go to the Form tab.
3. Under "Registration form", select your existing form from the list instead of creating a new one.
4. CIJ will ask if you want to use the existing form or create a copy. Choose "Use existing form".
5. Your event is now linked to the shared form — and CI-Addon's translations apply automatically.
If you need different fields for different event types, create one form per type (e.g. in-person and online) and reuse each consistently.
How do I translate and style my event registration form?+
After syncing events, CI-Addon automatically detects the registration form(s) used across your events. In the portal settings under "Registration Forms", you will see each unique form design listed. Click "Translate →" to add translations or "Style →" to apply visual styling — exactly the same as for regular marketing forms.
Once you save and deploy, the translated and styled form appears on all events that use that form design.
Should I create multiple event portals?+
Most organisations need just one portal. Multiple portals make sense if you have distinct audiences with different branding — for example, a portal for public events and a separate portal for internal company events, or if you manage events for multiple brands under the same CIJ environment.
Each portal has its own branding, description and CIJ web application token.
How does CI-Addon optimise my event portal for search engines and AI search (GEO)?+
CI-Addon automatically adds structured event data (Schema.org Event markup) to every event page. This means:
- Google can show your events as rich results — event cards with date, location and registration link directly in search results.
- AI search tools like Perplexity, ChatGPT Search and Google AI Overviews can cite and surface your events when people search for relevant topics.
- Social sharing (LinkedIn, Facebook) uses Open Graph tags to show a proper title, description and image.
All of this happens automatically — no setup required. We use the event name, description, date, location, format and image that you have already entered in CIJ.
For best results, write a clear and specific description in CIJ. Include the date, location, target audience and key topics. The more concrete the description, the better search engines and AI tools understand your event.
Can I customise the SEO title or description per event?+
Currently the meta title and description are taken directly from CIJ (event name and description). If you want a different title or description to appear in search results, update it in CIJ — CI-Addon picks it up automatically on the next sync.
Custom per-event SEO overrides (without changing CIJ) are planned for a future release.
Health monitoring & status
What do the status badges on my forms mean?+
Each form has a health status badge:
- OK — form is live and fields match what CI-Addon expects.
- Fields changed — CI-Addon detected that fields were added or removed in CIJ since your last detection. Open the form and run Re-detect to review and confirm the changes.
- Warning — a non-critical issue was found during the last health check.
- Down — the form URL was unreachable during the last health check.
- Unknown — the form has not been checked yet (runs daily at 06:00 UTC).
How often does CI-Addon check my forms?+
CI-Addon runs a health check once per day at 06:00 UTC. The check fetches your live CIJ form and compares the detected fields with what is stored in CI-Addon. If fields have changed, the status is set to "Fields changed" so you can review and confirm.
How do I resolve a "Fields changed" status?+
Open the form in CI-Addon and click "Re-detect". Review the diff showing added and removed fields. If the changes are expected (e.g. you added a field in CIJ), confirm them. CI-Addon updates your translation setup and redeploys the widget. The status resets to OK.
Still have questions?
We are happy to help. Reach out and we will get back to you as soon as possible.
Email support