Skip to main content

Ads IQ: Getting Started

Written by Swapnil Sangal

What Ads IQ is

Ads IQ is the tab in your Shopflo dashboard that connects your checkout to your Meta advertising stack.

Shopflo sits inside your checkout. That means it can see things your website pixel never can: how the shopper paid, whether they are a first time buyer, whether they used a coupon, and where exactly they dropped off. Ads IQ takes that checkout depth and does three things with it.

Ads to order funnel

Every step from session to completed order, broken down by campaign, on last click attribution.

Event health and EMQ

Events Shopflo fired against events Meta received, per event type, with Meta's Event Match Quality score.

Custom events control

Choose which checkout signals get sent to Meta, from the dashboard, with no developer involvement.


Before you start

You will need admin access to your Shopflo dashboard, a Meta Business account with admin rights on the ad account and the pixel or dataset you want to use, and at least one pixel already created on your Meta Business account.

You do not need to change anything on your storefront, your theme, or your existing Meta setup. Ads IQ does not require a new script, a new tag, or a developer.


Step 1: Connect your Meta account

1. Open your Shopflo dashboard and go to the Ads IQ tab.

2. Click Connect Meta. You will be redirected to Meta's own login and consent screen.

3. Log in with the Meta account that has admin rights on your ad account. This is Meta's screen, not Shopflo's; your password is never seen or stored by Shopflo.

4. Review the permissions Meta lists and approve. Shopflo requests the minimum set needed to read your ad performance, read and write event data against your pixel, and manage audiences. Ads IQ cannot create ads, change budgets, edit campaigns, or spend money on your account.

5. You will land back on the Ads IQ tab.

If the connection fails: the two common causes are logging in with a personal Meta account that has no admin rights on the ad account, or a Business Manager role that is Analyst rather than Admin. Fix the role in Meta Business Settings and try again.


Step 2: Select your pixel

After the login completes, Ads IQ shows every pixel attached to your Meta Business account.

1. Select the pixel you want Shopflo events to go to.

2. If you run more than one pixel, for example separate pixels per brand or per campaign objective, you can select more than one. This becomes the default destination for all events.

3. Save the configuration.

The connection status badge at the top of the tab now reads Connected, with a last synced timestamp. If your Meta token ever expires, the badge changes and prompts you to re-authenticate. Re-authenticating does not reset your event configuration.

No pixels showing up? Your Meta account has no pixel or dataset created yet. Create one in Meta Events Manager first, then return to Ads IQ and refresh.


Step 3: Your existing integration stays as it is

This is the part worth reading twice.

If you already connected Meta through the Integrations tab on your Shopflo dashboard, leave it alone. Do not delete it before connecting Ads IQ, and do not worry that adding the same pixel in Ads IQ will inflate your numbers.

Why there is no duplication. Shopflo sends the same event ID on every event it fires, on both the browser side and the server side. Meta deduplicates on that event ID: when it sees two events carrying the same ID and the same event name, it keeps one and discards the other. This is Meta's own designed behaviour for exactly this situation, and it is why a pixel configured in both the Integrations tab and the Ads IQ tab still produces one clean count.

What to do, in order:

1. Connect Ads IQ. Leave the Integrations tab connection running.

2. Wait a few hours, then open the Events Health view and confirm your events are landing.

3. Once you are satisfied, switch off the older Meta integration on the Integrations tab.

4. From then on, Ads IQ is your single Meta connection, and every control and diagnostic lives in one place.

There is no deadline on step 3 and nothing breaks if you never do it. But Ads IQ is where custom event configuration, pixel routing, EMQ and the funnel all live, so running everything through it is the cleaner end state.


Step 4: Read the ads to order funnel

The funnel view answers one question: which campaign actually produced orders, and where did the rest of the traffic leak out.

Filters: pixel and ad account combination (multi select), and date range.

Columns, per campaign:

Overall conversion rate

Computed

Sessions that became orders

Sessions

Shopflo

Visits to your store attributed to that campaign

Product page views

Shopflo

Reached a PDP

Add to carts

Shopflo

Added something

Checkouts initiated

Shopflo

Entered checkout

Address submitted

Shopflo

Cleared the address step

Payment method selected

Shopflo

Reached the payment screen

Order completed

Shopflo

Paid or confirmed COD

Attribution model: last click. A session, and any order that comes out of it, is credited to the last campaign the shopper clicked before that session began. One session, one campaign, no splitting and no double counting.

This is why your Ads IQ numbers will not tie out exactly to Meta Ads Manager. Meta's default reporting also credits view-through conversions and uses multi-day click windows, so one order can be attributed to a campaign in Meta that Ads IQ credits elsewhere. Neither number is wrong. Meta answers "which campaign influenced this purchase". Ads IQ answers "which campaign brought this session to my store and what happened next". Use Ads IQ for funnel diagnosis and relative comparison between campaigns, and Meta Ads Manager for the decisions you make inside Meta's own model.

How to actually use this view:

Plenty of sessions, few product page views: a landing page or creative mismatch problem, not an audience problem.

Healthy add to carts, collapse at address submitted: a checkout friction or shipping problem, not an audience problem.

Good conversion rate but heavy COD skew: not as profitable as its ROAS suggests. Compare campaigns on order quality, not just order count.


Step 5: Check event health and EMQ

The Events Health view shows the integrity of the pipe between Shopflo and Meta.

For each event type you see: successful events sent by Shopflo (counted server side), the total event count on Meta (pulled from Meta's own stats), the trend over the selected period, and the Event Match Quality score (pulled from Meta's diagnostics).

Standard events, always visible: View Content, Add to Cart, Checkout Initiated, Add Payment Info, Purchase. Custom events are visible once you have enabled at least one.

Meta count higher than Shopflo count. Expected. Something other than Shopflo is also sending that event to the same pixel, usually a leftover pixel snippet in your Shopify theme or another app. Audit the pixels on your store. This is not harmful, but it makes your numbers harder to trust.

Meta count lower than Shopflo count. A small gap is normal, from deduplication and Meta's processing delay. A sustained gap of more than about 15 percent against your 30 day average is worth raising with us.

A count that falls off a cliff. Usually a token expiry or a pixel configuration change. Check the connection badge first.

What EMQ is. Meta scores every event from 0 to 10 on how confidently it could match that event to a real Meta user. Higher match quality means better optimisation and less wasted spend, because Meta's model learns from events it can actually attribute to a person. Shopflo has a structural advantage here: by the time a shopper reaches checkout we already hold name, email, phone and address, so our server side events carry far more matchable identifiers than a browser pixel event ever can. If an EMQ score is blank, Meta did not have enough volume on that event to compute one. Low traffic custom events will often show blank. This is not an error.


Step 6: Configure custom events

This is the control plane, and it is where most of the ROAS upside sits.

Why custom events matter

When someone buys from your store, the standard Purchase event tells Meta exactly one thing: a purchase happened. It does not say whether they paid by UPI or chose COD, whether this was their first ever order, or whether they needed a coupon to convert.

That missing context costs you money. Your acquisition campaign cannot tell whether it is genuinely acquiring new customers or re-buying people you already own. Your prepaid and COD buyers, who have completely different RTO risk and working capital profiles, look identical to Meta's optimiser. Your discount dependent buyers and your full price buyers feed the same lookalike. Custom events fix that by naming the difference.

What you can turn on

Prepaid Purchase

Order paid via UPI, card, netbanking or wallet

Run a campaign optimised purely for prepaid buyers, who carry lower RTO risk

COD Purchase

Order placed on Cash on Delivery

See what your COD acquisition actually costs, and bid it down separately

New Customer Purchase

Buyer's first ever order on your store

Point acquisition campaigns at this instead of Purchase, so Meta stops spending budget re-buying existing customers

Repeat Customer Purchase

Buyer has ordered before

Exclude from acquisition, or use as a seed for high LTV lookalikes

Purchase with Discount

Order placed with a coupon or discount applied

Separate deal seekers from full price buyers for margin analysis

Coupon Applied

Coupon successfully applied at checkout, pre purchase

High intent mid funnel signal

Coupon Failed

Coupon attempted but rejected

Diagnose whether failed coupons are costing you conversions

Payment Initiated

Shopper tapped Pay Now

Strongest pre purchase intent signal you have, ideal lookalike seed

Payment Failed

Payment attempted and failed, for example a bank decline or UPI timeout

Retarget shoppers who tried to buy and could not. These convert at high rates

Payment Method Selected

Shopper picked a payment method

Understand payment preference by campaign

Each event is off by default and toggled on individually. Turning one on requires no code change and no deploy: Shopflo reads the configuration at runtime.

Pixel routing

If you run multiple pixels, you can assign a specific pixel per event type, overriding the default you chose at setup. Useful when one Shopify store serves two brands, or when you want purchase events on one pixel and funnel events on another. The interface shows clearly which rows are using an override and which are on the setup default.

Event preview

Every event has a preview that shows the exact payload Meta will receive. Use this before you build a custom conversion in Meta Ads Manager, so you know which parameters and values are available to write rules against.

Making the events usable inside Meta

Enabling an event in Shopflo sends it. To optimise campaigns on it, you register it in Meta:

1. Enable the event in Ads IQ and wait for the first events to land. Confirm in Events Health.

2. In Meta Events Manager, go to Custom Conversions and click Create.

3. Select your pixel or dataset, choose Custom Event, and pick the Shopflo event from the dropdown. It only appears once Meta has received at least one instance of it.

4. Set the conversion category, for example Purchase for the purchase type events, and add value rules if you want.

5. The custom conversion is now selectable as a campaign optimisation objective.


Putting these events to work in Advantage+ campaigns

This is where custom events stop being a reporting nicety and start changing what Meta buys for you. Advantage+ hands almost every lever to Meta's model: targeting, placement, creative combination, budget split. The one lever you keep is what you tell it to count as a win. Point it at the generic Purchase event and Meta will faithfully go find you the cheapest purchases available, which in India usually means discount hunting, COD heavy, already existing customers. It is doing exactly what you asked. You just asked for the wrong thing. Custom events let you ask for the right thing.

Play 1: Acquisition that actually acquires

Set the conversion event to New Customer Purchase instead of Purchase. Left on Purchase, an Advantage+ campaign will happily spend your acquisition budget re-buying customers who would have ordered anyway, because a repeat buyer is the cheapest conversion in the auction. Switch the objective to New Customer Purchase and a repeat buyer no longer registers as a success, so the model reallocates toward people who look like your genuine first time buyers. Expect your reported ROAS on this campaign to drop when you make the switch. That is the point: you are no longer taking credit for orders you already owned. Judge it on new customer cost, not blended ROAS.

Play 2: Stop buying orders that come back

Set the conversion event to Prepaid Purchase. A COD order and a prepaid order are the same conversion to Meta and very different outcomes to you. On a generic Purchase objective, Meta will find COD buyers because they convert more easily, and a meaningful share of those will RTO. Optimising on Prepaid Purchase points the model at people who put money down at checkout. It is the closest thing to an RTO filter you can apply before the order exists rather than after, and it is usually the single highest impact switch for Indian D2C brands, because nothing outside the checkout knows the payment method at the moment the event fires.

Play 3: Protect margin from discount dependence

Use Purchase with Discount as a diagnostic, not usually as an objective. Run it alongside your standard Purchase event and watch the ratio per campaign. A campaign where nearly every order carries a coupon is not acquiring brand demand, it is buying a promotion, and its true ROAS is lower than the dashboard says once you net off the discount. If the split is bad, the fix is upstream in creative and offer, not in the bidding. You can also build a Website Custom Audience from the Purchase with Discount event and exclude it from full price campaigns.

Play 4: Turn near misses into a retargeting pool

Payment Failed and Payment Initiated are the highest intent signals in your funnel. A shopper who tapped Pay Now and hit a bank decline or a UPI timeout wanted to buy, and they are invisible to a standard pixel setup because the failure happens inside checkout. In Meta, build a Website Custom Audience from the Payment Failed event and run a short window retargeting campaign against it, ideally with a nudge or a small incentive. Recovery rates here are typically far above ordinary cart abandonment retargeting. Payment Initiated works as a lookalike seed: a larger pool than Purchase and closer to intent than Add to Cart.

Before you switch anything

Check you have the volume. Meta needs roughly 50 conversions per week on an event before its optimiser learns reliably. If you do 600 orders a month and 60 percent are prepaid, Prepaid Purchase gives you about 360 a month, roughly 85 a week, comfortably above the threshold. If you do 150 orders a month, splitting them across a narrower event will starve the learning phase. Below that bar, use custom events for reporting and audience building and leave your campaign objective on Purchase.

Do not change the objective on a campaign that is working. Changing the conversion event resets the learning phase. Launch a parallel campaign on the new event, let both run, and compare on the metric you actually care about rather than on reported ROAS.

Give it two weeks. The first days after a switch will look worse while the model re-learns.

Mind Meta's limits. An ad account is capped at 100 custom conversions in total. Pick the two or three that map to a decision you are actually going to make.


A suggested first week

Day 1

Connect Meta, select your pixel, leave the Integrations tab connection running.

Day 2

Check Events Health. Confirm events are landing and note your baseline EMQ per event.

Day 3

Enable two custom events. For most brands, start with New Customer Purchase and Prepaid Purchase.

Day 4

Register both as custom conversions in Meta Events Manager.

Day 7

Open the funnel view. Find your worst converting campaign and identify which step it loses people at.

Week 2

Once events are confirmed healthy, switch off the older Meta integration on the Integrations tab.


Getting help

Start with the Ads IQ FAQ, which covers Meta permissions, data handling, deduplication and attribution in detail.

If something is not covered there, reply to the Ads IQ email or reach out to your CSM.

Did this answer your question?