| 开发者 | capiflow |
|---|---|
| 更新时间 | 2026年9月28日 05:18 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
ecommerce.items.price, currency, user_data.email, transaction_id, etc.event_id mismatch between web and server containers, or a tiny dataLayer discrepancy (like ecommerce.items vs. items) breaks tracking completely in silence. Your store shows ZERO error messages, yet data stops reaching Meta, Event Match Quality (EMQ) plummets to 3/10, Meta's AI optimization flies blind, and your ad costs (CPA) double without warning! Most store owners end up spending $150–$300 hiring tracking freelancers just to debug the mess.Purchase event the exact millisecond a customer clicks "Place Order". If an order is a fake Cash-on-Delivery (COD) submission, entered with a wrong phone number, or cancelled an hour later — Meta's AI algorithm has already marked it as a successful high-value buyer, actively training Meta Advantage+ to find more fake buyers and chronic returners!
Purchase prematurely upon checkout placement. Instead, it holds the event until the store owner verifies the order and marks it as "Confirmed" or "Completed" in WooCommerce. Only 100% real, verified purchases reach Meta Events Manager!Purchase upon delivery confirmation. If an order is returned or cancelled, it dispatches Negative Purchase Signals to retrain ad algorithms away from chronic returners!document.cookie) within 1 to 7 days, CapiFlow sets first-party HttpOnly server cookies that persist for up to 180 days.event_id to guarantee Meta never double-counts conversions.event_id) | ✅ Yes | ✅ Yes |
| Purchase Event Firing Logic | Manual Confirmed Purchase Control | ✅ Fully Automated via Courier APIs |
| Negative Purchase Signals (Ad Budget Optimization) | ❌ No | ✅ Yes (Automated on Returns) |
| 0ms Async Background Queuing | ✅ Yes | ✅ Yes |
| Cache-Safe 180-Day Persistent Server Cookies | ✅ Yes | ✅ Yes |
| Category-Based Multi-Pixel Routing | ❌ No | ✅ Yes |
| 3-Layer AI Fraud Defense & Phone OTP Verification | ❌ No | ✅ Yes (Full Suite) |
| Multi-Carrier Courier Auto-Booking (Pathao, Steadfast, DHL...) | ❌ No | ✅ Yes |
| Smart Cart Recovery with Dynamic Single-Use Auto-Coupons | ❌ No | ✅ Yes (SMS + Email) |
CapiFlow Pro
Ready to automate your entire post-purchase pipeline? CapiFlow Pro upgrades your store into an automated powerhouse:
capiflow_has_tracking_consent).https://graph.facebook.com/
This connection is made from your server to Meta's servers when a configured tracking event occurs. No data is sent until a valid Pixel ID and Access Token are configured.
Data transmitted includes:
https://connect.facebook.net/en_US/fbevents.js
Loaded on frontend pages when a Pixel ID is configured. The SDK is hosted by Meta.
Privacy
For server-side events, all personal data is SHA-256 hashed before transmission. For browser events, the Meta Pixel SDK handles hashing via Advanced Matching. This plugin does not store raw PII in its own tables. See Meta's privacy policy.
Cookies
cs_uid — Random visitor identifier for external_id deduplication. 180 days. No PII._fbc — Meta Click ID. Set by Meta SDK on ad click. CapiFlow reads/extends server-side. 180 days._fbp — Meta Browser ID. Set by Meta SDK. CapiFlow reads/extends server-side. 180 days.{prefix}_capiflow_events — Queued/sent event payloads. Auto-purged after delivery.{prefix}_capiflow_analytics — Daily aggregated analytics. Auto-purged by retention settings._capiflow_ prefix. Removed on uninstall if "Keep Data" is disabled.wp-content/uploads/capiflow-logs/ with .htaccess protection. Auto-cleaned daily.capiflow_has_tracking_consent filter.
When Consent Enforcement is enabled, browser and server-side events are blocked until valid tracking consent is detected.
Store owners are responsible for lawful consent configuration where required by privacy regulations.
capiflow to /wp-content/plugins/.Yes! CapiFlow is built specifically for WooCommerce stores to enable full server-side Conversions API (CAPI) and Meta Pixel tracking without needing Google Tag Manager (sGTM), complex dataLayers, triggers, or custom code. Everything is 100% pre-engineered, native, and automated. You simply paste your Pixel ID and Access Token, and tracking starts in under 3 minutes.
Yes, absolutely. You do not need Stape.io, Google Cloud Platform (GCP), AWS, or any paid cloud server container. CapiFlow runs 100% natively on your existing WordPress server and offloads events via Action Scheduler, saving you $240 to $1,200+ every year in cloud hosting subscriptions.
CapiFlow runs Meta's officially recommended dual-tracking setup: it fires both client-side Meta Pixel (fbq) and server-side Conversions API (CAPI) simultaneously. Both streams share identical, synchronized cryptographic event_id values for 100% deterministic deduplication in Meta Events Manager.
No. Matching event_id values guarantee that Meta automatically deduplicates browser and server events within Meta's 48-hour deduplication window. You get 100% accurate conversion reporting with zero double-counting.
While Apple Safari and ad blockers wipe JavaScript cookies (document.cookie) within 1 to 7 days, CapiFlow sets persistent first-party identity cookies (_fbp and _fbc) via uncacheable REST response headers that persist for up to 180 days. This bypasses page caching layers (LiteSpeed, WP Rocket, Varnish, Cloudflare) and recovers 25%+ of lost conversions.
CapiFlow normalizes and SHA-256 hashes customer data (E.164 phone numbers, lowercase trimmed emails, names, cities, postal codes) and pairs them with fbc, fbp, external_id, client IP, and browser user agent. This multi-signal matching consistently delivers 9.0+ EMQ scores in Meta Events Manager.
No. CapiFlow offloads all server-side CAPI dispatches to background workers using WordPress Action Scheduler. It adds 0ms delay to customer checkout or page load speeds, keeping your Core Web Vitals 100% green.
Yes! CapiFlow sets persistent server identity cookies directly via uncacheable REST response headers. This completely bypasses page caching layers (LiteSpeed, WP Rocket, Varnish, Cloudflare) and ensures cookies are never cached statically.
Conventional tracking plugins fire a Purchase event the exact moment a customer submits checkout. If that order is a fake Cash-on-Delivery (COD) submission or gets cancelled, Meta's algorithm still counts it as a successful sale, poisoning your ad optimization. CapiFlow Free holds the Purchase event until you verify the order and mark it "Confirmed" or "Completed" in WooCommerce. In CapiFlow Pro, this is fully automated via Courier APIs (Pathao, Steadfast, REDX, DHL, FedEx) and Negative Purchase signals!
100% compatible with all standard gateways (bKash, Nagad, SSLCommerz, Stripe, PayPal, COD), all themes (Classic, Block/FSE, Elementor, Divi, Bricks), and both High-Performance Order Storage (HPOS) and legacy posts-based order storage.
All PII is SHA-256 hashed before transmission. CapiFlow includes a built-in Consent Enforcement toggle that blocks both browser and server events until CMP consent is granted (compatible with CookieYes, Complianz, CookieBot, and custom filters). Privacy policy content is auto-added to your WordPress Privacy Policy page.
A separate addon that adds 8-platform multi-CAPI, courier automation, negative Purchase signals, cart recovery with auto-coupons, and AI fraud protection. Learn more.
normalize_phone_e164() now correctly strips domestic trunk zeros when the number already starts with the country dialing code (e.g. +880017... → 8801712345678 instead of retaining the leading 0). Affects Meta Advanced Matching phone hashing accuracy.hash_postcode() method added to Data_Normalizer as an alias of hash_zip() for international postal code taxonomy compatibility.get_universal_uid() utility method added — reads first-party visitor UID from cs_uid or cs_vid cookies for cross-session identity stitching.parsePrice) to accurately handle European and international currency price formatting (e.g. comma as decimal separator like €14,21), preventing 100x price inflation in Meta Pixel Helper and CAPI.CHF), Eastern Arabic & Persian numerals and punctuation (٫ and ٬), and zero-decimal currencies (JPY, KRW, VND).kr., Rs., руб., грн., د.إ, S/.) from colliding with decimal separators.42.63000000000001), and added variation selection guards to prevent false AddToCart events on unselected variable products.predicted_ltv is now only sent in Purchase events when COGS (Cost of Goods Sold) data is actually populated. Previously, missing _woo_capi_cogs meta caused predicted_ltv to always equal the order total, which Meta flagged as an invalid value and could distort Value-Based Bidding optimization.Event_Builder::resolve_content_id() static resolver — single source of truth for all event methods (Purchase, InitiateCheckout, AddToCart, ViewContent, AddPaymentInfo, Negative Events).Event_Builder::resolve_content_type() — automatically switches between product and product_group based on ID strategy and product type.Event_Builder::resolve_item_price() — tax-parity normalizer ensures item_price matches catalog feed pricing (incl./excl. tax).content_ids and contents arrays from search results (up to 10 products).capiflow_should_track_purchase filter provides a clean developer escape hatch to suppress individual Purchase events without setting a dedup lock.capiflow_content_id filter allows custom catalog integrations to override resolved content IDs.content_category now correctly uses the parent product ID for variable product variations (variations have no direct category assignment).get_product_sku_map() in Pixel Injector now uses resolve_content_id() so JS AddToCart content_ids always match server-side events.store_deferred_addtocart() now uses resolve_content_type() for the deferred AddToCart pixel event.instanceof WC_Product before processing to prevent TypeError on malformed cart data.instanceof WC_Order_Item_Product to skip shipping/fee/coupon line items silently.Event_Builder::get_content_type() and get_content_id() now proxy to new static resolvers for backward compatibility.