Similar Meta Event Names
Your Meta Pixel has events with names so close that they are probably the same action tagged twice. Patterns like `Purchase` and `purchase`, or `AddToCart` and `add_to_cart`, are not collapsed by Meta. They run as separate events, split volume, and confuse anyone reading Events Manager.
Why It Matters
Meta event names are case-sensitive and exact-match. `Purchase` and `purchase` are two different events. So are `AddToCart` and `add_to_cart`. So are `lead` and `Lead`. Meta does not normalize them, does not warn, and does not merge their volume in reporting. The split causes three problems. First, the standard event optimization path only recognizes the exact-cased standard name (`Purchase`, `AddToCart`, `Lead`). The variant gets treated as a custom event and loses access to value optimization, Advantage+ tooling, and standard lookalike seeding. Second, half the conversions land in the standard slot, the other half in the custom slot, and campaign Results columns show the wrong total. Third, when an analyst later reads Events Manager and sees two events with similar names, they cannot tell which one is real, which one is dead, or whether dedupe is happening. The usual cause is two tagging surfaces: a hardcoded pixel call uses one casing, a GTM tag uses another, and a third-party plugin ships its own. Each one fires what it thinks is right.
How To Fix It
- Pull the similar-name pairs AdLint flagged. For each pair, identify which is the canonical Meta standard event name (PageView, ViewContent, AddToCart, InitiateCheckout, AddPaymentInfo, Purchase, Lead, CompleteRegistration, Subscribe, AddToWishlist).
- Locate every source firing either variant: page template, GTM, server-side via Conversions API, third-party plugin.
- Standardize on the exact Meta casing across all sources. Update GTM tags, server payloads, and any hardcoded `fbq("track", ...)` calls.
- Leave the legacy variant firing for two to four weeks so campaigns and audiences pointed at it do not break, then retire it once the canonical event shows stable volume.
- In Events Manager, confirm the duplicate name disappears from the events list after the retirement window.
Example
// Wrong: two events that Meta sees as different
fbq('track', 'purchase', { value: 99 });
fbq('track', 'Purchase', { value: 99 });
// Right: one canonical standard event
fbq('track', 'Purchase', { value: 99, currency: 'USD' });This Meta Pixel has two or more events with near-identical names (such as `Purchase` and `purchase`, or `AddToCart` and `add_to_cart`). Per Meta's standard events reference, event names are case-sensitive and exact-match, which means only the canonical casing receives standard-event treatment (value optimization, Advantage+ eligibility, standard lookalike seeding); variants are routed as custom events and split conversion volume across two slots. The downstream impact is that Results columns under-report against the canonical event, optimization signal is fragmented, and Events Manager becomes ambiguous to read. The typical root cause is multiple tagging surfaces (page template, GTM, third-party plugin, Conversions API) using different casing conventions. Fix: identify the canonical Meta standard event name for each pair, standardize every firing source on the exact casing, run both variants in parallel for two to four weeks, then retire the variant. Source: developers.facebook.com/docs/meta-pixel/reference.
Drop this paragraph into your client deliverable. Sources back to the canonical platform documentation linked below.
References
Audit your own files for this check
AdLint runs this check (and 177 others) against your GTM, Google Ads, Meta, TikTok, LinkedIn, Pinterest, Twitter/X, and Snapchat exports. Everything stays in your browser. No uploads, no accounts.
Run a free audit