
Last updated: November 4, 2026
GeoSwap ("the Service") is a free geo-targeting platform operated by GeoSwap, a company registered in Wyoming, USA ("we," "us," "our"). The Service enables website owners to create geo-targeted redirects, geo short links, and personalized content experiences for their visitors.
This Privacy Policy explains what information we collect, how we use it, who we share it with, and your rights regarding your personal data. It applies to all users of the GeoSwap dashboard, the geoswap.js script, Geo Links, and any related services.
Our role. For the data we process about visitors to our customers' websites and links (and the conversions customers report to us), the website owner is the controller and GeoSwap acts as its processor, on its instructions. For account, billing and GeoSwap website data, we are the controller. A Data Processing Agreement is available to customers on paid plans; contact support@geoswap.co.
We are committed to protecting your privacy and complying with applicable data protection regulations, including the General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA).
By using the Service, you acknowledge that you have read and understood this Privacy Policy. If you do not agree with our practices, please do not use the Service.
When you create an account through our authentication provider (Clerk), we collect:
We store the geo-targeting rules, redirect configurations, link settings, and content personalization rules you create within the Service.
When visitors interact with websites using GeoSwap's geo-targeting features, we collect aggregated analytics data including:
We want to be explicit about what we do not collect:
GeoSwap helps website owners see which channels, campaigns and links lead to conversions on their own websites. To do this we recognize a returning browser across visits to that owner's websites (with the gs_vid ID described below, which we store only as a one-way hash), connect short-link clicks to the visits they lead to (with a click ID), and connect the conversions the owner reports to those visits. For browsers that block cookies and storage, our edge servers derive a daily pseudonymous identifier from a one-way hash of the IP address and browser user agent (with a key that rotates daily), so that visits and conversions on the same day can be linked. The identifier is a one-way hash that can't be turned back into the IP address or user agent, the IP address itself is not stored, and the identifier can't link visits across days. Promo codes and the region sent with a conversion are used to report results by region and, later, to credit the channel a code belongs to. This stays within one customer's account and its own websites: we do not track visitors across unrelated websites. Website owners are responsible for telling their visitors about attribution and for obtaining consent where the law requires it. To have a visitor's attribution data deleted, contact the website owner or email support@geoswap.co.
If you connect Meta (Facebook and Instagram ads) to a workspace, Meta gives us an access token for the ad accounts you choose in Meta's dialog, with read-only permission (ads_read). GeoSwap only reads: we never create, change or delete anything in your Meta ad accounts. We store your Meta user ID (and any earlier one that connected the same workspace) and Meta business ID with the connection (to find your data if Meta sends us a deletion request). To let you choose, we list the ad accounts the token can read; we don't store the ones you don't choose. We use the token only to read, once a day and when an admin of the workspace syncs now or chooses which ad accounts to sync: each chosen ad account's name, ID, currency and time zone, and per campaign per day its ID, name, amount spent, and the purchases and purchase value Meta reports (Meta reports other actions with them; we keep only purchases). We use this data only inside your own GeoSwap workspace: to show your ad spend, cost per conversion and return on ad spend, your campaigns' names, and the platform's own reported conversions next to GeoSwap's in your reports. We do not sell it, share it with other customers or third parties, use it for advertising or profiling, use it to train AI models, or combine it with data from other customers. The access token is stored encrypted and is never shown to anyone. We don't receive or store data about the people who saw or clicked your ads.
When an ad account stops syncing because an admin of the workspace disconnects Meta, stops syncing that ad account, or reconnects with a Meta login that can't read it, GeoSwap asks that admin to choose, for each ad account, whether we delete the spend data synced from it or keep it in their GeoSwap reports. We keep it only if they choose to, and an admin can delete kept data for any ad account later. Disconnecting also stops all further access to Meta and deletes the access token. GeoSwap stays listed as a connected app in your Meta Business settings until you remove it there (Business Settings → Integrations → Connected apps).
If Meta access ends without an admin action in GeoSwap (for example, you remove GeoSwap from your Meta Business settings), we stop all further access to Meta and delete the access token. The data already synced stays until an admin of the workspace chooses to delete or keep it.
We also delete the data we received from Meta when Meta sends us a data-deletion request (you can ask from your Facebook settings), when an admin chooses "Delete data" for an ad account or, once Meta is disconnected or its access has ended, "Delete all Meta data" in GeoSwap (Integrations → Meta Ads → Manage accounts), or when the workspace is deleted. After a disconnect, your Meta user ID and business ID stay with the disconnected connection until one of these happens. You can check a deletion request at geoswap.co/meta/data-deletion. We keep a record of each deletion request (the confirmation code, the Meta user ID it came for, the date and the outcome) so it can be checked there; nothing else.
If you connect Google Ads to a workspace, you sign in with Google and allow GeoSwap to use the Google Ads API on your behalf. Google offers only one permission for the Google Ads API, and it also allows changes; GeoSwap only reads: we never create, change or delete anything in your Google Ads accounts. We store an encrypted refresh token and your Google account's ID and email address (to show who connected and to find your data if you ask us to delete it). To let you choose, we list the accounts your Google account can access; we don't store the ones you don't choose (the list is kept for a few minutes while you choose, then discarded). Once a day, and when an admin of the workspace syncs now or chooses which accounts to sync, we read, for the Google Ads accounts you choose: each account's name, ID, currency and time zone, the ID and name of the manager account you reach it through, whether it is a test account, and per campaign per day its ID, name and type, its cost, and the conversions and conversion value Google Ads reports. We use this data only inside your own GeoSwap workspace: to show your ad spend, cost per conversion and return on ad spend, your campaigns' names, and the platform's own reported conversions next to GeoSwap's in your reports. We do not sell it, share it with other customers or third parties, use it for advertising or profiling, use it to train AI models, or combine it with data from other customers, and no person at GeoSwap reads it unless you ask us to (for support), for security, or to comply with the law. We don't receive or store data about the people who saw or clicked your ads. GeoSwap's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
When a Google Ads account stops syncing because an admin of the workspace disconnects Google Ads, stops syncing that account, or reconnects with a Google account that can't read it, GeoSwap asks that admin to choose, for each Google Ads account, whether we delete the data synced from it or keep it in their GeoSwap reports. We keep it only if they choose to, and an admin can delete kept data for any Google Ads account later. Disconnecting also stops all further access to Google Ads, deletes the refresh token and revokes GeoSwap's access at Google (unless another GeoSwap workspace still uses the same Google sign-in).
If Google Ads access ends without an admin action in GeoSwap (for example, you remove GeoSwap at myaccount.google.com/permissions, change your Google password, or the connection goes unused for 6 months), we stop all further access to Google Ads and delete the refresh token. The data already synced stays until an admin of the workspace chooses to delete or keep it.
We also delete the data we received from Google Ads when an admin chooses "Delete data" for an account or, once Google Ads is disconnected or its access has ended, "Delete all Google Ads data" in GeoSwap (Integrations → Google Ads → Manage accounts), when you email support@geoswap.co from the address you connected with (we delete it within 30 days, usually the same day), or when the workspace is deleted. After a disconnect, your Google account ID and email address stay with the disconnected connection until one of these happens.
If you connect Google Search Console or Google Analytics (GA4) to a workspace, you sign in with Google and allow GeoSwap read-only access: Search Console with the "View Search Console data for your verified sites" permission, Google Analytics with the "See and download your Google Analytics data" permission. GeoSwap never creates, changes or deletes anything in your Search Console or Google Analytics accounts. We store a refresh token and your Google account's email address (to show who connected and to find your data if you ask us to delete it), and the property you choose. To let you choose, we list the properties your Google account can access; we don't store the ones you don't choose.
For the property you choose we read, per day: from Search Console, clicks, impressions, click-through rate and average position by page, search query, country and device; from Google Analytics, report totals such as visits by channel and key events. We may store a copy so your reports load quickly and keep history longer than Google does. We use this data only to show SEO and analytics reports and to measure your own marketing launches inside your own GeoSwap workspace. We do not sell it, share it with other customers or third parties, use it for advertising or profiling, use it to train AI models, or combine it with data from other customers, and no person at GeoSwap reads it unless you ask us to (for support), for security, or to comply with the law. GeoSwap's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
Disconnecting stops all further access and deletes the refresh token. We delete the data we received from Search Console or Google Analytics when an admin of the workspace asks us to, when you email support@geoswap.co from the address you connected with (we delete it within 30 days, usually the same day), or when the workspace is deleted. You can also remove GeoSwap's access at any time at myaccount.google.com/permissions.
Signing in with Google and the Google Ads, Search Console and Google Analytics connections are one app at Google, named GeoSwap, so Google shows the same app name on each consent screen and lists them together in your Google Account. Each one asks only for its own data permission (Google Ads: the Google Ads permission; Search Console: "View Search Console data for your verified sites"; Google Analytics: "See and download your Google Analytics data") plus your Google account's email address, and has its own authorization, so disconnecting one in GeoSwap never affects the others. Removing GeoSwap in your Google Account ends all of them for that Google account: GeoSwap stops reading from Google, your GeoSwap account stays, and signing in with Google again asks for your consent again. The Limited Use commitment above applies to information received from every one of them.
We use the information we collect for the following purposes:
Where the General Data Protection Regulation applies, we process your personal data on the following legal bases:
We do not sell your data. We share data only with the following categories of service providers that are necessary to operate the Service:
| Provider | Purpose | Data Shared |
|---|---|---|
| Clerk | Authentication and identity | Name, email, profile information |
| Railway | Application hosting and database | Account data, configurations, aggregated analytics |
| Cloudflare | Edge processing and CDN | Visitor requests (IP processed transiently for geo-lookup, not stored) |
| Railway | Redis caching | Account rule configurations (no personal data) |
| Stripe | Payment processing and billing | Billing contact name and email, workspace name, payment details (card data is handled by Stripe and never touches our servers), invoices and metered usage totals |
| Resend | Transactional email delivery | Recipient email address and email content (account, billing and team notifications) |
| Axiom | Application logging | Server logs: request metadata (including the visitor's browser user agent on edge requests), workspace and user IDs, error details. Visitor IP addresses are not logged |
| Sentry | Error monitoring | Error reports from the dashboard and API: stack traces, browser and device type, account user ID |
| PostHog | Product analytics | Account user ID and email, pages viewed and actions taken in the GeoSwap website and dashboard. Not used on your visitors' websites |
| Google (Tag Manager / Analytics / Ads) | Marketing site measurement | Page views, device and approximate location, ad click identifiers on geoswap.co. Not used on your visitors' websites |
| Meta (Facebook Login for Business, Marketing API) | Optional ad-spend connection (section 2.6) | Only if you connect it: we receive ad account and campaign spend data from Meta; we send Meta nothing but the requests for that data |
| Google Ads (Google Ads API) | Optional ad-spend connection (section 2.7) | Only if you connect it: we receive account and campaign cost data from Google Ads; we send Google nothing but the requests for that data and to end our access |
| Google (Sign-in, Search Console, Analytics) | Optional sign-in and SEO / analytics data connections | Your Google account name and email if you sign in with Google; Search Console or Google Analytics data only if you connect it (read-only, see section 2.8) |
All service providers process data solely on our behalf and in accordance with our instructions. They are bound by data processing agreements and are prohibited from using the data for their own purposes.
We may also disclose information if required by law, regulation, legal process, or governmental request, or to protect the rights, property, or safety of GeoSwap, our users, or others.
Our infrastructure providers operate globally. Your data may be processed in countries other than your own, including the United States. Where personal data is transferred outside the European Economic Area, we rely on appropriate safeguards such as the Standard Contractual Clauses approved by the European Commission (Decision 2021/914) or on adequacy decisions. Where personal data is transferred from the United Kingdom, we rely on the UK GDPR transfer safeguards, such as the UK International Data Transfer Addendum to the EU Standard Contractual Clauses, and for Switzerland on the Standard Contractual Clauses as adapted for the Swiss Federal Act on Data Protection.
For customers, these safeguards are set out in our Data Processing Agreement, which is available to customers on paid plans; contact support@geoswap.co.
Cloudflare Workers process visitor requests at edge locations worldwide. IP addresses are used transiently at the nearest edge node for geographic determination and are not transferred to or stored at any central location.
We retain data according to the following schedule:
Depending on your jurisdiction, you may have the following rights regarding your personal data:
To exercise any of these rights, contact us at support@geoswap.co. We will respond to your request within 30 days.
If you are a California resident, you have additional rights under the California Consumer Privacy Act:
In the preceding 12 months, we have not sold any personal information and do not intend to do so. To submit a CCPA request, contact us at support@geoswap.co.
We implement appropriate technical and organizational measures to protect your personal data against unauthorized access, alteration, disclosure, or destruction. These measures include:
While we strive to protect your data, no method of transmission over the internet or method of electronic storage is completely secure. We cannot guarantee absolute security.
The Service is not directed to individuals under the age of 16. We do not knowingly collect personal data from children under 16. If we become aware that we have inadvertently collected personal data from a child under 16, we will take steps to delete such data promptly. If you believe a child under 16 has provided us with personal data, please contact us at support@geoswap.co.
We may update this Privacy Policy from time to time to reflect changes in our practices, technology, legal requirements, or other factors. When we make material changes, we will:
We encourage you to review this Privacy Policy periodically. Continued use of the Service after changes have been posted constitutes your acceptance of the revised policy.
If you have questions, concerns, or requests regarding this Privacy Policy or our data practices, please contact us:
GeoSwap — Privacy
Email: support@geoswap.co
We will acknowledge receipt of your inquiry within 5 business days and aim to resolve all privacy-related requests within 30 days.