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 styling, automatically route visitors to the correct form variant (e.g. a DOI form for Germany), and publish a branded portal for their CIJ events — all without modifying the CIJ configuration or touching HTML. CI-Addon is for CIJ users who operate across multiple markets and need localised, styled, compliant forms and event pages 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, compliance profiles and events 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?+
When you sign up, your organisation gets 14 days of free trial with everything unlocked. No credit card is needed. If you have not started a subscription when the trial ends, the app is locked, but nothing is deleted straight away. Your forms and event portals keep working for 14 days and are then paused. All data is permanently deleted after 90 days — owners and admins get an email 30 and 7 days before. See "What happens to our data if we cancel?" below. If you subscribe before then, everything you built stays exactly as it was — no need to set anything up again.

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 quickly do my changes reach my website?+
Within about 5 minutes. When you save a form (translations, styling, Smart Embed, form messages and so on), CI-Addon updates its widget script at the same address, so you never have to replace the code on your website for an ordinary change. Visitors' browsers keep a copy of the script for up to 5 minutes. If you do not see your change right away, wait a few minutes or reload the page with Ctrl+F5 (Cmd+Shift+R on a Mac). Each browser has its own copy, so one browser can show the change before another. Some changes give the form a new embed code — turning Smart Embed on or off. Then replace the code on every page where the form is used. For the first few minutes, a browser that still has the old script may show an empty space where the form should be; it appears when the browser fetches the new script (or straight away with Ctrl+F5).
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.
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.
What are "Default field values"?+
Default field values let you pre-fill a hidden field on your form with a fixed value, per language — useful for CRM routing, for example routing a lead to your Danish sales team when the form is shown in Danish. Only fields set to "Hide field" in CIJ's form editor appear in the dropdown — not free text. The cift_ system fields are intentionally excluded, since they are already set automatically. The field must already exist in CIJ (mapped to Dataverse, or unmapped/custom) — CI-Addon can never create new fields, only set a value on one that already exists. If the field isn't listed, click "Re-detect" on the form's detail page first. There is no separate save button — values are saved together with the rest of your translations via "Save & deploy".
What are "Page-specific field values"?+
Page-specific field values set a hidden field's value based on which page the form is shown on — useful when the same form is embedded on several pages (for example three different product pages) and you want to know which page a submission came from. Unlike Default field values (a fixed value per language), this varies per page and is independent of language. Found under "Force language from URL" on the form's detail page — it's a form-level setting, not per language tab. The matcher is a free-text "URL contains" field — a case-insensitive substring search in the page's URL path. For example, "product-a" matches both "/product-a/" and "/en/product-a-xl". This is deliberately loose matching, not an exact path match, since real URLs often carry IDs, language prefixes or a trailing slash. The field to set uses the same dropdown as Default field values — only hidden fields already detected on the form, cift_ system fields excluded. You can add multiple rules; all matching rules run at once — for example, three rows matching "product-a", "product-b" and "product-c" can each set the same field to a different value, all on the same form and the same widget code. If the same field is set by both Default field values and Page-specific field values, Page-specific field values wins — the more specific signal takes priority. Has its own "Save" button, separate from the main translation save.
What does "Force language from URL" do?+
Force language lets the same widget script show a fixed language on a specific site or domain — completely independent of GeoIP, browser language or the visitor's physical location. Useful when you run the same form across multiple markets with a consistent URL structure. Two modes, depending on how your site is structured: - Path-based: one domain with the language in the URL path (e.g. www.example.com/es-es/) — always shows Spanish on that path. - Domain-based: separate country domains (e.g. example.com = English, example.es = Spanish, example.fr = French) — the language is determined by which domain the script runs on. When active, this is a hard override — the path or domain always wins, even if a German visitor is on your .fr domain. This does not necessarily follow DOI/compliance logic for the country — it's a deliberate choice about what language to display. DOI routing is handled separately (see Smart Embed and the country field for residency check). The existing ?lang=xx URL parameter still works and is unaffected. When Force language is off, the normal priority order applies (?lang → browser/GeoIP → fallback language).
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 — and to visitors whose country cannot be determined.
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. This step is a reminder and a safeguard, not a compliance guarantee. CI-Addon does not manage or take responsibility for your compliance setup — that is always configured inside CIJ and remains your organisation's own responsibility.

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. Visitors from other countries see the standard form. If the country cannot be determined — for example because the lookup fails or is blocked by a browser extension — the visitor sees the DOI form. Asking for confirmation is always the safe choice for consent. 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. 5. Replace the embed code on your website with the new one. Turning Smart Embed on (or off) changes the embed code, so update it on every page where the form is used. A page that still has the old code keeps showing the form, but without double opt-in routing — and the double opt-in message and redirect below can then be shown to visitors who got the standard form. 6. Optional, under Form messages for each language: a success message and redirect URL for double opt-in visitors (for example a page that asks them to confirm their email). Visitors who get the standard form keep the normal message and redirect. Do not add a second Smart Embed on the DOI form itself — everything is set on the standard form.
What is the "Country field for residency check" in Smart Embed?+
GeoIP alone isn't always enough for global companies — what matters legally is a visitor's residency, not their physical location when they visit. This lets the visitor's own Country field correct Smart Embed's GeoIP-based choice after the form has already loaded. Found in the Smart Embed panel, only available when Smart Embed/DOI routing is active — no separate setup needed elsewhere. Enter the field's name (its data-targetproperty) — e.g. address1_country, the recommended standard field. Not a field like "Preferred Language", which only indicates communication language, not residency. The field can be a free-text input — a dropdown is not required. Recognition covers common spellings for the 6 DOI markets (Germany/Deutschland/DE, etc.) but is deliberately not typo-tolerant — a clear misspelling won't match, and no popup is shown (a safe default, rather than a wrong popup). When a mismatch is found (the visitor types a country that requires DOI but is seeing the standard form, or vice versa), a Yes/No popup appears. Choosing Yes reloads the page and shows the correct form, with already-entered field values preserved. The page reload on confirmation is a deliberate technical limitation, since Microsoft's form script does not support re-rendering the form in place.
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. GeoIP is not always accurate: a visitor on a VPN or a company network may appear to be in another country. If no country can be determined, the DOI form is shown, and the hidden field cift_country is set to UNKNOWN on the submission — so in CIJ you can see that the contact got double opt-in because the country was unknown. To correct the choice based on where the visitor actually lives, use the "Country field for residency check". 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.

Your own form (form capture)

What is form capture, and when should I use it?+
Form capture lets you keep using your own form on your website — for example a form built in WordPress with Elementor — and still have every submission arrive in Customer Insights – Journeys, as if it had been submitted through a CIJ form. Triggers, segments and consent then work as usual. Use it when you do not want to show the CIJ form on your website, for instance because your own form must match your site's design exactly. If you are happy to show the CIJ form, use the CIJ form option instead — it has more features, such as translation and styling. How it works: you keep your form. You add one CI-Addon script to the same page. When a visitor submits your form, the script sends what they typed to your CIJ form. Your own form alone is not enough — without the script nothing is sent to Customer Insights.
What do I need before I set up form capture?+
- A published CIJ form with the fields and the consent you want to capture. It does not have to be shown on your website. - Form capture switched on in Customer Insights: Settings → Feature switches → Forms. - Your website domain authorised for external form hosting in Customer Insights. Without it, the browser blocks the submission. - Permission to add a script to the page that contains your form. Form capture does not collect form visits or web tracking. Customer Insights only receives the submission.
How do I set up form capture?+
1. Add a new form in CI-Addon and paste the code from your published CIJ form. Both the embed code (Publish options → General → Embed form → Get JavaScript code) and the code from the Form capture tab work. The Form capture code selects "Own form" for you. 2. Choose "Own form" as the delivery. 3. Choose the features you want. They are all optional. 4. Map your form. Open your page, right-click your form, choose Inspect, and copy the form element. Paste it in CI-Addon and click "Read my form". CI-Addon suggests what each field should be sent as, and marks how sure it is. You check every row and change what is wrong. 5. Click "Generate the script", copy the script tag, and add it to the same page as your form. CI-Addon reads only the names, types and labels of your fields — never what visitors type.
Where do I put the script on my website?+
On the same page as your form, after the form. Add it to every page that contains the form. - WordPress with Elementor: add an HTML widget below the form and paste the script tag. This is the setup we have tested. Adding scripts may require an administrator account. - Other platforms: add the script tag on the same page as the form, after it. We have not tested other platforms yet, so test with a real submission before you rely on it. If your site uses a content security policy, it must allow scripts from cdn.ci-addon.com and from Microsoft's dynamics.com domains.
How are my fields and my consent sent?+
Each field in your form is sent to a field on the CIJ form. The field must exist on the CIJ form to land on the contact. Data for a field that does not exist is kept on the submission only. Consent: you map each consent checkbox on your form to a consent (purpose or topic) on your CIJ form. When the visitor ticks the box, the consent is sent as Opted In. What Customer Insights does with it depends on the settings on your CIJ form, for example double opt-in. The consent text stored with the consent is the text the visitor saw next to the checkbox. If your page shows the text in capital letters through its design, that is how it is stored. If your form has one name field but the CIJ form has first and last name, CI-Addon splits the name at the first space. If your CIJ form has the hidden fields cift_country, cift_language or cift_timestamp, CI-Addon fills them automatically: the country from the visitor's location, the language from the page, and the time of the submission.
What happens to phone numbers?+
Customer Insights only accepts phone numbers in international form, for example +4512345678. A number without a country code makes Customer Insights drop the whole consent — also for email — with only a warning on the submission. CI-Addon therefore cleans the number up (spaces, brackets and dashes are removed, 00 becomes +) and sends it only if it is valid. If it is not valid: - the number is left out, so the email consent is still saved, - what the visitor typed is kept as an extra field on the submission, and - text message consent cannot be registered, because there is no valid number. You can enter a default country code, for example 45 for Denmark. It is added to numbers typed without a country code. A wrong code can make an invalid number look valid, so use it only if all your visitors share the same country.
Can I use double opt-in routing (Smart Embed) with my own form?+
Yes, on the Advanced plan. Create a second CIJ form with double opt-in enabled and add it as a form in CI-Addon. Then choose it as the double opt-in form when you set up your own form. You choose which countries use the double opt-in form. When the visitor submits, the script sends the submission to the double opt-in form or the standard form. The country comes from a country field on your form, if you mapped one, otherwise from the visitor's location. If neither gives a country — for example because the location lookup fails or is blocked — the submission goes to the double opt-in form, and cift_country is set to UNKNOWN, so you can see in Customer Insights why the contact got double opt-in. Your visitors always see your own form. What changes is which Customer Insights form receives the submission — and with it, whether Customer Insights sends the confirmation email. Good to know: - The double opt-in form needs the same hidden cift_ fields as the standard form. If a field is missing there, its value is kept on the submission only and does not reach the contact. CI-Addon warns you when it can see that a field is missing. - Submissions to the double opt-in form stay pending in Customer Insights until the visitor confirms. - Customer Insights sends the confirmation email itself — depending on your compliance profile, only when the address has not given consent before. So word your "check your inbox" text to fit both cases. Telling double opt-in visitors on the page to check their inbox is recommended, not required — see "What happens after a visitor submits my form?".
What happens after a visitor submits my form?+
Your own form keeps doing what it always did — your thank-you text, your thank-you page and your own rules per language. The script only adds a copy to Customer Insights. With double opt-in routing, you choose in the setup what happens for visitors who get the double opt-in form: - My website handles it (default): nothing changes on your website. - Send them to a page: when Customer Insights has the submission, they are sent to a page you choose — one for all languages, or one per language (read from the lang attribute of your page, else the browser). Use it for a page that tells them to confirm their email. Visitors who get the standard form are not affected. Your website is always told which form was used: the attribute data-ciaddon-variant ("DOI" or "STD") on your form, the events ciaddon:submitted and ciaddon:result on the form, and sessionStorage.ciaddon_submission, which your thank-you page can read. Nothing happens with it by itself — your website only shows a different text if it has been set up to (a few lines of code, usually by your web developer). If you have no one to do that, choose "Send them to a page" instead. A plain HTML form that nothing else handles leaves the page as soon as it is sent, which can cut off the copy to Customer Insights. The script holds such a form for a moment (at most 5 seconds) until Customer Insights has answered, then sends it on exactly as before. Forms that your website already handles (most form plugins) are not held.
What happens if I change my CIJ form or my own form?+
The script is generated from what you chose at the time. It is not updated automatically. - If you change a field or a consent in your own form, or add or remove one in your CIJ form, generate the script again so it matches. - If you rename a field in your own form, the script can no longer find it, and its data stops arriving. Generate the script again after you map the new name. The status of a form that uses your own form covers the CIJ form only — not the form on your website. Test with a real submission after every change.
What does form capture not do?+
- It does not translate or style your form. Your website owns the text and the design. - It does not collect form visits or web tracking. - It does not check what your own form does with the data. Your own form keeps working as before, and the script sends a copy to Customer Insights (a plain HTML form is only held until that copy has arrived). - It reads forms that are part of the page itself. A form inside an iframe is not available to the script.

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.
Can I run my event portal on our own domain?+
Yes, as an add-on — contact us to enable it. Use a subdomain such as events.yourcompany.com — not your main domain. 1. Open the portal under Events and enter the domain in the "Custom Domain" card. 2. Add the DNS record shown there at your domain provider: a CNAME record pointing to cname.vercel-dns.com. If you use Cloudflare, set it to "DNS only" (grey cloud). 3. DNS changes usually take a few minutes. The SSL certificate is issued automatically.
Can I have more than one event portal?+
Yes. Contact us if you need more portals than your account allows.

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.
Can I get an email when a form stops working?+
Yes, when health emails are enabled for your organisation. You get an email when a form is down or its fields have changed. Each person chooses for themselves under Settings → Notifications. The status of every form is always shown in the app, whatever you choose.

Account, team & subscription

How do I invite a colleague?+
Admins go to Settings → Members, enter the person's email and click Invite. The person gets an email with a link, signs in to CI-Addon with the Microsoft account for exactly that email address, and joins your organisation as Editor. If the email does not arrive, use Resend next to the pending invitation. You can invite anyone with a Microsoft account — also people outside your company, such as a consultant or an agency. Only the person who owns the email address can accept the invitation. Pending invitations are listed on the same page, where admins can also withdraw them.
What can admins and editors do — and how do we hand over the admin role?+
- Admin: invites and removes people, changes roles and manages the subscription — plus everything an editor can do. The person who creates the organisation is the first admin. - Editor: works with forms, translations, styling and event portals. An admin changes roles and removes people in Settings → Members. Your organisation always keeps at least one admin, so the last admin cannot be removed or made editor. To hand over the admin role — for example when the person who tried CI-Addon first is not the one who should run it: 1. The current admin invites the new person. 2. The current admin makes them Admin. 3. The new admin makes the first person Editor, or removes them. All admins, and the person concerned, get an email when someone becomes or stops being an admin, or is removed. The person who receives invoices is set separately in the billing portal (Settings → Subscription → "Invoices & payment card").
A colleague is told that our company already has an account. What now?+
CI-Addon recognises colleagues by their email domain, so a company does not end up with two separate organisations. If someone signs in and your company is already registered, they are asked to get an invitation from the person who set up the organisation. Invite them under Settings → Members, and they can join straight away.
How do I change our subscription or see invoices?+
Contact us at support@ci-addon.com and we will help you change your subscription or send you your invoices.
What happens to our data if we cancel?+
Your subscription runs to the end of the period you have paid for. After that: - Day 0: the app is locked, except the billing page and the export of your consent archive. - Day 14: your scripts are paused, so they no longer change your forms, and your event portals go offline. - 30 and 7 days before deletion: owners and admins get an email. - Day 90: your organisation and all its data are permanently deleted — forms, translations, styling, scripts, portals and user accounts that do not belong to another organisation. If you subscribe again before day 90, everything comes back at once. Invoices are kept by our billing provider as required by law.
Can we export our data?+
Your consent version archive can be downloaded as a CSV file — also after the app has been locked. Contact us at support@ci-addon.com if you need an export of your translations. Submissions and contacts are not in CI-Addon at all — they are in Customer Insights.

Data, privacy & security

Do you store what visitors type in our forms?+
No. When a visitor submits a form, the data goes directly from the visitor's browser to Microsoft Customer Insights – Journeys. It never passes through CI-Addon's servers and is never stored by us. This applies to all form types: - Forms with CI-Addon translation, styling or Smart Embed: the form itself is Microsoft's form, and Microsoft receives the submission. - Your own form (form capture): our script prepares the data in the visitor's browser and sends it straight to Microsoft. - Event registrations on your event portal: the registration form is Microsoft's form, and the registration goes to Microsoft.
Can CI-Addon staff see our contacts or submissions?+
No. Contacts, submissions and registrations never reach CI-Addon, so nobody at CI-Addon can see them. What our staff can see is your setup in CI-Addon — forms, translations, styling, portals, members and subscription — when it is needed to help you.
Do you have access to our Customer Insights?+
Only to what is needed, and only read access: - Forms: CI-Addon reads your published forms from Microsoft's public form addresses — the same addresses your website uses. - Event portals: CI-Addon reads your published events with the Event Management token you enter for the portal. CI-Addon has no access to contacts, leads, segments, journeys or other data in your Customer Insights, and it never changes anything there.
What do you store about us, and where?+
We store your setup: forms and their fields, translations, styling, consent versions, event portal settings and images, health status, and the people in your organisation (name and email from their Microsoft account, role, notification settings). We also log changes to your subscription and acceptance of our terms. Everything is stored in the EU: the database in Frankfurt (Germany) and the application in Paris (France). See our Security page for details.
Is CI-Addon GDPR compliant — do we need a data processing agreement?+
Yes. Our Data Processing Agreement (ci-addon.com/dpa) is part of our Terms of Service, so you accept it when you create your organisation — there is nothing extra to sign. Contact us if your company needs a signed copy. For your own users of CI-Addon, we are the controller (see ci-addon.com/privacy). For your website visitors, we are your processor when you use Smart Embed, form capture or event portals: their IP address is used to find their country and to deliver our pages and scripts. Nothing about them is stored.
What should we write in our own privacy policy?+
If you use Smart Embed, form capture or event portals, you can mention CI-Addon as a processor. For example: "We use CI-Addon (For A Fact ApS, Denmark) to display our forms and event pages. When a form is shown, your IP address is used to determine your country, so that the correct consent form is shown. CI-Addon does not store this information. The data you submit is sent directly to Microsoft Dynamics 365 Customer Insights." Adjust the text to your own setup, and have it checked by whoever is responsible for privacy in your company.
Do your scripts set cookies — do we need cookie consent for them?+
CI-Addon's scripts and event portals set no cookies and do no tracking. The country lookup uses no cookies either. One exception: if a visitor confirms switching to the double opt-in form in the country popup (Smart Embed), the choice and the values already typed are kept in the browser's session storage until the page has reloaded, and are then removed. Microsoft's own form script may set cookies depending on your Customer Insights settings — those are covered by your setup in Customer Insights.
What is sent to AI when we use auto-translate?+
Only form texts — field labels, placeholders and form messages. CI-Addon first looks each text up in a shared translation dictionary. Only texts that are not already there are sent to our AI provider (Anthropic), without any information about you or your form. The translations are added to the dictionary so they can be reused. The dictionary is shared by all customers and does not show where a text came from. Do not put personal data or confidential information in form texts. Translations you write or edit yourself are not added to the dictionary.
Who can sign in to our account?+
Only people in your organisation, and only with their Microsoft work account. CI-Addon has no passwords of its own, so your company's Microsoft rules apply — for example multi-factor authentication and conditional access. Your admins decide who is invited and can remove people at any time under Settings → Members.
What happens to our forms if CI-Addon is down?+
- Translated and styled forms (standard embed): Microsoft's form still loads. If our CDN cannot be reached, it shows without translation and styling. - Smart Embed: if the country lookup cannot be reached, the double opt-in form is shown. If our CDN cannot be reached, the form is not shown until it is back. - Your own form (form capture): your form keeps working on your website, but submissions are not sent to Customer Insights while our CDN cannot be reached. - Event portals: not available while CI-Addon is down. Submissions already in Customer Insights are never affected.
Our IT or procurement team needs security documentation. What can you provide?+
Start with our Security page (ci-addon.com/security), the Data Processing Agreement (ci-addon.com/dpa) with the list of sub-processors, and the privacy policy (ci-addon.com/privacy). We also have a detailed security and compliance overview for procurement and IT security teams, and we answer vendor questionnaires. Contact support@ci-addon.com. Found a security issue? Please report it to support@ci-addon.com.

Still have questions?

We are happy to help. Reach out and we will get back to you as soon as possible.

Email support