---
title: Use MaxMind with Forms
slug: cms-12/docs/use-maxmind-with-forms
docTags: 
createdAt: 2026-08-10T15:55:57.000Z
---

:::hint{type="info"}
- **Prerequisites**
  Install `EPiServer.Forms` package from NuGet.
- Install `EPiServer.Personalization.MaxMindGeolocation` package from NuGet.
:::

1. Sign in or sign up at [MaxMind](https://maxmind.com).
2. Download the **GeoLite2** database to the data folder in project (for example, `App_Data`).. You can download **ASN**, **City**, or **Country** data file and `.csv` location file.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/NZICnek0lzVt0roi4eDmt_f84b84d-forms-maxmind-1.png)

3. Open `Startup.cs` file.
4. Add `AddMaxMindGeolocationProvider` with `config` to services object as below sample.

```csharp
services
  .AddCmsAspNetIdentity < ApplicationUser > ()
  .AddCms()
  .AddVisitorGroupsUI()
  .AddCmsHost()
  .AddAlloy()
  .AddAdminUserRegistration()
  .AddEmbeddedLocalization < Startup > ()
  .AddMaxMindGeolocationProvider(configure => {
    configure.DatabasePath = Path.Combine(_webHostingEnvironment.ContentRootPath, "App_Data", "GeoLite2-City.mmdb");
    configure.LocationsDatabasePath = Path.Combine(_webHostingEnvironment.ContentRootPath, "App_Data", "GeoLite2-City-Locations-en.csv");
  });
```

5. Add **Hidden visitor profiling** into a form container and edit that element.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/ifBIQpvz6JykEpL65CofZ_4906dd0-forms-maxmind-2.png)

6. Select **Geo** in the **Auto-collect visitor data** section with any value listed (such as **City**).

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/FpHyKAi_X7AIdIrBR3NW2_4b2aa8f-forms-maxmind-3.png)

7. Drag and drop the form to a page and publish it.
8. Submit the form.
9. Verify submission data.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/EqD3G3JK8vxiHbINbkjty_54e077e-forms-maxmind-4.png)
