Open Tracked/Integrations/Update to ipv6 for Facebook events with Open Tracked

Update to ipv6 for Facebook events with Open Tracked

Meta matches events better when it gets the visitor's real IP address, and prefers IPv6 when one exists. Make sure your server reads and passes it.

4 min read · Updated October 26, 2026

In this guide
Key takeaways
  • Meta's Conversions API accepts IPv4 or IPv6 in client_ip_address, and recommends IPv6 when available.
  • Your server must read the visitor's IP from a CDN header and pass it, not the CDN's address.
  • If you use the Anonymizer, check what reaches the Meta tag.
VVisitor on IPv6CCDN headerclient_ip_address to Meta

The IP address is one of the match keys Meta uses for server events. More and more visitors connect over IPv6, especially on mobile networks. If your tagging server sees only an IPv4 address of a CDN, or truncates addresses, Meta gets a weaker signal. This page explains what to check. Meta's documentation is the source of truth for field requirements, and it changes. See accessing the original visitor IP, event match quality and GA4 IP anonymization.

What Meta asks for

  • client_ip_address should be the visitor's IP address, in plain text, not hashed.
  • Meta accepts IPv4 and IPv6 and, according to its guidance, prefers IPv6 when you have it.
  • Send it together with client_user_agent, which improves matching.
Works worldwide

Runs on your domain, anywhere

Your tracking runs on your own domain, so a visit from any country is handled the same way.

Why you may be sending the wrong address

SituationWhat the server seesResult
A CDN or proxy in front of the tagging serverThe CDN's addressMeta receives the CDN's IP, which is useless for matching
The tagging domain has only an IPv4 recordMobile visitors reach it over IPv4 through translation, if at allYou may lose the visitor's IPv6 address
The tag takes the request IP instead of a headerThe address of the last hopWrong value
The Anonymizer is onA truncated or empty addressWeaker matching, by design

Check and fix

1

Find the header that carries the visitor IP

For Cloudflare, CF-Connecting-IP. For other CDNs, True-Client-IP or X-Forwarded-For. See accessing the original visitor IP.

2

Read it in a variable

A request header variable in the server container.

3

Pass it to the Meta tag

As the client IP address field.

4

Check the IPv6 support of your tagging domain

Your CDN usually handles it. Make sure IPv6 is enabled for the zone, so IPv6 visitors can connect.

5

Test from an IPv6 connection

Use a phone on mobile data or a test site, and check the value in Preview.

6

Check Meta Test Events

The server event should show the IP match key.

Check your setup

Check your tracking in one pass

This is an example. Run the check on your own site to see where yours stands.

Test it

  1. Visit your site over mobile data, which is often IPv6.
  2. In server Preview, open the event and read the IP header.
  3. Open the Meta tag's outgoing request: client_ip_address should be that value.
  4. Compare with an IPv6 test site's answer for your connection.

The Anonymizer

Open Tracked's Anonymizer (every plan) zeroes the last part of the IP or removes it before it reaches your container. For the Meta tag this means less matching data. Choose it only if your privacy position requires it, and check what reaches your tags for both IPv4 and IPv6 visitors. See GA4 IP anonymization.

Common mistakes

SymptomCDN address sent to Meta
Likely causeThe tag reads the request IP.
FixRead the CDN header.
SymptomOnly IPv4 appears
Likely causeIPv6 is not enabled for the domain, or the header holds the proxy.
FixEnable IPv6 and check the header.
SymptomThe IP is hashed
Likely causeA habit from e-mail hashing.
FixSend it plain.
SymptomHeader spoofing
Likely causeYou trust any X-Forwarded-For.
FixTrust headers only from your CDN.
0 of 5 done
Live view

Watch events arrive, live

A sample feed. In Open Tracked you see the same stream for your own store.

Frequently asked questions

Does Meta want IPv6 addresses?

Meta accepts IPv4 and IPv6 in client_ip_address and, according to its guidance, prefers IPv6 when available.

Why does my server see the CDN's IP?

The connection comes from the CDN. The visitor's IP is in a header.

Should I hash the IP address?

No. Send it in plain text.

Does the Anonymizer affect Meta matching?

Yes. It reduces or removes the address. Use it only if your privacy position requires it.

How do I test IPv6?

Visit your site over mobile data and read the header and the Meta request in Preview.

Do I need spreadsheets to read my results?

No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.

Is Open Tracked different from Open Track or Open Space Track?

No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source

Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.

Open Tracked
Written by

The Open Tracked team

We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?

Write to us Read the docs

Was this article helpful?

Comments

Loading comments...

Turn better tracking into better marketing performance

Start free