pixellint

Meta standard conversion events are PascalCase names

Short answer

Typos in event names do not 400. They silently become custom events with no value schema. Pixellint warns on unrecognized Meta ev values because custom is legal and Purchse is still a bug.

Validate CAPI JSON Open the rulepack

Use the catalog

If the vendor listed an event for your action, use it. CompleteRegistration is not Lead. Subscribe is not Purchase. AddToCart is not ViewContent. Standard events carry documented parameters (value, currency, content ids) that optimization expects. Pinterest standard events are a different list and a different case: pagevisit, checkout, addtocart, signup, lead, search, viewcategory, watchvideo, addtowishlist. Checkout (PascalCase) on ct.pinterest.com is a custom event, not checkout.

Meta standard events are PascalCase: Purchase, Lead, AddToCart, InitiateCheckout, ViewContent, CompleteRegistration. The pixel field is ev. vendor.meta.param.ev.invalid warns on unrecognized values because custom events are legal. That warning is how Purchse ships. Fix the typo; do not register Purchse in Events Manager unless you enjoy a forever alias.

Casing is per vendor

GA4 recommended events are snake_case: purchase, add_to_cart, begin_checkout, generate_lead. TikTok Events API uses names such as CompletePayment and ViewContent on the event field (not event_name). Snap CAPI event_name is a documented UPPER_CASE enum: PURCHASE, ADD_CART, START_CHECKOUT, VIEW_CONTENT, PAGE_VIEW. vendor.snapchat.body.event_name.invalid is Purchase copied from Meta.

Do not reuse one string across vendors without a map. Dedup requires the pixel event and the CAPI event to use that vendor's name, not a company-wide constant named PURCHASE that is wrong on two of three pipes.

When custom is right

A product-specific milestone the catalog cannot express: quiz_completed, recipe_saved, level_40. Name it like a function, not Event1. Put value only if it is money or a score you will optimize toward.

Pinterest allows a custom event_name up to 100 characters and does not enum-check it, so a typo will not fail the pack. Map the custom name to a standard event in Ads Manager if you want optimization. The JSON will not do that for you.

Dedup dies on a name mismatch

Meta dedups on event_id plus event_name (and Pixel ID). fbq track Purchase plus CAPI event_name purchase are two events. Snap will not even accept purchase. TikTok pixel CompletePayment plus a server event named Purchase will not collapse.

The map belongs in one function: toMeta(event), toTikTok(event), toSnap(event). Spreading the strings through GTM, a worker, and a notebook is how the pixel says Purchase and CAPI says OrderCompleted.

Purchse still 200s

The pixel warns. CAPI will take the string. Optimization will not treat it as Purchase.

pixellint validate url 'https://www.facebook.com/tr?id=123&ev=Purchse'
# warning  vendor.meta.param.ev.invalid  ev is Purchse, not Purchase

// Snap: documented upper-case enum, not Meta PascalCase
{ "event_name": "PURCHASE", "action_source": "WEB", "event_source_url": "https://shop.example/thanks" }

// Wrong Snap
{ "event_name": "Purchase", "action_source": "website" }
# vendor.snapchat.body.event_name.invalid
# vendor.snapchat.body.action_source.invalid

// TikTok Events API field is "event", not event_name
{ "pixel_code": "CXXXX", "event": "CompletePayment", "event_id": "order-1842", "timestamp": "2026-08-21T18:04:00Z" }

Questions

What are Meta standard conversion events?

Meta standard conversion events are PascalCase: Purchase, Lead, AddToCart. A typo is a custom event that still 200s. Pinterest standard events are lowercase. TikTok pixel standard events use names such as CompletePayment.

Are Pinterest standard events the same as Meta?

No. Pinterest standard events are lowercase (pagevisit, checkout, addtocart). Meta standard conversion events are PascalCase. Copying Purchase onto ct.pinterest.com makes a custom event.

Check the artifact

Paste the pixel URL or JSON body into the playground. Same engine as pixellint validate. Artifacts you test may be stored; see privacy.