FingerprintJS

Subdomain setup

Setting up a subdomain allows you to use your own domain with FingerprintJS Pro API. It is strongly recommended that you set up a subdomain for several reasons:

  • Improved Safari identification accuracy.
  • Extended the lifetime of visitorID value by enabling secure first-party cookies.
  • Preventing ad blockers from blocking the API calls to our fraud-detection API.
  • It is much harder to detect that your website is using FingerprintJS Pro.

After you set up a subdomain, your subdomain will be linked to a FingerprintJS server.

To start the subdomain setup process, open your subscription and click the "Subdomain integration" link in the sidebar.

1. Issue an SSL certificate for your new subdomain

FingerprintJS needs to issue an SSL certificate for your subdomain first. In order for FingerprintJS to issue a certificate, you need to confirm that you are the subdomain owner by adding a special validating DNS record. When you add your subdomain certificate, you can add up to 50 domains to it.

๐Ÿ“˜

Note:

The certificate cannot be edited later. You will need to recreate the certificate anytime you change the domains, so make sure to add all your domains at once.

๐Ÿ“˜

Note:

  • You need to own the top-level domain on which youโ€™re creating the subdomain.

  • Certificates cannot be issued for subdomains on domains like heroku.com, azurewebsites.net etc that are owned by other companies.

  • It should be a subdomain, not a domain.

  • Our recommendation is to create a subdomain like fp.yourdomain.com for this integration. You must use a new subdomain that you are not currently using for something else.

You will need to add one DNS record to prove ownership of your domain. The record details will be provided on the second step of the subdomain integration wizard. The certificate validation will fail if the record is not added during 48 hours.

Editing the DNS records is done in your domain registrar account, e.g. GoDaddy DNS, or Route53 if youโ€™re on AWS.
Once you add the domain ownership verification record, weโ€™ll issue your certificate.

๐Ÿšง

Is your certificate showing up as "Invalid"?

This error may be caused by a conflicting CAA record in your DNS settings. A CAA record will give authority exclusively to a certain site issuing certificates (making it impossible for us to register a certificate with your site).

If you are experiencing this issue, there are two ways to fix it:

  1. Delete the CAA record in your DNS.
  2. Or, if you need the CAA, add another so that we can qualify as a "Certificate Authority". Below you can see an example CAA record to grant us access. Simply replace <fp.yourdomain.com> with your subdomain.

<fp.yourdomain.com>. CAA 0 issue "amazon.com"

2. Add a DNS record for your new subdomain

We will send you an email when your certificate is issued. When you receive this email, please click the link that will bring you to the 3rd and final step of the subdomain integration wizard.
At this step, youโ€™ll need to add the 2nd DNS record to your DNS settings.
This is necessary to point your subdomain to our server.

Add two A records per each subdomain with IP addresses that weโ€™ll show you on page 3 of the wizard.
If you added more than one domain on step 1 of the wizard, please add these A records for each corresponding subdomain.

๐Ÿ“˜

Note:

Some DNS providers (like Route 53) allow you to add one record with two IP address values, while others require you to add one A record per IP address.

3. Configuring JS Agent

When the certificate is issued and your subdomain points to our server, your JS agent configuration needs to be updated with your subdomain URL.

You will see a full JavaScript example with your new subdomain URL in the code snippet example on the 3rd page of the wizard.

import FingerprintJS from '@fingerprintjs/fingerprintjs-pro'

FingerprintJS.load({
        token: 'your-browser-token',
        endpoint: 'https://fp.yourdomain.com'
    })
    .then(fp => fp.get())
    .then(result => console.log(result.visitorId))
<script>
  function initFingerprintJS() {
    FingerprintJS.load({
            token: 'your-browser-token',
            endpoint: 'https://fp.yourdomain.com'
        })
        .then(fp => fp.get())
        .then(result => console.log(result.visitorId));
  }
</script>
<script
  async
  src="https://cdn.jsdelivr.net/npm/@fingerprintjs/[email protected]/dist/fp.min.js"
  onload="initFingerprintJS()"
></script>

๐Ÿ“˜

Note:

The endpoint subdomain should match the domain of the website

4. Subdomain integration pricing

The subdomain integration is free for one SSL certificate. Contact [email protected] if you need more than one SSL certificate.

Updated 7 days ago



Subdomain setup


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.