ConsentMagic · Meta

Meta Limited Data Use (LDU) on WordPress with PixelYourSite

Limited Data Use is Meta’s compliance signal for US state privacy laws. When a visitor in a covered state opts out of data sale or sharing, you flip the signal on for that visitor, and Meta limits how it processes their data. PixelYourSite implements the signal on both the browser pixel and the Conversions API.…

Updated 26 Sep 2026 · 4 min read · 1 video

Plugins used

Meta Limited Data Use (LDU) on WordPress with PixelYourSite

Play the video

Watch the guide

Video guide

What LDU is, in plain terms

When Meta receives an event with the LDU signal attached, it treats that event as restricted. No retargeting, no custom audiences, no use of the data for ad personalisation. The visitor still counts as a conversion (Meta uses the data for measurement and modelling), but Meta doesn’t use it to build profiles or audiences.

Technically, PYS sends three parameters on each event when LDU is on:

  • Browser pixel: vdpo: 'LDU', dpoco: 0, dpost: 0.
  • CAPI: data_processing_options: ['LDU'], data_processing_options_country: 0, data_processing_options_state: 0.

The two 0 values tell Meta to detect the country and state itself from the IP. You don’t have to do geolocation; Meta does.

When you need LDU

LDU only matters for visitors from US states with consumer privacy laws that grant the right to opt out of data sharing. As of 2026, these states are covered:

StateMeta Business ToolsAudience Network SDKCustomer List Custom Audiences
California✓✓✓
Colorado✓✓—
Connecticut✓✓—
Delaware✓✓—
Florida✓✓—
Montana✓✓—
Nebraska✓✓—
New Hampshire✓✓—
New Jersey✓✓—
Oregon✓✓—
Texas✓✓—

The list grows as more states pass privacy laws. Check Meta’s Limited Data Use documentation for the current list before relying on this table.

LDU is not GDPR

LDU and GDPR are not interchangeable. Mixing them up is the most common mistake.

GDPR (EU + EEA)LDU (US states)
What’s requiredBlock all tracking until the visitor explicitly opts in.Track by default; flip LDU on for visitors who opt out.
Default stateDenied.Granted.
Visitor experienceBanner blocks the site features until consent is given.Banner informs and offers an opt-out link.

A GDPR-compliant cookie banner doesn’t make you LDU-compliant. An LDU-compliant inform-and-opt-out banner doesn’t make you GDPR-compliant. You need both, applied based on the visitor’s location.

How PYS implements LDU

A single developer filter: pys_meta_ldu_mode.

  • When the filter returns false (default), no LDU signal is sent. Events go to Meta normally.
  • When the filter returns true for the current visitor, PYS adds the LDU parameters to every Meta browser pixel event and every CAPI event for that visitor.

PYS doesn’t decide when to flip the filter. Something else — ConsentMagic, or custom code wired to a third-party consent plugin — has to detect the visitor’s state and the visitor’s choice, then return true from the filter when LDU should apply.

Setup paths

SetupConsent pluginWhen to use
RecommendedConsentMagicNew install or any site that wants a clean path. ConsentMagic ships a built-in LDU rule that targets the covered US states and runs an Inform-and-Opt-Out flow.
CustomAny other consent plugin, or your own codeYou’re committed to a different consent tool. Use the pys_meta_ldu_mode filter to tell PYS when the visitor’s opted out.

Recommended: PixelYourSite + ConsentMagic

  1. Install ConsentMagic and complete the setup wizard.
  2. In ConsentMagic, enable the Meta Limited Data Use rule. It targets the covered US states automatically.
  3. Configure the rule’s consent type as Inform and Opt-Out (the default for LDU).
  4. Save.

That’s it. For visitors from covered states:

  • A banner informs them about tracking and offers an opt-out link.
  • If they don’t opt out, PYS keeps sending Meta events normally.
  • If they opt out, ConsentMagic flips the pys_meta_ldu_mode filter to true, and PYS adds the LDU signal to every Meta event for that visitor going forward.

Custom: any other consent plugin

If you use Cookiebot, Complianz, Iubenda, OneTrust, or your own consent system, add this filter to your theme’s functions.php or a custom plugin:

php

add_filter( 'pys_meta_ldu_mode', function( $ldu_on ) {
    // Detect whether the current visitor is in a covered US state
    // and has chosen to opt out of data sharing.
    if ( my_visitor_is_in_covered_state() && my_visitor_opted_out_of_meta() ) {
        return true;
    }
    return $ldu_on; // keep the default (false)
} );

Both helper functions are yours to implement based on your consent plugin’s API. The visitor’s state can come from your CMP’s geolocation, from a CDN header like CF-IPCountry+CF-Region, or from a server-side lookup of the visitor’s IP.

Verify it’s working

Browser side

Open your site in an incognito window. Use the Meta Pixel Helper Chrome extension.

For a normal visitor (no LDU): no special parameters.

For a visitor with LDU on: each event should carry vdpo=LDU, dpoco=0, dpost=0. The Pixel Helper shows them in the parameter detail panel.

Server side

In Events Manager, open a CAPI event and look at its payload. With LDU on, the event includes:

json

"data_processing_options": ["LDU"],
"data_processing_options_country": 0,
"data_processing_options_state": 0

If you don’t see these on a LDU-eligible visitor, the filter isn’t firing. Check that your consent rule is enabled for that visitor’s state.

Things to know

  • Geolocation is Meta’s job. PYS sends 0, 0 so Meta uses its own IP-based geolocation. You don’t need a third-party geolocation service for LDU itself, but you do need one to decide whether to ask the visitor for an opt-out in the first place (which only matters in covered states).
  • The state list grows. Eight states were added on December 18, 2024. More will follow as US state laws pass. Don’t hardcode the list in your own code; rely on ConsentMagic’s rule, which is updated centrally.
  • LDU doesn’t stop the event from firing. The conversion still reaches Meta and still counts toward measurement and modelling. LDU only restricts personalisation, custom audiences, and lookalikes built from the data.
  • Customer list Custom Audiences are different. Uploading a customer list with California residents triggers LDU restrictions automatically on Meta’s side; you don’t need to send a separate signal.
  • LDU is independent of GDPR. For EU traffic, you need a full opt-in flow before any Meta tag fires. See Meta CAPI Event Match Quality (EMQ) for the matching side and ConsentMagic & other WordPress Consent Plugins for the consent layer.
  • No PYS admin toggle. LDU is filter-driven by design, because the decision is always per-visitor, not site-wide. There’s no on/off switch in the plugin admin — only the filter and ConsentMagic’s rule.

This guide uses PixelYourSite Pro.

Meta Pixel and Conversions API, Advanced Matching, form data detection and consent: built in, no code.