If you work with multiple Facebook Ads, Instagram, or TikTok accounts, you have probably encountered a situation where the proxies are set up, the browser fingerprints are unique, yet the accounts still get banned. One of the most common reasons is the mismatch between the timezone of the IP address and the browser settings. Platforms have learned to detect such discrepancies and automatically block suspicious accounts.
In this guide, we will discuss how timezone and language detection works, why it leads to bans, and most importantly, how to properly configure anti-detect browsers like Dolphin Anty, AdsPower, Multilogin, and GoLogin to ensure all parameters match your proxies and do not raise suspicions with anti-fraud systems.
How platforms determine timezone and browser language
Modern anti-fraud systems of Facebook, Instagram, TikTok, Google Ads, and other platforms collect dozens of parameters from your browser and compare them with each other. Timezone and language are among the key markers that must logically correspond to each other and the IP address.
Main methods for determining timezone:
1. JavaScript API β Intl.DateTimeFormat().resolvedOptions().timeZone
This is the primary way websites obtain your timezone. The JavaScript code on the page calls the method new Intl.DateTimeFormat().resolvedOptions().timeZone and retrieves a string like "Europe/Moscow", "America/New_York", or "Asia/Dubai".
2. Date.getTimezoneOffset()
This method returns the offset in minutes between UTC and the local time of the browser. For example, for Moscow (UTC+3), it will return -180 minutes. Platforms compare this value with the timezone from the first method β they should match.
3. IP address and GeoIP databases
When you connect through a proxy, the server sees the IP address and determines its geographical location through databases like MaxMind, IP2Location, or its own data. Each country and city has a standard timezone.
Methods for determining browser language:
1. navigator.language and navigator.languages
JavaScript retrieves the primary browser language through navigator.language (for example, "ru-RU", "en-US") and the list of all languages through navigator.languages β an array of languages in order of priority.
2. HTTP header Accept-Language
With every request to the server, the browser sends the Accept-Language header, which contains a list of preferred languages. For example: "en-US,en;q=0.9,ru;q=0.8". This header should match navigator.languages.
3. Locale from Intl API
The method Intl.DateTimeFormat().resolvedOptions().locale returns the regional settings for formatting dates and numbers. It should correspond to the primary browser language.
Important: Anti-fraud systems check not only each parameter separately but also their logical connection. If the IP is from London (UTC+0), and the browser timezone is "America/New_York" (UTC-5) β this is a clear sign of proxy use and data spoofing.
Why timezone mismatch leads to bans
Advertising platforms and social networks fight against several types of violators: fraudsters, spammers, bots, and arbitrageurs who violate multi-accounting rules. Mismatched timezone and language with the IP address is one of the simplest ways to detect them.
Real ban scenarios:
Scenario 1: An arbitrageur farms Facebook Ads accounts
You use residential proxies from the USA (New York, UTC-5), but forgot to change the timezone in Dolphin Anty β it remains Moscow (UTC+3). Facebook sees the IP from the USA, but the browser reports Moscow time. Result: the account gets banned within 24-48 hours, often marked as "suspicious activity".
Scenario 2: An SMM specialist manages client accounts
You have 20 Instagram accounts from clients in different countries. You set up proxies for each country, but the browser language for all profiles remains "ru-RU". Instagram analyzes: IP from Germany, but the browser language is Russian β possibly a VPN or proxy. The account undergoes additional checks and may require phone number verification.
Scenario 3: Multi-accounting in TikTok Ads
You run 10 TikTok ad accounts through different profiles in AdsPower. The proxies are set up correctly, but all profiles use the same timezone "Europe/London". TikTok sees that 10 different "users" with different IPs are active at the same time of day, with identical activity patterns β this is a sign of farmed accounts. All accounts get banned in a chain (chain-ban).
| Parameter | What the platform sees | Risk level |
|---|---|---|
| IP from the USA, timezone UTC-5 | Everything logically matches | Low |
| IP from the USA, timezone UTC+3 (Moscow) | Clear mismatch β proxy | Critical |
| IP from Germany, language "ru-RU" | Possible VPN or tourist | Medium |
| IP from France, language "fr-FR", timezone Europe/Paris | Everything makes sense β local user | Low |
| 10 accounts with the same timezone | Suspicion of account farming | High |
Top 5 mistakes when setting up timezone and language
Over the years of working with multi-accounting, arbitrageurs and SMM specialists make the same mistakes. Here are the most critical ones:
Mistake 1: Automatic timezone detection by IP
Many anti-detect browsers (Dolphin Anty, AdsPower) offer the option to "automatically determine timezone by proxy IP". It sounds convenient, but in practice, it works poorly. The problem is that GeoIP databases are not always accurate β especially for mobile and residential proxies, where the IP may be registered in one city but physically located in another (a difference of 1-2 hours).
Solution: Always check the automatically determined timezone through the service browserleaks.com/timezone or whoer.net. If the timezone does not match the expected for the city of the IP β set it manually.
Mistake 2: Using UTC instead of a specific timezone
Some users set the timezone as "UTC+3" or "GMT-5". This is a mistake! Modern browsers and JavaScript APIs return the timezone in IANA (Internet Assigned Numbers Authority) format β strings like "Europe/Moscow", "America/New_York", "Asia/Dubai". If you simply set "UTC+3", platforms will see a non-standard value.
Solution: Use only IANA timezones. A complete list is available at en.wikipedia.org/wiki/List_of_tz_database_time_zones. For Moscow β "Europe/Moscow", for New York β "America/New_York", for Dubai β "Asia/Dubai".
Mistake 3: Forgot to change the Accept-Language header
You change navigator.language in the profile settings to "en-US", but forget about the HTTP header Accept-Language, which remains "ru-RU,ru;q=0.9". Platforms compare these two values β if they do not match, it is a sign of data spoofing.
Solution: In the anti-detect browser profile settings, there is a section "HTTP headers" or "Headers". Make sure that Accept-Language matches navigator.language. For example, if the language is "en-US", then the header should be "en-US,en;q=0.9".
Mistake 4: Same timezone for all profiles in one city
If you are working with 20 accounts through proxies from London and set all to "Europe/London" β this creates a pattern. Anti-fraud systems analyze not only individual accounts but also groups of accounts with similar characteristics.
Solution: Use proxies from different cities even within the same country. The UK has one timezone, but different cities β London, Manchester, Birmingham. This adds diversity to the fingerprints.
Mistake 5: Not accounting for daylight saving time
In some countries (USA, Europe), the time changes twice a year. For example, New York operates in UTC-4 (EDT) in summer and UTC-5 (EST) in winter. If you manually set the offset and do not update it after the switch β the timezone stops matching the IP.
Solution: Use IANA timezone (for example, "America/New_York") instead of manual UTC offset. The browser will automatically account for daylight saving time. If you use an offset β keep track of the switch dates and update the profile settings.
Proper timezone setup in anti-detect browsers
Let's go through the step-by-step setup of timezone in popular anti-detect browsers. The process is similar across all tools, but there are nuances.
Setup in Dolphin Anty
Dolphin Anty is one of the most popular anti-detect browsers among arbitrageurs. Hereβs how to properly set up the timezone:
- Open the browser profile (or create a new one)
- Go to "General Settings" β "Timezone"
- Disable the "Automatically determine" option (if enabled)
- In the dropdown, select the desired timezone in IANA format. For example, for proxies from Miami, choose "America/New_York" (Florida is in the Eastern Time zone)
- Check the "UTC Offset" field β it should be filled in automatically. For America/New_York, it will be -5 (in winter) or -4 (in summer)
- Save the profile and launch the browser
Important nuance for Dolphin Anty: In the "Advanced Settings" section, there is an option to "Substitute timezone via JavaScript". Make sure it is enabled β otherwise, the settings will not apply to the JavaScript API.
Setup in AdsPower
AdsPower offers more detailed timezone settings:
- Create or open a profile
- Tab "Basic Settings" β section "Time Zone"
- Choose the mode: "Based on IP" (automatically) or "Manual" (manually). We recommend Manual for precise control
- In the "Time Zone" field, enter the IANA timezone. AdsPower supports autocomplete β start typing "America" and you will see a list of all zones
- Check the "Current Time" field β it should display the current time in the selected timezone
- Save the profile
Feature of AdsPower: There is a "Test" button next to the timezone settings. It opens a built-in test that shows what timezone JavaScript sees. Be sure to check this before launching campaigns.
Setup in Multilogin
Multilogin is a premium solution with advanced settings:
- In the profile, go to "Advanced Settings" β "Timezone"
- Select "Custom timezone"
- Enter the IANA timezone manually or select from the list
- Multilogin will automatically configure all related parameters: Date.getTimezoneOffset(), Intl API, time in the browser console
- Save and launch the profile
Setup in GoLogin
GoLogin is a budget alternative with a simple interface:
- Open the profile β tab "Overview"
- Section "Timezone" β select "Fill from proxy IP" for automatic detection or "Custom" for manual setup
- If you chose Custom β enter the timezone in IANA format
- GoLogin will show the current time and UTC offset for verification
- Save the profile
Tip for arbitrageurs: Create a "Proxy β Timezone β Language" correspondence table. When you buy a new batch of proxies, immediately determine their timezone through whoer.net and record it in the table. This will save time when creating new profiles and eliminate errors.
Setting up language, locale, and accept-language headers
You have set the timezone β now for the browser language. This is no less important a parameter that must logically correspond to the IP address and timezone.
Which language to choose for different countries
The main rule: the browser language should be typical for the country of your proxy. Here are recommendations for popular geos:
| Proxy Country | Primary Language (navigator.language) | Accept-Language Header |
|---|---|---|
| USA | en-US | en-US,en;q=0.9 |
| United Kingdom | en-GB | en-GB,en;q=0.9 |
| Germany | de-DE | de-DE,de;q=0.9,en;q=0.8 |
| France | fr-FR | fr-FR,fr;q=0.9,en;q=0.8 |
| Spain | es-ES | es-ES,es;q=0.9,en;q=0.8 |
| Italy | it-IT | it-IT,it;q=0.9,en;q=0.8 |
| Brazil | pt-BR | pt-BR,pt;q=0.9,en;q=0.8 |
| UAE (Dubai) | ar-AE or en-US | ar-AE,ar;q=0.9,en;q=0.8 or en-US,en;q=0.9 |
| India | en-IN | en-IN,en;q=0.9,hi;q=0.8 |
Important about Accept-Language: Pay attention to the "q=" parameter in the header. This is the language priority (from 0 to 1). The format "en-US,en;q=0.9,ru;q=0.8" means: primary language en-US (priority 1.0 by default), fallback en (priority 0.9), third option ru (priority 0.8). For most geos, two languages are sufficient: primary + English.
Setting language in anti-detect browsers
Dolphin Anty:
- Profile β "General Settings" β "Browser Language"
- Select the primary language from the list (for example, "English (United States)" for en-US)
- Go to "Advanced Settings" β "HTTP Headers"
- Find the "Accept-Language" field and enter the header manually: "en-US,en;q=0.9"
- Save the profile
AdsPower:
- Profile β "Basic Settings" β "Language"
- In the dropdown, select the required language
- AdsPower will automatically set the Accept-Language header according to the selected language
- If custom settings are needed β go to "Advanced Settings" β "Custom Headers" and add the header manually
Multilogin and GoLogin: The process is similar β select the language in the main settings, check that the Accept-Language header matches (usually set automatically).
Setting Locale (regional formats)
Locale determines how the browser formats dates, numbers, and currency. For example, in the USA, the date is written as MM/DD/YYYY (12/31/2023), while in Europe, it is DD/MM/YYYY (31/12/2023). Platforms check the correspondence of locale with language and timezone.
In most anti-detect browsers, locale is set automatically when choosing a language. But it is worth checking through a test:
- Launch the browser profile
- Open the developer console (F12)
- Enter the command:
new Intl.DateTimeFormat().resolvedOptions().locale - It should return a string like "en-US", "de-DE", etc. β it should match navigator.language
Geolocation API and WebRTC: additional leakage points
You have set the timezone and language, but there are still two parameters that can reveal the use of a proxy: Geolocation API and WebRTC.
Geolocation API β determining coordinates
Modern browsers can request your physical location through the Geolocation API. If a site requests coordinates and you grant access β the browser will return the real GPS coordinates of your computer, not the coordinates of the proxy. This completely reveals the spoofing.
How to protect yourself:
- Block access to geolocation: In the anti-detect browser profile settings, find the "Permissions" section and set "Block" for Geolocation. Sites will not be able to request coordinates.
- Spoof coordinates: Some browsers (AdsPower, Multilogin) allow you to set fake GPS coordinates. Choose coordinates for the city where your proxy is located. For example, for a proxy from New York, set the coordinates: 40.7128, -74.0060.
- "Prompt" mode: Set a mode where the browser will ask for permission for each geolocation request. This way, you control what you give to sites.
WebRTC β leaking real IP
WebRTC (Web Real-Time Communication) is a technology for video calls directly in the browser. The problem is that WebRTC can bypass the proxy and transmit your real IP address to the site. This is a critical leak for multi-accounting.
Solution: All modern anti-detect browsers have protection against WebRTC leaks. Check the settings:
- Dolphin Anty: "Advanced Settings" β "WebRTC" β choose "Substitute" (replace IP with proxy IP) or "Disabled" (completely disable)
- AdsPower: "Advanced Settings" β "WebRTC" β mode "Alter" (substitution) or "Disabled"
- Multilogin: automatically substitutes WebRTC IP with proxy IP
- GoLogin: "WebRTC" β "Use proxy IP"
How to check for WebRTC leaks: Open the site browserleaks.com/webrtc in the browser profile. It will show what IP is seen through WebRTC. It should match the IP of your proxy, not your real IP.
How to choose a proxy for the required timezone
Choosing the right proxy is half the success. If you need a specific timezone for a campaign, choose proxies from the corresponding region.
Types of proxies and their features for timezone
Residential proxies: The best choice for working with Facebook Ads, Instagram, TikTok. Residential proxies use IPs of real home users, so their timezone always corresponds to the physical location. The downside is that they are more expensive than data center proxies.
Mobile proxies: Ideal for Instagram, TikTok, mobile applications. Mobile proxies use IPs from mobile operators (4G/5G). The timezone is determined by the cell tower β usually accurately matches the city. They have the highest trust score with platforms, but also the highest price.
Data center proxies: Cheap and fast, but the timezone may be inaccurate. The IP is registered at a data center that is physically located in one city but serves the entire region. For example, an IP may be registered in New York, but the data center is physically in New Jersey (timezone difference). Suitable for scraping, but not for farming accounts.
How to find out the timezone of a proxy before purchasing
Most proxy providers do not specify the timezone in the description. Hereβs how to check it yourself:
- Get a test proxy from the provider (many offer a trial for 1-3 days)
- Set up the proxy in any browser or use an online service
- Open the site
whoer.netor2ip.io - The service will show: IP address, country, city, timezone, provider
- Record the timezone β this is the value you will need to set in the anti-detect browser
Alternative method via API: If you are buying a large batch of proxies, you can automate the check via GeoIP API. Services like ipapi.co or ip-api.com return the timezone by IP. Example request: curl ipapi.co/8.8.8.8/timezone/ will return "America/Chicago".
Recommendations for choosing geos for popular platforms
| Platform | Recommended Geos | Timezone | Proxy Type |
|---|---|---|---|
| Facebook Ads | USA, UK, Canada | America/New_York, Europe/London | Residential |
| USA, Brazil, India | America/Sao_Paulo, Asia/Kolkata | Mobile | |
| TikTok Ads | USA, UK, UAE | America/Los_Angeles, Asia/Dubai | Mobile |
| Google Ads | USA, Germany, Australia | America/Chicago, Europe/Berlin | Residential |
| Amazon (sellers) | USA (various states) | America/New_York, America/Denver | Residential |
Checking settings: tools for testing
After setting up timezone, language, and proxies, be sure to check all parameters before launching working campaigns. One incorrect parameter can lead to the banning of all accounts.
Comprehensive fingerprint checking services
1. Whoer.net
The most popular service among arbitrageurs. It shows: IP address, country, city, timezone, browser language, WebRTC leaks, DNS leaks, canvas fingerprint. It gives an overall anonymity score in percentage. Aim for 90%+ for safe operation.
What to check on Whoer.net:
- IP and geolocation must match your proxy
- Timezone must correspond to the city of the IP
- Language must be typical for the country
- WebRTC IP must match the main IP (or be blocked)
- DNS must not leak your real provider
2. BrowserLeaks.com
A more detailed technical service. It has separate pages for checking each parameter:
browserleaks.com/ipβ checking IP and geolocationbrowserleaks.com/javascriptβ all JavaScript APIs including timezone, language, localebrowserleaks.com/webrtcβ checking WebRTC leaksbrowserleaks.com/canvasβ canvas fingerprint (for anti-detect)
3. IPLeak.net
A simple service for quick checking of IP, DNS, and WebRTC. Convenient for mass profile checks β loads quickly, shows the main points.
Checking via browser console (for advanced users)
If you want to check specific JavaScript APIs manually, use the developer console:
- Launch the profile in the anti-detect browser
- Press F12 to open the console
- Enter commands to check parameters:
// Check timezone
new Intl.DateTimeFormat().resolvedOptions().timeZone
// Should return: "America/New_York" (or your timezone)
// Check UTC offset
new Date().getTimezoneOffset()
// For America/New_York it will return: 300 (in winter) or 240 (in summer)
// Check browser language
navigator.language
// Should return: "en-US" (or your language)
// Check all languages
navigator.languages
// Should return an array with your languages
After checking all parameters, make sure everything is set correctly before launching your campaigns. Proper configuration is key to avoiding bans and ensuring smooth operation.