Many teams already have a live site, and maybe a few client sites, built on whatever stack made sense at the time. Rebuilding just to get analytics isn't a good trade.
Full reference: Connect an existing website.
You don't need to rebuild the site
Your website doesn't need to be built with OXVO Builder. You connect it to OXVO Console and install the integration in the app you already maintain. This guide walks through that flow, from registering the site to checking that your first visit shows up.
Before you start: find the right origin
Using Lovable? Follow Add OXVO Insights to a Lovable app you already published, which applies these steps to a published Lovable app.
Console asks for the site's HTTPS origin. An origin is the scheme and hostname, plus a port when needed, for example https://shop.example.com. It isn't a page URL like https://shop.example.com/cart.
Register the address visitors actually use, including the correct subdomain.
You'll need a workspace you administer, access to the app's deployment, and a simple action to test, such as completing signup.
If you look after several sites, write down each origin before you start, so each site is registered once under the right name.
Choose who registers the site
You can register the site in Console yourself, or let the Insights Agent register it as part of its own workflow. Pick one, so the same site isn't registered twice. If you use the Agent, check its requirements first, then skip Step 1 and go straight to Step 2. When the Agent reaches the step to register the site, follow any pending setup action rather than creating a duplicate.
Step 1: Register the website in Console
Open OXVO Console and choose the workspace that should own the data.
Open Insights and use the add-site control beside the app selection.
Enter a recognizable name, the site's HTTPS origin and the intended environment.
Submit the setup and follow its status. When installation instructions are available, copy the ones for this site.
Pick a name you'll recognize months from now, especially if you manage more than one site.
Step 2: Choose how to install
There are two routes:
Assisted setup. Use the Insights Agent in a supported codebase. It can register the site as part of its own workflow, so avoid registering the same site twice.
Check the Insights Agent requirements before you run it.
Manual setup. Follow the snippet or package instructions shown in Console. The managed browser SDK guide explains where initialization belongs and how to verify it.
Use the complete installation settings. A Console-managed site needs more than a project token. Keep the host, app, environment and installation settings together. Don't swap them for a generic SDK example or for settings from another site. That matters most when you copy setup from one project to the next: each site keeps its own settings.
For manual setup, place the snippet with care. The snippet Console shows is module code: an import, the settings Console supplied for this site, and a call that initializes the integration and returns a client. Keep its import, and any export, at the top level of a module; don't paste the whole module inside a function, component or React effect. Run the initialization once, in code that runs only in the browser: on client mount, or in the browser entry for server-rendered apps. Never run it in server code, a route loader, a server function or a component's render body. Keep the returned client where your event handlers can use it.
Don't invent or replace the values Console supplied, and don't add requestConsent or setConsent calls. Apart from one track call for the action you test, don't add calls that aren't in Console's snippet.
Step 3: Deploy and test your first visit
Follow any pending setup action first. A saved or prepared site connection isn't proof of collection. Collection starts once setup is complete and the deployed integration initializes successfully.
Install once, in the browser entry point or shared client layout, with the initialization running only in the browser as described in Step 2.
Deploy to the approved HTTPS origin, then create a fresh visit and a test event.
Use a clean browser session: visit two public pages, complete one tracked action, and note the time and event name. Avoid personal information or secrets in test data.
Confirm both against the same app and environment in Console.
Use a date range that includes the test. Check Web analytics for the visit and Product analytics for the event. If the data doesn't appear, see troubleshooting.
Once collection is active, pageviews and page leaves are sent automatically and count as traffic in Web analytics. A tracked action such as completed signup appears in Product analytics only if the app sends a track call for it. Send it through the client the snippet returned, from the code that runs when the action succeeds, for example analytics.track('signup_completed') (use the name your snippet gives the client). Don't import the separate insights interface used in the managed SDK reference examples and call insights.track instead: that interface sends nothing unless it was initialized itself. Don't add a second initialization or replace the site's settings just to copy that example.
For a single-page app, test a route change as well as a full page load. Check the integration before adding any extra pageview calls, so one navigation isn't counted twice.
An SDK connection check is useful, but an event visible in Console is the stronger confirmation.
Treat the site as connected only when both your fresh visit (in Web analytics) and your tracked event (in Product analytics) appear for the same app and environment, in a date range that includes your test.
Moving to a new domain or subdomain
When you add a domain or change a subdomain, review the allowed websites in the selected app's settings.
For Builder apps, manage publication addresses through Builder.
Recheck the integration on the final public URL after the change.
Make this part of your launch checklist, so every domain change is rechecked on the final public URL.
Next step
Once your first visit and event show up, continue with Verify your first events in the docs, which links to step 4, "Confirm the data", of the Set up OXVO Insights guide.
For a practical next step, pick one question and verify an event.



