- US device IDs in the graph
- 750M+
- Match rate on events
- 90%+
- Identity window, per customer
- Lifetime
- Most brands are live
- <20 min
How it flows
How a Funnelish event reaches Loops. Tracked on the funnel page, resolved to a person, then sent.
01 Capture
Captured from Funnelish
Add the Upstack Pixel to your Funnelish funnels to track what shoppers do there. When Funnelish creates the order in Shopify, Upstack records it like any other Shopify order.
See the Funnelish integration →
FunnelishWhat it sends page / eventsfrom the Upstack Pixel in each funnel’s headfbclid / gclid / ttclidclick IDs kept on the way to checkoutorder_idthe Shopify order Funnelish createsorder sourceshows as Funnelish in Upstack reports
02 Understand
Resolved to one person before it leaves
Every Funnelish event is matched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer rather than two strangers.
How resolution works →
Resolved before it is sent - IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
customer_typeNew or returning, resolved before send.- DeduplicationOne person, one record, across devices and identifiers.
- Bot and fraud filteringAutomated traffic never becomes a contact.
03 Activate
Delivered to Loops
Send resolved customer events to Loops for lifecycle messaging.
See the Loops integration →
LoopsWhat it receives emailcontact keyevent namewhat the lifecycle message reacts todata variablespersonalization
Which events reach Loops
Each Upstack event is mapped to the Loops event below before it is sent.
| Upstack event | Sent to Loops as | Key data on the event |
| Product view | Viewed Product | ProductName, ProductID, Price, ImageURL |
| Add to cart | Added to Cart | ProductName, ProductID, Price, Quantity, CartValue |
| Checkout | Started Checkout | CartValue, ItemCount, CheckoutURL |
| Purchase | Placed Order | OrderID, Revenue, Items, DiscountCodes |
When Upstack identifies a visitor, it attaches the contact’s email and other known properties, and syncs profile properties including name, email and location to Loops.
The catch
A funnel visit and the order it produced come from two systems: the funnel page and the Shopify order Funnelish creates.
Upstack records the order once per Shopify order ID, with Funnelish as its order source, and resolves the buyer against the same graph as the funnel visit.
Where to check in LoopsRecords you can audit
Loops › the contact's event history
What changes
What changes when Funnelish feeds Loops. Two gains on the Loops side, two on the Funnelish side.
Loops
Server-side delivery
Upstack sends events to Loops from its servers only, so ad blockers and browser privacy settings can’t block delivery.
Loops
Identity-resolved events
Events sent to Loops carry the resolved customer whenever Upstack can identify one, matched against a 750M+ device graph.
Funnelish
Funnel pages tracked
The pixel loads in the head of every funnel page, so visits and the events you configure are recorded on pages your theme never touches.
Funnelish
One setup, every destination
Connect Funnelish once and forward to every ad platform and email tool you run.
Setup
Live in under 20 minutes.
You need a Loops account where you can create an API key with write access to events and contacts.
Upstack dashboardExample
Loops Destination Healthy
Read the full Loops setup guide → -
01
Add the Upstack Pixel to each funnel
In Funnelish, add the Upstack Pixel snippet to each funnel as a tracking code placed with Append To Page Head. If the funnel links to Shopify, add the script that keeps click IDs and UTMs on the link.
-
02
Add the Loops destination
Under Destinations, add Loops with an API key created under Settings, API in your Loops account. It is the only credential the destination needs.
-
03
Check events in Loops
Trigger a test action on your store, such as viewing a product or adding to cart, and check Events in Loops. In Upstack, the Real-Time Events feed under System, Events Manager shows the events as delivered to Loops.
FAQ
Questions about Funnelish and Loops.
What permissions does the Loops API key need?
The key must have permission to write events and contacts, so Upstack can send events and create or update contacts.
Which events does Loops receive?
ViewContent as Viewed Product, AddToCart as Added to Cart, InitiateCheckout as Started Checkout and Purchase as Placed Order.
Which customer parameters are sent to Loops?
When Upstack identifies a visitor, it attaches the contact’s email and other known properties, and syncs profile properties including name, email and location to Loops.
How do I check that Funnelish events are reaching Loops?
Trigger a test action on your store, such as viewing a product or adding to cart, and check Events in Loops. In Upstack, the Real-Time Events feed under System, Events Manager shows the events as delivered to Loops.
How long does it take to connect Funnelish to Loops?
Most brands are live in under 20 minutes. Once Funnelish events reach Upstack, every destination receives the same resolved events, Loops included.