Guide
Organic Traffic Simulation with Hit Bots: The Key Is the Right Proxy Stack
The proxy layer decides whether hit bot sessions look consistent: IP type, geography, sticky sessions and browser settings. Setup, testing, bandwidth and risks in one guide.
Key takeaways
- The consistency of hit bot sessions depends more on the proxy layer than on the software: IP type, geography, session length and match with browser settings.
- On-site navigation simulation uses sticky sessions; on WeProxy the same IP can be pinned for up to 24 hours in the residential pool and up to 60 minutes on mobile.
- A session exiting from a Türkiye residential IP should use the `Europe/Istanbul` time zone and `tr-TR` language, and WebRTC and DNS leaks should be tested separately.
- The rough bandwidth formula is visits × pages × page weight: 1,000 visits × 4 pages × 2 MB ≈ 8 GB.
- Sending bot traffic to paid ads is ad fraud, and attempts to change rankings with artificial traffic violate Google's spam policies.
A hit bot is software that sends automated sessions to a website that imitate real visitor behavior: it opens pages, scrolls, waits and clicks internal links. Whether those sessions look consistent is decided less by the software than by the proxy layer behind it: IP type, geography, session length and how well these three match the browser settings.
This guide covers what hit bots and traffic simulators are used for, which signals the proxy choice changes, how to add proxies to a tool, how to test exits and how to estimate bandwidth. The last section states plainly how search engines and ad platforms treat automated traffic. Examples use the WeProxy gateway gw.weproxy.com.tr:8989, with USER and PASSWORD as credential placeholders.
What is a hit bot and what is it used for?
A hit bot, or traffic simulator, is an automation tool that repeats a defined scenario across many separate sessions. Simple tools only send HTTP requests. Browser-based tools run a real engine such as Chromium, so JavaScript, cookies and analytics tags execute as they would for a normal visitor.
Typical uses:
- Analytics and tag testing: verifying that a GA4, Tag Manager or server-side tagging setup records events correctly for sessions from different countries, devices and sources.
- Load and behavior testing: checking before a campaign or release how the site responds under concurrent sessions and how the cache and CDN layer behaves in different regions.
- Traffic-pattern simulation: testing how traffic with a given hourly distribution, landing page or visit depth shows up in reports, dashboards and alert rules.
- Rank-signal experiments: SEO teams who want to observe the relationship between user behavior and search results on their own sites. The limits of this area are covered separately in the risk section below.
Whatever the goal, the value of a simulation depends on consistency. If a session that claims to come from Istanbul exits from a data center in Frankfurt, what you are testing is an anomaly, not a real user flow.
Why does traffic look consistent or inconsistent at the proxy layer?
A site's server, CDN and analytics tool see the network layer of every session first: the source IP, the ASN that owns it, its geolocation and earlier requests from the same IP. The browser layer (User-Agent, language, time zone) sits on top. When the two layers do not confirm each other, the session stands out.
IP type: residential, mobile and datacenter
Datacenter IPs sit in the ASNs of hosting and cloud providers. IP databases label these blocks as "hosting", and many bot-protection and analytics rules use that label directly. For work where identity does not matter, such as load testing, a datacenter exit is sufficient and fast; for simulations that imitate a visitor profile, it is the first inconsistency.
Residential IPs belong to home internet subscribers and exit from ISP ASNs. Mobile IPs come from 4G/5G carriers; because carriers use CGNAT, many real users share a single mobile IP. That is why mobile IPs give the most consistent match for mobile device simulation. For a detailed comparison of the types, see the residential, mobile, datacenter and ISP proxy guide.
Geography and ASN spread
On a site whose audience is in Türkiye, most traffic comes from Turkish ISPs and mobile carriers. The simulation should exit from the same country and, where possible, the same cities. WeProxy residential and mobile pools support country, city and, in some locations, ASN-level targeting.
ASN spread is a separate parameter. Real traffic is spread across several large ISPs and carriers; when every session comes from a single ASN, it suggests a narrow source even if the IPs differ. The logic of country, city and ASN selection is explained in the proxy geo-targeting guide.
Session length: sticky or rotating?
A real visitor browses from the same IP for the whole session. If a hit bot spreads one visit over five pages and the IP changes on every request, the server sees that single visit as fragments of five different visitors; the cookie and the IP no longer match.
That is why on-site navigation simulation uses sticky sessions: one visit, one IP. On WeProxy, adding a session ID to the username pins the same exit IP for up to 24 hours in the residential pool and up to 60 minutes on mobile. For single-page checks, per-request rotation fits. For the distinction, see the sticky vs rotating proxy guide.
Fingerprint consistency: UA, time zone, language
The values the browser reports should tell the same story as the exit IP. A session exiting from a Türkiye residential IP should have the time zone Europe/Istanbul and an Accept-Language header weighted toward tr-TR. If a mobile IP is used, the User-Agent and screen size should reflect a mobile device as well.
There is also a leak check. If the browser exposes your real IP through a separate channel such as WebRTC or local DNS, the session reports two locations no matter how suitable the proxy exit is. For the tests, see the DNS leak and WebRTC guide.
Referrer and dwell-time patterns
Real traffic arrives from a source: search, social media, direct entry or a campaign link. In analytics tests, the correct way to separate these sources is to tag simulated traffic explicitly with UTM parameters (such as utm_source=loadtest). Test data can then be filtered in reports and does not mix with real data.
Dwell time and scroll depth are distributions, not fixed values. If every session stays exactly 60 seconds, even a dashboard test produces an unrealistic chart. Using ranges for wait time and page count lets the simulation reflect what it measures more accurately.
Which proxy configuration fits which goal?
The table below gives a starting point for common scenarios. The values are not rules; adjust them to the target site's audience and the purpose of the test.
| Goal | Proxy type | Session mode | Geography |
|---|---|---|---|
| Analytics / tag validation | Rotating residential | Sticky, one IP per visit | Audience country and cities |
| Mobile site and app flow testing | Rotating mobile | Sticky, up to 60 minutes | Carriers in the target country |
| Load and CDN testing | Datacenter or unlimited residential | Rotating | Regions under test |
| Traffic-pattern simulation (high volume) | Unlimited rotating residential | Rotating | Country + multiple ASNs |
| Regional content and page rendering checks | Premium rotating residential | Per-request rotation | City-level targeting |
On the product side: Rotating Residential IPv4 Proxy offers a 100M+ IP pool, city/ZIP targeting and both sticky and rotating sessions. Premium Rotating Residential Proxy is a premium-tier residential pool. Rotating Mobile IPv4 Proxy runs on 4G/5G carrier IPs. For long-running work where measuring volume in GB is impractical, Unlimited Rotating Residential IPv4 Proxy is offered as ports with unlimited monthly traffic.
How do you add proxies to a hit bot tool?
Most hit bot tools accept a proxy list in one of two formats:
- Line format:
gw.weproxy.com.tr:8989:USER:PASSWORD - URL format:
http://USER:[email protected]:8989, or for SOCKS5socks5h://USER:[email protected]:8989
If your list is in one format and the tool expects the other, use the proxy format converter instead of editing lines by hand. If the password contains @, : or /, the URL format needs percent-encoding. The authentication method depends on the product: Static Residential IPv4 and Mobile 5G Proxy connect with username/password only and have no IP whitelist. The per-product table is in the proxy authentication guide.
In a browser-based scenario, define the proxy, time zone and language in the same place. A Python example with Playwright:
from playwright.sync_api import sync_playwright
PROXY = {
"server": "http://gw.weproxy.com.tr:8989",
# For a sticky session, append the session suffix shown in your dashboard to the username
"username": "USER",
"password": "PASSWORD",
}
with sync_playwright() as p:
browser = p.chromium.launch(proxy=PROXY)
context = browser.new_context(
locale="tr-TR",
timezone_id="Europe/Istanbul",
)
page = context.new_page()
page.goto("https://api.ipify.org")
print("Exit IP:", page.inner_text("body"))
page.goto("https://example.com/?utm_source=loadtest&utm_medium=simulation")
page.wait_for_timeout(15000)
browser.close()
Use a new context and a new session ID for every visit. Reusing the same context with different IPs carries cookies from one IP to another.
How do you test exit IPs?
Verify the exits before pointing the bot at a target. First note your address without a proxy using the My IP tool, then run the same check through the proxy. If the address does not change, the tool is not using the proxy.
A quick command-line check:
for i in 1 2 3; do
curl -sS -x "http://USER:[email protected]:8989" https://api.ipify.org
echo
done
In rotating mode you should see three different IPs; in sticky mode, the same IP. Check the country, city and ASN of the returned addresses with the IP lookup tool; if they do not match the country and carrier you targeted, fix the targeting parameter. To validate a list of proxies in bulk, use the proxy checker.
How do you calculate concurrency and bandwidth?
WeProxy packages have no limit on threads or concurrent sessions. The practical limits are the capacity of the machine running the bot and the load the target site can handle. Each Chromium instance uses hundreds of MB of RAM; with 50 concurrent browsers, your server hits its limit before the proxy does.
Increase concurrency in steps: 5, 20, 50 sessions. At each step, watch the target's response time and error rate. A rise in 429 or 5xx responses shows you have reached the target's capacity limit; enlarging the proxy pool does not change that limit. For what the codes mean, see the proxy error codes guide.
On GB-based packages, usage is measured as the sum of sent and received traffic. For a rough estimate:
Total traffic ≈ visits × pages per visit × average page weight
Example: 1,000 visits × 4 pages × 2 MB ≈ 8 GB
Do not guess page weight; measure the transfer size of the target page in the Network tab of the browser's developer tools. Disabling image and video loading reduces usage, but it can also change what you want to measure in an analytics or CDN test. Purchased GB never expire; they stay in your balance until used. New accounts start with 1 GB of free residential traffic to try the network, enough for a pilot calculation on a few pages.
If volume is constant and high, port-based unlimited packages are more predictable than GB billing. Starting packages are listed on each product page.
Risks and limits: what can a hit bot not do?
It is as important to know where automated traffic does not work as where it does.
- Search engine policies. Google's spam policies explicitly prohibit attempts to manipulate search systems into ranking content and unauthorized automated queries (machine-generated traffic). Trying to change rankings with artificial traffic is a policy violation and the outcome is not guaranteed; the signals can be filtered, devalued or counted against the site.
- Analytics filters. GA4 automatically excludes traffic from known bots and spiders, and this filter cannot be disabled (Known bot-traffic exclusion). How simulated sessions will appear in reports is therefore not certain in advance.
- Ads. Using bots on paid ads (clicks or impressions) is ad fraud. Google Ads defines clicks and impressions generated by bots and automated software as invalid traffic. Do not send bot traffic to ads, even your own.
- Target sites and terms of service. Run simulations only on sites you own or have permission to test. Putting load on someone else's site can breach its terms of service and cause outages.
Use of WeProxy services is subject to the acceptable use rules. Legitimate SEO uses of proxies (regional content checks, site audits, localized page testing) are summarized on the SEO proxy use-case page.
Setup checklist
- Write down the purpose of the simulation: analytics test, load test or traffic pattern. The proxy type follows from that decision.
- Identify the audience's country, cities and main carriers, and set pool targeting accordingly.
- If there is on-site navigation, use sticky sessions: one visit, one session ID, one browser context.
- Match time zone, language and device type to the exit IP; test for WebRTC and DNS leaks.
- Convert the proxy list to the format your tool expects with the format converter.
- Verify exits with My IP and IP lookup; do not scale until country and ASN match what you expect.
- Measure page weight and calculate bandwidth; set concurrency to your machine's capacity.
- Tag test traffic with UTM, and never send it to ads or to sites you lack permission for.
A hit bot's output cannot be more consistent than the story its proxy layer tells. When the right IP type, geography that matches the audience, a fixed session per visit and matching browser settings come together, the simulation measures what you want it to measure.
Frequently asked questions
What type of proxy is best for a hit bot?
For simulations that imitate a visitor profile, rotating residential proxies are a sound starting point; for mobile site tests, mobile proxies on 4G/5G carrier IPs give more consistent results. For load tests where identity does not matter, datacenter IPs are enough. The purpose of the test and the audience's country decide the choice; verify exit country and ASN before scaling.
Should I use sticky or rotating proxies for a hit bot?
Use sticky sessions when a visit opens more than one page: one visit, one IP. If the IP changes on every request, the server sees a single visit as fragments of several visitors. Per-request rotation fits single-page checks. On WeProxy a session ID pins a residential IP for up to 24 hours and a mobile IP for up to 60 minutes.
Can a hit bot improve Google rankings?
There is no guarantee. Google's spam policies prohibit attempts to manipulate search systems and unauthorized automated queries; artificial signals can be filtered, devalued or counted against the site. Hit bots deliver measurable value when used on your own site for analytics, load and traffic-pattern testing. Sending bot traffic to paid ads, on the other hand, is ad fraud.
How much proxy bandwidth does a hit bot need?
A rough estimate is visits × pages per visit × average page weight. For example, 1,000 visits, 4 pages and a 2 MB page weight come to about 8 GB. Measure page weight in the browser's Network tab. On GB-based packages, sent and received traffic both count, and purchased GB never expire.
What proxy list format do hit bot tools accept?
Most tools accept the `ip:port:user:pass` line format or the `http://user:pass@host:port` URL format. For WeProxy the gateway is `gw.weproxy.com.tr:8989`. You can convert between formats with the proxy format converter. If the password contains special characters, the URL format needs percent-encoding. Username/password and IP whitelist authentication are both available.
Does WeProxy limit concurrent connections?
No. WeProxy packages have no limit on threads or concurrent sessions. The practical limits are the RAM and CPU of the machine running the bot and the load the target site can handle. Increase concurrency in steps such as 5, 20 and 50 sessions, and watch response time and the `429` and `5xx` rate at each step.









