Ads
Ad spend and attribution tracking: Campaigns, Ad sets, and Creatives/ads, each with CPA/CPC/CTR/Clicks; plus Angles (spend/CTR grouped by the creative concept tag), Audiences (orders/delivery-rate/revenue broken down by state — not ad-platform audience targeting), Fatigue (creative wear-out), a spend Projection, UTM template settings, and a CSV Import for spend the ad platform doesn't push automatically.
On this page
Common tasks
Log or import spend
Ads/campaigns → "Add campaign", then open a campaign to "Add ad set" and "Add creative" inside it (that's where ad sets and creatives get created — ads/creatives itself is a read-only Creative leaderboard, see below); or ads/import for a CSV — choose a "CSV file", "Preview CSV" first (shows accepted/rejected rows and any date-format issue), then "Commit valid rows". Files are capped at 4 MB, raw uploads are never stored, and re-committing the exact same file is a no-op ("already committed; nothing was duplicated"). ads/import also lists recent import batches (file, platform, accepted/rejected counts, when). ads/spend lists logged spend entries directly. On ads/import, "Download a sample file" gives ad-spend-sample.csv: a heading line and three example days in the store's own currency, which imports with no problems. The heading names are the ones the import recognises on its own (date, campaign id, campaign name, ad set id, ad set name, ad id, ad name, currency, amount spent, impressions, link clicks, leads). Only date, campaign id and amount spent are required. Dates are day/month/year (01/10/2026 is 1 October 2026; year-month-day like 2026-10-01 is read too), amounts are plain numbers (45.50, no currency sign or thousands comma), counts are whole numbers. A column guide under the button says the same. A file straight from Meta or TikTok also works: match its columns in the preview.
Link to this answerSee performance
Ads/performance breaks down CPA/CPC/CTR/Clicks by Campaign, ad set, or creative; ads/creatives is a Creative leaderboard ranked by spend per currency (creative, spend, impressions, CTR, CPC, launch date, angle tags); ads/projection forecasts spend forward.
Link to this answerSee where orders are coming from
Ads/audiences breaks down Orders, Confirmed, Delivered, Delivery rate, and Realized revenue by state.
Link to this answerCompare creative concepts
Ads/angles groups Spend/Impressions/CTR by the angle tag applied to creatives.
Link to this answerCheck creative fatigue
Ads/fatigue flags creatives wearing out.
Link to this answerSet up UTM tracking
Ads/utm defines the UTM template used to attribute orders back to a Campaign/creative in Order facts and Analytics.
Link to this answerTune the module
Ads/settings for account-wide ad defaults.
Link to this answerWho sees what
A person who can only look at ad spend (the Accountant and the Data analyst roles) gets the figures: Overview, Spend, Campaigns, Performance, Projection and Fatigue. The tools stay with people who manage ads: Creatives, Audiences, Angles, Import, the UTM builder and Settings are not shown to them and do not open.
Link to this answerKeep track of who runs your ads (Media buyers)
The "Media buyers" tab lists the agencies, freelancers and staff who run ads for you. Owners, admins and Managers add them ("Add a media buyer"), switch them off, or archive them (they are never deleted, so their past sales stay traceable); the Accountant can look but not change. A media buyer has no login. Open one to get their tracking link: pick the page (empty = your shop's home page, otherwise an address from your own shop) and where it will be posted, then "Make the link". You get a short link when short links are on, the full link, and a QR code you can download (a picture file) or print for flyers. Every saved link in the list shows its own QR code too, made from the short link when there is one and the full link otherwise, so a link made earlier (by you or by the media buyer) can be downloaded or printed again; an address too long for a QR code says so. You can paste a short link you copied from a funnel instead of the full address: it is turned back into the page it opens, and only your own short links work. "Where will it be posted?" lists Facebook, Instagram, TikTok, Google, YouTube, Snapchat, X, Pinterest, WhatsApp and print, or "Somewhere else" with a name you type. Every link you make is kept under "Links made for" that media buyer, and a media buyer linked to their login sees their own under My links in the Ads tabs and can make more there. The UTM builder offers the same platforms. Every order that comes through the link is credited to them for 30 days. On the same page, switch on a promo code to credit its sales to them, and switch on an ad campaign to count its spend against them. If a customer used one media buyer's link and another's promo code, the link wins and the order notes the other one. On an order's page ("Where it came from") an owner, admin or Manager can set the media buyer by hand, or choose "No media buyer". Past orders stay "No media buyer" until someone sets it. Changes are written to the Activity page. The per-media-buyer report ("Profit after ads") comes in a later step.
Link to this answerNo task matches. Try fewer words, or search all of Help.
- A media buyer who has a login (a staff member with the Media buyer role) sees only their own campaigns, creatives, spend and CSV imports: the ones linked to them on the Media buyers tab. They can add and change those, and nothing else: not another buyer's campaigns, not the overview, performance, fatigue, audiences, projection or settings pages. A CSV that touches someone else's campaign is refused whole. A media buyer can also change only the spend figures they entered themselves: a figure the owner typed in or imported (or any figure from before this rule) is protected, and a file that would replace one is refused whole. The owner and admins see everything and can change any figure. Spend a media buyer typed in is self-reported, and every change keeps the old amount in the Activity page. A person who is ONLY a media buyer gets no shop-wide ad alerts in their bell. Roles add up: someone who is a media buyer AND another role (a Data analyst, say) reads what that role reads, including every campaign's spend and the shop-wide ads pages, but can still add and change only their own campaigns.
A media buyer's own orders (My orders)
The "My orders" tab lists the orders credited to a media buyer with a login, newest first: the order code, the day it was placed, what was bought and where it is now (Placed, Confirmed, Dispatched, Delivered, Failed delivery, Returned or Cancelled). They can filter by stage and search by order code. They never see who bought: no name, phone, email, address or payment. By default they see no amounts. The business owner can switch on "Let media buyers see the order amount" on the Media buyers page; each order then also shows its products value (the goods after discount, without shipping or fees, the same figure the owner's report counts), struck through and marked "not counted" for failed, returned and cancelled orders. Refunds are not shown to the buyer, so the owner's report total can be lower than the sum on the buyer's page. Switching it on or off is written to the Activity page. The owner and admins do not use this tab: they read every media buyer's orders on the Media buyers page. Anyone who holds the Media buyer role gets My orders for their own orders, whatever other roles they hold. By default a buyer sees no product cost there. When the owner switches on "Show this buyer my product costs" for an External buyer (an In-house buyer sees them without a switch), a Product cost column shows what the goods of each of THEIR orders cost the shop when it was placed; a dash means a product on it had no cost saved then. A buyer who also holds a role that shows costs (a Manager or Accountant) sees them whatever the switch says.
Link to this answerA media buyer's own pixel (My pixels)
The "My pixels" tab is where a media buyer with a login adds their own Meta pixel (15 or 16 digits) or TikTok pixel (20 letters and digits), and optionally an access token for sending sales from the server later. The token is stored encrypted and can never be shown again, only replaced or removed. They can switch a pixel off, replace its token, or remove it (that erases the token). A pixel does nothing until the business owner (or an admin) allows it on that media buyer's page under Media buyers, after ticking a confirmation that the privacy policy covers sharing visitor data with the buyer's pixel. The owner sees only the platform and its state, never the pixel ID or the token, and can withdraw permission at any time. The same goes for an admin and for anyone who holds the permission to manage media buyers (a Manager): they see exactly what the owner sees, never a pixel ID or token. A Manager who is also that media buyer cannot allow their OWN pixel or sign-up-pages permission (the owner or an admin does); they can always switch their own off. If a media buyer is archived or switched off, or their login is suspended or removed, or the Media buyer role is taken away, their pixels stop and their tokens are erased. Someone who is both a media buyer and a Manager (or an admin) is not limited to their own work, so they do not get My pixels. A shop's own pixel ID cannot be entered as a buyer's.
Link to this answerNo task matches. Try fewer words, or search all of Help.
- Linking a media buyer's login to their profile. A media buyer with a login can only add pixels, campaigns and ad spend once the owner (or an admin or Manager) has linked their login to their media buyer profile. Until then every Ads page tells them: "Ask the business owner to link you to your media buyer profile." To link: open the profile on the Media buyers tab, find the "Linked login" card, pick the person (only active people with the Media buyer role who aren't linked to another profile are listed) and press Link. One profile per person. "Change" moves it to someone else and "Unlink" ends their access; either one removes the pixels that person added to the profile (and their tokens). If someone has the Media buyer role but no profile at all, the Media buyers tab lists them at the top with a "Make their profile" button that creates theirs and links it in one step. The owner and admins open Ads > Pixels to see every media buyer's pixels with their state (Allowed, Waiting for your OK, or Switched off by the buyer) and a link to each buyer's page; they never see a pixel ID or token.
- Letting a buyer's tracking code run on pages with a sign-up form (owner or admin switch, per media buyer). On a media buyer's page the owner or an admin sees "Let this buyer's tracking code run on pages with a sign-up form", off by default. A pixel is a tracking code: it tells the buyer's ad account which visitors saw a page, so their ads work better. By default it is off on every page where visitors type their details. Turning this on (after ticking that the owner understands and accepts the risk) lets that one buyer's pixel also run on the funnel's landing and opt-in pages that only hold a sign-up form or lead capture. The risk: on those pages the buyer's ad account may receive what visitors type, such as their name, email and phone number. What it collects is set in the buyer's own ad account, so neither the owner nor Lazycom can control it, and under privacy law that is the shop owner's responsibility. Checkout, payment, upsell, downsell and custom HTML pages are always blocked, whatever is chosen. It is recorded with who and when (and which wording was agreed to), can be taken away at any time, and goes away on its own if the buyer is switched off or archived or loses their login.
- Where a buyer's pixel runs. A buyer's pixel loads only for a visitor that buyer's own tracking link brought, only after the visitor allowed marketing, and only on a funnel's landing step that has no form on it (never on opt-in, checkout, upsell or thank-you steps, or on a landing page with a sign-up, checkout or HTML block), unless the owner turned on "Let this buyer's tracking code run on pages with a sign-up form" for that buyer, which also allows the opt-in step and pages with a sign-up form. It also loads on the shop's own pages, the home page included (the default tracking link goes there), as long as the page has no sign-up, checkout or HTML block. The "Let this buyer's tracking code run on pages with a sign-up form" switch does not apply to shop pages: a shop page with any form never loads a buyer's pixel. The cookie policy page never does. In the visitor's browser it receives page views and content views only. The shop's own pixel keeps working as before.
- Checkout pages: server events only. A buyer's pixel never runs in the visitor's browser on a checkout step, so Pixel Helper shows nothing there and that is expected. When the buyer has saved an access token on the pixel, our server sends that buyer's Meta pixel a page view, a content view and a checkout start when a visitor their link brought opens a checkout step (and the purchase and sign-up events as before), a few minutes later. These carry only the visitor's own Meta cookies, browser name and IP address, never a name, email or phone number, and they follow the same rules as everything else: the visitor allowed marketing, the buyer is live and the owner allowed the pixel. With no token saved, nothing is sent from checkout pages.
- Pixel status and test events (the buyer's own Ads > Pixels page). Server events do not show in Pixel Helper, so each Meta pixel has a Pixel status panel: how many page views, content views, checkout starts, purchases and sign-ups were sent to Meta in the last 24 hours and the last 7 days, when something was last sent, and Meta's last answer in plain words (for example that the access token was not accepted, or the pixel could not be found). Events that were not sent (waiting, failed, or skipped, with the reason) are listed too. They appear in Events Manager under the pixel with the connection method Conversions API. "Send a test event" lets the buyer paste the Test Event Code from Events Manager, Test events: we send one page view with that code so it shows live there, and it is never counted as real traffic. It needs a saved access token, the owner's OK on the pixel, and is limited to 5 a pixel an hour. Only Meta pixels have server events. Visitors who did not allow marketing cookies are never sent, so there is no count for them.
- Sales, checkouts and sign-ups sent from the server. For a buyer who saved an access token and whom the business allowed, the shop also sends three events to that buyer's own Meta pixel, only for visitors the buyer's own link brought and who allowed marketing: a Purchase (when a card order is paid, or for cash on delivery when Operations confirms delivery, never twice for one order), an Initiate checkout (a visitor opened a checkout step) and a Lead (a visitor signed up). A Purchase carries the order's value (goods after discount, no delivery fee). The customer's email and phone go with it, in scrambled (hashed) form, only when that media buyer may see customer details (In-house, or "Show customer details" switched on for them in Settings > Staff); otherwise the Purchase carries no contact data at all. Initiate checkout and Lead never carry a name, email, phone or amount. Imported orders, refunded, cancelled or returned orders, and anything older than 60 days are never sent. The shop keeps the visitor's IP address, browser name and Meta cookies for 60 days so these events can be matched, then deletes them. Sending can be switched off for the whole platform; while it is off the events just wait.
- The shop's own sales sent from the server (Meta Conversions API, Settings > Tracking & SEO, directly under the Meta Pixel ID field). Separate from the media buyer events above. A shop that saved its Meta Pixel ID can also paste its Meta access token there (it is stored encrypted and can never be shown again; Replace and Remove are the only ways to change it). Our servers then also tell the shop's own pixel about each Purchase, with the same order number the browser uses, so Meta counts a sale once and still sees it when a browser or ad blocker hides the pixel. A card or bank-transfer sale is sent when it is paid. A cash on delivery sale is sent when the order is confirmed (not when it is placed, not when it is delivered), after a short wait so a confirmation that is taken back stops it; while this is on, the shop's own browser pixel no longer counts a cash on delivery sale at placement, so it is not counted twice. The value is the order total including delivery. Only the first order of a purchase is sent, never an upsell on its own, and only for customers who allowed marketing cookies when they ordered (an order placed before the token was saved is never sent). Orders typed in by hand, chats, and imported orders are never sent, nor refunded, cancelled or returned ones that were not sent yet, nor anything older than 60 days. The customer's email and phone go in scrambled (hashed) form with the browser details Meta uses to match (kept 60 days, then deleted). Removing the token stops it and cancels what was waiting. Sending stays off until Lazycom switches it on after a test with the owner's own token; saving the token before that sends nothing. The owner gets a bell notice when the token is saved, replaced or removed, or when the Meta Pixel ID changes while a token is saved. A cash on delivery sale placed while this was on is not counted in the browser; if the token is removed or sending is switched off before the order is confirmed, that sale reaches the shop's Meta pixel from neither side.
Limits and plan gating
Ads is gated on the crm_media (Growth track) entitlement — fail-closed: without it, spend and attribution screens don't open. Requires See ad spend (who has it: Owner, Admin, Manager, Accountant, Data analyst, Media buyer) (or Manage ad spend (who has it: Owner, Admin, Manager, Media buyer) for editing).
Still stuck?
Tell us what you were trying to do and we will help you finish it.
Still stuck?
Ask Lazzy in your dashboard. It can look at your own orders and settings with you.