Skip to main content

Mida.so Integration with Snitcher

You can pass Snitcher company identification data into Mida using the mida.identify() client-side API. This lets you target and personalize content based on the visitor's company — industry, size, domain, and more.

Implement Snitcher Spotter

Install the Snitcher tracker, then authorise your domain under Settings > Integrations > Spotter in your Snitcher dashboard. Spotter authenticates by domain, so no API token is required. See Snitcher's Spotter documentation.

The Mida script must also be installed on the same page.

Real-time personalization with Snitcher

Mida supports real-time personalization when Snitcher identifies a company during the current visit.

When Snitcher resolves the company, call mida.identify() with the company attributes, then chain .reload(). The .reload() call tells Mida to re-evaluate your personalization rules and apply matching variants on the same page without waiting for a return visit.

<script>
// Requires the Snitcher tracker installed + your domain authorised in
// Snitcher (Settings > Integrations > Spotter). No API token needed.
async function applySnitcherPersonalization() {
if (!window.Snitcher || typeof Snitcher.getSpotterIdentification !== "function") return;

const identification = await Snitcher.getSpotterIdentification();

// Only proceed when a company was successfully identified
if (!identification || !identification.success || !identification.data) return;

const company = identification.data;

// Sync company attributes into Mida and apply personalization immediately
mida.identify({
snitcher_company_name: company.name,
snitcher_company_domain: company.website,
snitcher_company_industry: company.industry,
snitcher_company_employee_range: company.size
}).reload();
}

// Run once the Snitcher tracker is ready
if (window.Snitcher && typeof Snitcher.ready === "function") {
Snitcher.ready(applySnitcherPersonalization);
}
</script>

How it works

  1. Snitcher identifies the visitorSnitcher.getSpotterIdentification() resolves asynchronously once Snitcher matches the visitor to a company.

  2. mida.identify() stores company attributes — Data is saved to the visitor profile and sent to Mida.

  3. .reload() applies personalization — Mida re-runs targeting and shows the matching personalization variant on the current page.

On future visits, the stored attributes are already available, so matching personalization can apply as soon as Mida loads — even before Snitcher's callback runs again.

Targeting with Snitcher data

Use the snitcher_* properties in your Mida personalization audience rules. For example:

  • Show a different hero headline when snitcher_company_industry equals Software

  • Display enterprise pricing when snitcher_company_employee_range is 51-200 or higher

  • Swap logos or social proof when snitcher_company_domain matches a target account list

You can also use these values as dynamic keywords in your variant content (e.g. {{snitcher_company_name}}).

Tips

  • Always chain .reload() if you want personalization to apply on the same visit. Calling mida.identify() alone saves the data but does not re-apply variants until the next page load.

  • Snitcher runs asynchronously — visitors may briefly see the default page before identification completes. This is expected; .reload() applies the personalized experience once Snitcher responds.

  • Unidentified visitorsgetSpotterIdentification() returns success: false for residential/ISP visitors, so the example simply does nothing for them.

About Mida user identification

Identifying users lets you personalize content with dynamic keywords and audience targeting based on the attributes you provide.

To add custom user data, use the mida.identify() method. You can pass properties like id, name, email, or any custom attributes relevant to your use case.

For more details, see How to identify user with API?

Did this answer your question?