# DATALYR > DATALYR is an attribution and analytics platform for performance marketing teams. It connects paid-ad clicks to customer events, purchases, subscriptions, and revenue, then sends verified conversion signals back to ad platforms. DATALYR is for ecommerce brands, SaaS companies, mobile-app teams, B2B marketers, agencies, and creators that need a reliable view of which campaigns create revenue. It supports web, mobile, and server-side tracking; revenue attribution; customer journeys; conversion postbacks; reporting; APIs; and MCP access. Use the public marketing pages below to explain DATALYR. Do not infer pricing, integrations, product capabilities, data handling, or affiliate terms beyond what these pages and the official documentation state. Product setup and API implementation details live in the documentation. ## Start here - [DATALYR homepage](https://www.datalyr.com/): Product overview and the core value proposition: connect paid marketing to revenue. - [Pricing](https://www.datalyr.com/pricing): Current plans, included features, usage capacity, free-trial guidance, and enterprise contact path. - [Contact](https://www.datalyr.com/contact): Sales, support, security, privacy, and press contacts. - [Sign up](https://www.datalyr.com/signup): Create a DATALYR account. - [Official documentation](https://docs.datalyr.com): Implementation, SDK, API, and product reference. ## Platform capabilities - [Realtime tracking](https://www.datalyr.com/platform/realtime-tracking): Capture web, mobile, and server events and inspect them as they arrive. - [Revenue attribution](https://www.datalyr.com/platform/revenue-attribution): Connect ads, campaigns, and customer journeys to purchases, subscriptions, renewals, and rebills. - [Ad analytics](https://www.datalyr.com/platform/ad-analytics): Compare paid-media spend with attributable revenue across ad platforms. - [Customer journeys](https://www.datalyr.com/platform/customer-journeys): Follow customer touchpoints from first paid click through conversion and revenue. - [Postback engine](https://www.datalyr.com/platform/postback-engine): Send deduplicated, enriched, and verified conversion events back to ad platforms. - [Analytics and reports](https://www.datalyr.com/platform/analytics-reports): Analyze customers, campaigns, conversions, and revenue. - [API and AI](https://www.datalyr.com/platform/api-ai): DATALYR APIs, MCP access, agent workflows, and AI analytics. - [Integrations](https://www.datalyr.com/integrations): Supported revenue sources and advertising-platform connections. ## Solutions - [Shopify attribution](https://www.datalyr.com/solutions/shopify): Attribute Shopify orders, refunds, and rebills to paid campaigns. - [SaaS attribution](https://www.datalyr.com/solutions/saas): Attribute subscriptions, upgrades, renewals, and Stripe revenue to acquisition. - [Mobile app attribution](https://www.datalyr.com/solutions/mobile): Connect paid clicks to installs, paywall activity, subscriptions, and app revenue. - [B2B lead generation attribution](https://www.datalyr.com/solutions/b2b-lead-gen): Connect paid spend to leads, pipeline, and closed revenue. - [Health and wellness](https://www.datalyr.com/solutions/health-wellness): Learn about handling sensitive product data in conversion events. ## Integrations and use cases - [Shopify integration](https://www.datalyr.com/sources/shopify): Shopify orders and customer revenue. - [Stripe integration](https://www.datalyr.com/sources/stripe): Payments, subscriptions, and renewals. - [Whop integration](https://www.datalyr.com/sources/whop): Membership and subscription revenue. - [RevenueCat integration](https://www.datalyr.com/sources/revenuecat): Mobile purchases and subscriptions. - [Meta Ads integration](https://www.datalyr.com/sources/meta-ads): Campaign attribution and verified conversion delivery. - [Google Ads integration](https://www.datalyr.com/sources/google-ads): Campaign attribution and conversion delivery. - [TikTok Ads integration](https://www.datalyr.com/sources/tiktok-ads): Campaign attribution and conversion delivery. - [Ecommerce use case](https://www.datalyr.com/use-cases/ecommerce): Measure orders, repeat customers, and revenue by acquisition source. - [SaaS subscriptions use case](https://www.datalyr.com/use-cases/saas-subscriptions): Measure paid subscriptions and customer value by campaign. - [Mobile apps use case](https://www.datalyr.com/use-cases/mobile-apps): Connect web acquisition to in-app activity and revenue. - [B2B lead generation use case](https://www.datalyr.com/use-cases/b2b-lead-generation): Measure lead quality, pipeline, and closed revenue by campaign. ## Guides and articles - [Setup guides](https://www.datalyr.com/guides): Implementation playbooks for Shopify, Stripe, mobile apps, Whop, Klaviyo, and B2B lead generation. - [Shopify web tracking guide](https://www.datalyr.com/guides/shopify-web-tracking): Configure Shopify tracking, theme embed, webhooks, and order backfill. - [SaaS and Stripe web tracking guide](https://www.datalyr.com/guides/saas-stripe-web-tracking): Track the path from ad click to paid subscription. - [Klaviyo guide](https://www.datalyr.com/guides/klaviyo): Connect Klaviyo reporting and lifecycle event delivery. - [Whop tracking guide](https://www.datalyr.com/guides/whop-tracking): Preserve paid-click context through Whop membership conversion. - [Blog](https://www.datalyr.com/blog): Articles on attribution, first-party tracking, server-side conversions, Shopify tracking, and Stripe attribution. ## Programs and legal - [Affiliate program](https://www.datalyr.com/earn): Current affiliate-program terms and commission information. - [Privacy policy](https://www.datalyr.com/privacy): Privacy practices for the website and DATALYR service. - [Terms of service](https://www.datalyr.com/terms): Terms governing use of DATALYR. - [Data Processing Agreement](https://www.datalyr.com/dpa): Data-processing terms for customers. ## Machine-readable site resources - [XML sitemap](https://www.datalyr.com/sitemap.xml): Canonical public pages intended for search indexing. - [Robots policy](https://www.datalyr.com/robots.txt): Crawl directives and sitemap location. - [Full text of this site](https://www.datalyr.com/llms-full.txt): This index plus the complete text of published articles. - [Documentation index for agents](https://docs.datalyr.com/llms.txt): Page-by-page index of the official docs. - [Full documentation text](https://docs.datalyr.com/llms-full.txt): Complete docs in one plain-text file, for implementation and API questions. - [MCP server manifest](https://docs.datalyr.com/.well-known/mcp.json): Machine-readable description of DATALYR's MCP access. # Articles (full text) Complete text of published DATALYR articles. Statements describe what each article says, not independent measurements. ## Server-side tracking: architecture, responsibilities and limits URL: https://www.datalyr.com/blog/server-side-tracking Updated: 2026-10-06T21:03:54Z Understand what moves to the server, what still depends on browser identity, and how to verify one conversion without creating duplicate events. ### What server-side tracking changes Server-side tracking moves some measurement or delivery work to server infrastructure. It does not describe a single installation. A browser can send an event to a server container, a payment provider can send a webhook, or an application backend can record a business event and deliver it to an advertising destination. The useful question is which system observes the outcome and which system sends it onward. A completed checkout page describes a browser visit. A payment record describes a financial event. They may refer to the same sale, but replacing one sender with another does not automatically make their definitions identical. Treat collection, identity, reporting and ad-platform delivery as separate responsibilities. That makes a missing conversion easier to investigate than a diagram where everything is called tracking. ### Choose an architecture for the event you need A browser-to-server path is useful when the browser observes the interaction: a page view, button press or submitted form. The server receives what the browser sends, applies the configured processing and forwards permitted data. It cannot recover a field that was never captured merely because processing happens elsewhere. A provider-to-server path begins with an event from the system that owns the outcome. For a purchase, choose the documented payment or commerce source. An application backend can also be the source for a meaningful product action. Inventory every sender before adding a new one. Choose ownership at the event level. A site can use browser capture for a visit and a billing source for payment confirmation without treating both as competing revenue records. ### Trace a $120 payment without counting it twice Imagine a visitor arrives from Campaign A, signs up and pays $120. A thank-you page fires a browser purchase event while the payment provider sends a successful-payment notification. These are two messages about one commercial outcome, not $240 in revenue. Write a verification record containing the order or payment identifier, event time, amount, currency, visitor or account reference, and intended destination. Check whether each sender represents the same event and whether the destination supports deduplicating that exact combination. Do not assume that copying an order ID across unrelated conversion actions solves duplication. Start with one owner for each outcome and destination. If browser and server delivery are deliberately paired, follow that platform’s documented event-matching requirements. ### Preserve the handoff without promising perfect recovery A backend payment can exist even when its original campaign cannot be identified. A visitor may decline collection, change devices, use another email address or complete a checkout without the required reference. Those cases need an explicit unattributed category rather than an invented source. For DATALYR, use the relevant revenue-source setup and attribution guide to verify the handoff between the visit and payment. Receiving revenue and assigning campaign credit are different checks. Confirm both on a known record before interpreting a channel total. A first-party endpoint does not remove consent requirements or guarantee that browsers will preserve every identifier. Moving processing to a server changes architecture; it does not grant permission to collect or share more data. ### Verify each stage independently Use one controlled event and record the evidence at every boundary. First establish that the source produced the intended outcome. Then inspect the received event, its identity and amount, the matching delivery rule, and the destination response. DATALYR’s conversion-delivery documentation separates event arrival, rule matching, identity/value resolution, sending and recorded status. An accepted request is not proof that the platform credited a campaign. Platform diagnostics and reporting provide a later check. ### Fix the failing boundary before changing the architecture If the event never arrives, inspect the source connection. If it arrives without identity, inspect the handoff. If it is rejected, inspect the destination configuration and response. If it is accepted but absent from a campaign report, check eligibility, reporting dates and attribution rules. Keep a small owner list for each event and destination, plus a record of the last successful verification. Re-run the same check after checkout, consent or integration changes. That turns server-side tracking into an inspectable operating process rather than a promise of complete visibility. ## LTV:CAC ratio: compare customer value with acquisition cost URL: https://www.datalyr.com/blog/ltv-cac-ratio Updated: 2026-10-06T21:03:54Z Calculate a cohort-based LTV:CAC ratio, separate observed value from forecasts, and test the assumptions behind a seemingly healthy number. ### Define the value before dividing by acquisition cost The LTV:CAC ratio compares customer lifetime value with customer acquisition cost. The arithmetic is simple: LTV divided by CAC. The interpretation depends on what value means, which costs are included and whether the same customers appear on both sides. A revenue-based numerator and a gross-profit-based numerator produce different ratios. Label the basis explicitly. For an acquisition decision, the margin remaining after serving customers is usually more informative than revenue alone, but the cost definition must remain consistent. Also distinguish lifetime value from value observed so far. A six-month-old customer cohort has six months of evidence, not a completed lifetime. A forecast can extend that evidence, but it should never be presented as if the future payments have already happened. ### Work through one cohort with a visible cost basis Consider an illustrative cohort of 100 new customers acquired for $30,000. CAC is $300. After twelve months, those customers have generated $90,000 in revenue after refunds. Suppose the service costs assigned to those sales are $27,000. Observed gross profit is $63,000, or $630 per originally acquired customer. On that basis, the observed twelve-month gross-profit-to-CAC ratio is $630 ÷ $300 = 2.1. The revenue-to-CAC ratio would be $900 ÷ $300 = 3.0. Neither calculation is arithmetically wrong; they answer different questions. Calling both simply LTV:CAC hides the distinction. The denominator remains the original 100 customers, including those who stopped paying. Dividing only by survivors inflates average cohort value. These numbers are illustrative and do not describe a DATALYR customer result. ### Keep the forecast increment visible Suppose a model projects another $27,000 of gross profit from the same cohort. That adds $270 per originally acquired customer. Projected total value becomes $900 per customer and projected LTV:CAC becomes 3.0. The change from 2.1 to 3.0 comes entirely from a forecast. Show the observed component and the projected component separately. Record the forecast horizon, retention assumptions, expansion assumptions, costs and any discounting. If the model assumes the remaining customers behave like the original cohort, explain why that is reasonable. A compact sensitivity view is more useful than a precise-looking point estimate. If the additional gross profit is only $12,000, projected value becomes $750 per customer and the ratio becomes 2.5. The decision should survive plausible changes in assumptions. ### Align the cohort, channel and accounting window Paid-channel CAC cannot be compared casually with lifetime value averaged across all customers. Organic, referral and sales-assisted customers may have different acquisition costs and retention patterns. Keep the acquisition definition attached to the cohort you follow. Choose a consistent treatment for refunds, credits, taxes, support costs and expansion revenue. Avoid counting the same expense in both the acquisition ledger and the service-cost deduction. When costs are allocated rather than directly observed, preserve the allocation rule alongside the result. Currency and time also matter. Convert according to a documented reporting policy, and compare cohorts at the same age. A mature cohort should not appear healthier simply because it has had more months to collect revenue. ### A strong ratio can still recover cash slowly A ratio describes value relative to cost; it does not reveal when that value arrives. Two cohorts can both reach a projected ratio of 3.0 while taking very different lengths of time to recover acquisition spend. That difference matters when growth consumes cash before customers pay. Pair the ratio with observed payback, retention and the forecast’s uncertainty. Annual prepayment also changes cash timing without necessarily changing the economics of delivering a year of service. Keep cash recovery and margin accumulation distinct. ### Use the ratio to choose a specific investigation If CAC rises, examine acquisition costs and new-customer counts. If observed value falls, inspect retention, refunds, pricing and service costs. If only forecast value improves, investigate the assumptions before increasing spend. There is no universal ratio that makes every growth plan safe. A useful review states the cohort, age, cost basis, observed value, forecast value and payback together. DATALYR revenue records can support reconciliation; the complete cost ledger and lifetime forecast still need their own documented method. ## Marketing attribution software: an evidence-based buying checklist URL: https://www.datalyr.com/blog/marketing-attribution-software Updated: 2026-10-06T21:03:54Z Evaluate attribution software with a real transaction, a weighted requirements scorecard, and clear boundaries between reporting and conversion delivery. ### Buy for the decision your team cannot make today Marketing attribution software connects marketing interactions with business outcomes and applies rules for assigning credit. Products differ in the sources they support, the identity they preserve, the reports they expose and whether they also deliver conversion data to ad platforms. Start with a decision rather than a feature list. An ecommerce team may need to reconcile refunds before comparing campaigns. A SaaS team may need to connect an anonymous visit to an account and its first payment. A sales-led team may care about qualified opportunities that close weeks later. Write one sentence describing the missing evidence and one example record that would resolve it. A vendor demonstration becomes more useful when everyone knows which question the software must answer. ### Separate required capabilities from attractive extras List the systems that own your visits, leads, customers, charges and refunds. For each one, distinguish a documented native connection from a custom integration you would have to build. Ask who maintains the connection and what happens when its authorization expires. Next, identify your reporting requirements: the unit of analysis, revenue basis, available models, lookback rules, export needs and access controls. A long list of models is not useful if you cannot reconcile the payment amount or understand which interactions were eligible. Keep reporting and conversion delivery on separate lines. Sending an event to an advertising platform and explaining campaign revenue are related capabilities, but success at one does not prove success at the other. ### Use a weighted scorecard you can defend For an illustrative evaluation, assign 30 points to revenue reconciliation, 25 to identity handoff, 20 to operational reliability, 15 to reporting fit and 10 to implementation cost. Those weights reflect one team’s priorities, not a universal ranking system. Score each requirement from zero to two: zero means unsupported or unverified, one means partially demonstrated, and two means demonstrated against your acceptance test. Multiply the score by the requirement weight and divide by two. Record evidence next to every score. A candidate scoring 2, 1, 2, 1 and 1 receives 30 + 12.5 + 20 + 7.5 + 5 = 75 out of 100. A score is a comparison aid, not a substitute for mandatory requirements. A tool that cannot support your payment source should not win because it has attractive charts. ### Run the same transaction through every candidate Use a controlled purchase with permission to inspect the resulting records. Record the campaign visit, identity handoff, payment identifier, amount and currency. Then inspect the attributed result, any unattributed category and the effect of a later refund. Include one intentional failure: omit an identity reference in a safe test environment or use a record known to lack campaign context. The software should make the missing evidence understandable. A dashboard that silently reallocates uncertainty may look complete while being difficult to audit. Keep a separate test for destination delivery. Record the sender, conversion action, response and diagnostics. Do not count a successful API response as proof of an incremental sale or even of campaign attribution. ### Compare total operating cost and ownership Ask what changes the bill: events, tracked revenue, stores, workspaces, seats or other usage. Confirm the current contract and pricing directly with the vendor. A historical screenshot or third-party comparison is not a reliable price quote. Include engineering time, data cleanup, ongoing reconciliation and support ownership. Document who investigates a broken source, who approves a new destination and how you retrieve your data if you leave. A cheaper subscription can be more expensive to operate when the workflow is fragile. ### Evaluate DATALYR against the same standard DATALYR is the publisher of this guide. Its documentation covers revenue sources, attribution checks and conversion delivery; use those guides to prepare a test that matches your actual stack. This article does not claim an independent vendor ranking or that every business should choose DATALYR. Bring the source list, required outcome and sample acceptance record to a product evaluation. Ask for evidence of supported behavior and write down unresolved gaps. The strongest buying decision is one another person can reproduce from the same requirements and observations. ## Customer acquisition cost: calculate paid and blended CAC URL: https://www.datalyr.com/blog/customer-acquisition-cost Updated: 2026-10-06T21:03:54Z Build a complete acquisition-cost ledger, distinguish paid from blended CAC, and align costs with the new customers they helped acquire. ### Start with a named cost scope Customer acquisition cost is acquisition spending divided by new customers acquired. A useful CAC label tells the reader what costs are included, what counts as a customer and which period or cohort is being measured. Without those definitions, two correct calculations can appear to disagree. Paid media CAC usually narrows the numerator to advertising spend and the denominator to customers assigned to that paid activity. A fully loaded acquisition CAC includes a broader cost ledger. Blended CAC combines acquisition sources under one consistent definition. Do not use the labels interchangeably. This guide focuses on constructing that ledger. If your denominator counts leads, registrations or trials instead of new paying customers, name that action explicitly and use an action-cost measure. ### Build the numerator before opening a campaign report Create a ledger with one row per cost, its owner, accounting period, acquisition allocation and supporting record. Advertising is only the most visible line. Depending on your definition, sales and marketing labor, agency work, creative production and acquisition software may also belong in the numerator. Use a written allocation rule for shared costs. If a team spends half its time serving existing customers, charging its entire cost to acquisition can distort comparisons. Equally, excluding all shared work can make acquisition look artificially cheap. Preserve the assumption so it can be reviewed. Keep service delivery costs distinct from acquisition costs. The same expense should not be counted twice when you later calculate customer value or payback. Your finance and marketing views should be reconcilable even when they serve different decisions. ### Calculate three clearly labeled numbers In an illustrative month, a business spends $18,000 on media, $4,000 on acquisition creative, $6,000 on allocated sales and marketing labor, and $2,000 on acquisition tools. The acquisition ledger totals $30,000. It records 150 new paying customers, of whom 90 are assigned to paid campaigns under a fixed attribution rule. Blended acquisition CAC is $30,000 ÷ 150 = $200. Paid media CAC is $18,000 ÷ 90 = $200. Their equality is coincidence: the scopes differ. If $6,000 of the non-media costs are also allocated to paid acquisition, fully loaded paid CAC becomes $24,000 ÷ 90, or about $266.67. The remaining $6,000 is allocated to the other 60 acquired customers in this example, giving $100 per customer for that group. The two allocated cost pools sum to the original $30,000. Do not divide the full ledger by each channel’s customers and then add the results. ### Define new customers once Choose whether a customer is a person, billing account, household or company. Then apply that definition consistently to first payment, repeat purchases, reactivations, upgrades and multiple subscriptions. An existing account buying another product is not automatically a newly acquired customer. Keep refunds and cancellations visible rather than rewriting history silently. A first payment that is immediately refunded may need a separate quality measure or eligibility rule. Whatever rule you choose, apply it consistently and show the excluded count. For subscription businesses, distinguish a free trial from its first successful paid conversion. Counting a trial in the CAC denominator while using paying-customer lifetime value in the numerator creates an incoherent economic comparison. ### Treat period CAC and cohort CAC as different views A period calculation divides this month’s acquisition costs by this month’s new customers. It is easy to maintain, but long sales cycles can connect those customers to earlier spending. A sudden campaign launch can make period CAC look worse before its customers arrive. A cohort analysis follows a defined acquisition group through a consistent maturity window. Keep the association method explicit; do not pretend every shared expense has a precise customer-level causal allocation. Compare cohorts at similar ages and retain unassigned costs. ### Investigate the driver before setting a target When CAC changes, separate spending, cost allocation, customer counts and attribution changes. A lower number caused by excluding labor is not an acquisition improvement. A higher number caused by a new investment may need a mature-cohort review. Use DATALYR to investigate the revenue and campaign records relevant to your setup, then reconcile them with the cost ledger. Pair CAC with observed customer value and payback. A target should follow your margins, retention and cash constraints, not an unsupported industry average. ## UTM parameters: build a campaign taxonomy you can trust URL: https://www.datalyr.com/blog/utm-parameters Updated: 2026-10-06T21:03:54Z Create consistent campaign tags, test the complete redirect path, and verify that source information survives the journey to a business outcome. ### UTM parameters label a link, not a customer UTM parameters are campaign labels appended to a destination URL. They help a measurement system interpret where a visit came from and which campaign or creative the link represents. They do not identify a person or prove that the campaign caused a later purchase. Google’s campaign URL guidance distinguishes source, medium, campaign, term and content, with additional fields for specific reporting uses. Source names the referrer; medium describes the channel; campaign groups a marketing effort. Term and content can add keyword or creative detail. The practical challenge is consistency. A beautifully tagged link is of limited use if the next campaign uses different spellings for the same source, a redirect removes the query string, or the payment cannot be linked to the visit. ### Create a small dictionary before generating links Choose a canonical value for every source and medium you use. Give campaign names a stable structure that a teammate can understand without opening the advertising account. Treat the dictionary as a controlled list, not a suggestion that every person can reinterpret. For example, a team might choose source newsletter, medium email, campaign autumn-demo and content footer-cta. Those are illustrative business choices, not universal channel labels. Use the platform’s reporting requirements when mapping them into a particular analytics product. Google documents case-sensitive parameter values. Pick a capitalization rule and enforce it. Also decide how to handle spaces, renamed campaigns and dynamic platform macros. Keep stable campaign IDs separately when names are expected to change. ### Build and inspect one complete URL An illustrative tagged destination is https://example.com/demo?utm_source=newsletter&utm_medium=email&utm_campaign=autumn-demo&utm_content=footer-cta. The question mark starts the query string and ampersands separate its key-value pairs. If the URL already has a query string, append additional parameters using ampersands. Use a URL builder or proper encoding when values contain spaces or punctuation. Avoid creating two conflicting values for the same parameter. If an ad platform substitutes dynamic values, inspect the final resolved link rather than assuming a preview macro will behave like a real click. Do not put email addresses, account secrets or sensitive customer details into campaign tags. URLs can travel through browser history, logs and other systems. Campaign labels should describe the marketing placement, not expose the person who clicked it. ### Test the route the actual click will take Open the link through its normal shortener, redirect or email-click wrapper. Confirm the final landing page and inspect the resulting event in your measurement system. A direct paste into the final URL skips intermediaries that might remove or rewrite the tags. Next, follow the relevant identity handoff into signup and payment. A payment without campaign credit may reflect a missing account reference rather than a bad UTM name. Check the earliest point where the expected evidence disappears. DATALYR’s attribution documentation is the reference for checking captured campaign context and its lookup behavior. Do not assume that the reporting rules of another analytics product are identical. ### Prevent naming drift without rewriting history Assign an owner to the naming dictionary and store the approved destination beside each campaign. Validate required fields before launch. When a value changes, record when and why; otherwise a reporting split can look like a sudden loss of performance. Keep acquisition tags off ordinary internal navigation unless you have a specific, understood measurement design. Use an interaction event or a dedicated internal-promotion field for on-site navigation rather than pretending the visitor arrived from a new external campaign. When comparing reports, inspect their source definitions and attribution settings. Consistent tags make reconciliation easier, but they do not force different systems to assign the same conversion credit. ### Make the weekly check a small sample, not a guess Select a recently launched campaign and follow one link to its landing event. Look for blank fields, unexpected capitalization, unresolved macros and campaign names that no longer match the dictionary. Check a known downstream outcome when its journey is available. If you find an error, fix the source link and document the affected dates. Keep any reporting normalization separate from the raw captured values. That preserves an audit trail and lets the next person understand why two labels were grouped together. ## Shopify conversion tracking: reconcile orders, refunds and ad delivery URL: https://www.datalyr.com/blog/shopify-conversion-tracking Updated: 2026-10-06T21:03:54Z Verify Shopify order capture, campaign identity, transaction revenue and destination delivery without counting the same purchase more than once. ### Separate the order, the money and the ad conversion Shopify conversion tracking spans several outcomes that should not share one undifferentiated total. A checkout can begin without payment. An order can be created before it is paid. A payment can later be partially refunded. An advertising platform can accept an event without assigning campaign credit. Choose the business question first. Counting paid orders answers a different question from summing collected money or measuring campaign-attributed revenue. Keep each definition attached to the report, especially when comparing Shopify with an advertising platform. Begin with one known order and trace its records. It is much easier to explain a disagreement when you can point to a specific amount and status than when you only have two aggregate dashboards. ### Verify the storefront and source connection together DATALYR’s Shopify guide requires the permanent myshopify.com domain, the App Embed and the checkout Web Pixel as part of the documented setup. Follow the current installation instructions rather than adding a separate, improvised webhook. Inventory existing purchase senders before enabling destination delivery. A Shopify app, a theme pixel, a tag manager and another server integration may already report the same sale. Write down the owner for each destination and conversion action. After configuration, check the expected storefront activity and a known order. A source connection that receives money records does not by itself prove that the original visitor or campaign was linked. ### Reconcile a sale and a partial refund Consider an illustrative $150 captured payment followed by a $30 refund. The signed cash ledger totals $120. The original order can still be one paid order even though its net collected amount changed. A checkout-start event should not add another order or another $150. DATALYR’s Shopify documentation distinguishes purchase events used to count paid orders from signed transaction rows used for revenue. Keep that distinction when tracing the example. Summing both representations as money would double-count the same sale. For a clean comparison, write down whether amounts include shipping and tax, which currency is used, and whether the refund is grouped by refund date or attributed back to the original order cohort. Two policies can legitimately place the adjustment in different periods. ### Inspect attribution separately from receipt A purchase may be recorded without an eligible campaign association. Check the visitor reference and the captured landing context on the known order. DATALYR documents Shopify identity handoff through storefront cart attributes and related fallback behavior; use the guide to inspect the record. Consent choices can limit the available handoff. Do not interpret an unattributed order as proof that the payment integration is broken, and do not change collection choices simply to make every order appear attributed. Use an explicit unattributed bucket in the reconciliation. Assigned and unassigned amounts should explain the revenue basis being compared. A dashboard with fewer blanks is not necessarily a more accurate one. ### Prove delivery without assuming platform agreement After verifying the source, inspect the conversion rule and destination. Confirm the intended business event, amount, currency and destination asset. If multiple senders remain enabled, document how the platform deduplicates that exact setup. Keep three outcomes separate: the source event arrived, the destination accepted a request, and the destination credited an advertising interaction. Attribution windows, eligibility and reporting dates can affect the final result even when transport succeeded. ### Use a repeatable verification record Keep the order identifier, captured amount, refund amount, currency, visitor reference, event timestamps and destination response together. Record what should happen for each case before running a test. Include an order with no attributable journey so the fallback is understood. Use the documented test-mode behavior carefully. A test event visible in an event log may be intentionally excluded from business revenue. Do not require a bogus payment to produce the same financial records as a settled charge. Recheck after changing themes, checkout apps, consent configuration or delivery tools. For subscription or supplement businesses, add separate first-order and repeat-purchase views rather than treating every renewal as a newly acquired customer. ## Offline conversion tracking: connect a lead to the sale that follows URL: https://www.datalyr.com/blog/offline-conversion-tracking Updated: 2026-10-06T21:03:54Z Define the lead-to-sale record, preserve eligible matching data, and verify imported outcomes without confusing acceptance with advertising credit. ### Track the outcome that happens after the form Offline conversion tracking connects an advertising interaction with an outcome recorded outside the original website conversion. That outcome might be a qualified opportunity, a signed agreement or a payment after a sales conversation. The word offline describes the measurement handoff; it does not require a paper transaction. A submitted form is often an intermediate signal. If campaigns produce equally priced leads but very different numbers of paying customers, optimizing only to forms can hide that difference. Define which later outcome would improve the decision before choosing an import mechanism. Keep qualified leads, won deals and collected payments separate. They can all be useful stages, but a signed contract and a settled charge do not necessarily have the same timestamp or value. ### Define a record that survives the handoff Create an event contract between the lead system and the destination sender. Include a stable lead or account reference, the business stage, the time that stage actually occurred, value and currency where meaningful, and the eligible matching data captured under your collection policy. Keep original event time separate from export time. A sale completed on Monday and uploaded on Thursday should not silently become a Thursday sale. Record timezone handling and how amended or cancelled outcomes will be represented. Assign an owner to the status change. A spreadsheet export, a CRM automation and a payment webhook can all describe parts of the same journey. Without ownership, a retry or a second system can create another conversion instead of updating the same evidence. ### Follow a lead without inflating its value Consider an illustrative lead L-104. It submits a form on October 1, becomes qualified on October 3 and pays $800 on October 9. The same stable reference connects the three records, while each stage keeps its own event name and timestamp. If the team reports collected revenue, only the payment contributes $800 to that revenue measure. Assigning $800 to the form and another $800 to qualification would not create $2,400 of collected revenue. If proxy values are used for bidding, label them as modeled stage values and keep them out of the cash reconciliation. A later $100 refund changes the observed collected amount to $700 under a signed-cash policy. Whether and how that adjustment can be sent to the advertising destination depends on its supported correction mechanism. Do not assume an ordinary second purchase event is a refund. ### Use Google’s current import guidance Google’s documentation describes offline imports and recommends enhanced conversions for leads for new adopters. Its current migration notice directs offline and enhanced-lead API uploads toward Data Manager API, with legacy access subject to eligibility. Check the current documentation and your integration provider before building or changing a sender. Do not copy an old endpoint tutorial just because its screenshots resemble your account. The business event contract can remain stable while authentication, upload methods and diagnostics change. Verify the supported method independently from the article’s conceptual example. ### Separate eligible, exported, accepted and attributed For a sample reporting period, count outcomes eligible for export, outcomes actually exported, accepted records and attributed outcomes separately. Investigate the difference at each stage. A missing match is different from a rejected payload, and both differ from a sale not yet old enough to appear in a report. Keep a small exception list with the business identifier, failure reason, action taken and next review date. Retrying a permanent configuration error without changing anything is not a measurement strategy. Fix the cause, then verify the corrected record. In DATALYR, use the documented source and conversion-delivery workflow relevant to your setup. This conceptual guide is not a claim that every CRM, call platform or offline event has an automatic native connection. ### Judge lead quality on mature cohorts Compare campaigns using a consistent follow-up period. A campaign launched yesterday has had less time to close than one launched a month ago. Record the observation window and distinguish pending leads from lost opportunities. Use the result to investigate quality, follow-up and conversion lag before changing spend. Importing later outcomes provides better evidence about the journey, but it does not by itself prove that advertising caused the sale. ## Enhanced conversions: web and lead workflows, current settings and verification URL: https://www.datalyr.com/blog/enhanced-conversions Updated: 2026-10-06T21:03:54Z Understand the different business workflows behind enhanced conversions, Google’s unified settings, and the evidence needed to verify a setup. ### Start with what the feature adds Enhanced conversions supplements Google conversion measurement with eligible first-party customer information. Google describes hashing customer data such as email addresses before matching it to improve measurement. It is an additional matching mechanism, not a new definition of a sale. A website purchase and a later closed lead remain different business workflows even when account settings are unified. First identify where your meaningful conversion occurs and which system observes it. Then follow the current Google instructions for that data path. A hash should not be treated as permission to share a field. Collection, consent, destination policies and data handling still need to be evaluated for the use case. Do not send information merely because a field exists in the source system. ### Avoid outdated web-versus-leads setup instructions Google’s 2026 settings update describes a unified enhanced-conversions on/off setting and simultaneous acceptance of user-provided data from supported website and connection paths. Its notice also describes migration of offline and enhanced-lead API uploads to Data Manager API, with legacy eligibility conditions. That means a guide asking every advertiser to choose one old implementation-method setting can be misleading. Use the current account interface and official instructions. Do not infer from the unified switch that every data source is already connected, validated or suitable for your conversion. This article explains the workflow distinctions and a verification method. It does not certify that a particular account has completed a migration or that a third-party connector implements every enhanced-conversion feature. ### Distinguish the outcome from the transport For a website purchase, the meaningful outcome may be completed at checkout. For a lead workflow, the website interaction may be followed by qualification and a sale in another system. In both cases, the matching data needs to refer to the intended customer and outcome. Write down which record establishes the conversion, when it occurred, which value it carries and which sender owns delivery. Keep a later lead outcome distinct from its initial form submission. A shared setting does not make those events interchangeable. ### Design a verification case with an expected result Imagine a permitted test journey in which a customer submits a form and later pays $500. The form record contains the lead reference and the approved matching fields. The later payment has its own business identifier, event time, amount and currency. Before sending anything, decide whether the conversion action represents the form, the qualified lead or the payment. If it represents payment, the form is supporting journey evidence, not a second $500 outcome. Keep the response from the sender attached to the payment record. This is an illustrative record design, not a claim that any particular test customer can be matched or credited to an ad. An intentional unmatched case is also useful: it helps confirm that the system exposes missing evidence rather than silently inventing a source. ### Read diagnostics before reading campaign totals Check the source event and the intended conversion configuration, then inspect the supported sender’s response and Google’s diagnostics. Confirm field formatting against the current implementation guide for the chosen path. Avoid normalizing or hashing twice when a supported integration already performs that step. After delivery, investigate matching and reporting as separate questions. Acceptance means a request passed a particular stage; it does not guarantee that every record will receive campaign credit. Compare consistent conversion definitions, dates and reporting windows. ### Keep the DATALYR setup claim narrow and verifiable If DATALYR is part of the workflow, follow its current Google Ads connection and delivery documentation. Verify the exact supported path with the account you use. The presence of a Google Ads integration alone does not establish support for every web-tag or enhanced-lead implementation method. Use a short verification record containing the source identifier, outcome, sender, response and unresolved questions. Recheck when the conversion action, source schema, consent configuration or integration version changes. That record is more durable than screenshots of a settings page. If the source-to-sale handoff itself is unclear, fix the event contract first. Better matching cannot make a signup become a paid customer or correct a revenue amount drawn from the wrong field. ## Marketing mix modeling: inputs, outputs and when to use it URL: https://www.datalyr.com/blog/marketing-mix-modeling Updated: 2026-10-06T21:03:54Z Understand how aggregate marketing models support budget decisions, what their inputs must explain, and how to read results alongside attribution and experiments. ### Start with a budget question that needs an aggregate view Marketing mix modeling, or MMM, uses aggregate data to estimate relationships between marketing activity and business outcomes under a specified statistical model. It is often used to investigate channel contribution and budget allocation across time or markets. Google’s Meridian framework is one public example. Its documentation describes estimates of channel contribution, response curves and budget scenarios, with assumptions, controls and uncertainty built into the modeling process. Those outputs are estimates to evaluate, not a ledger assigning each individual purchase to a click. A useful question might be how the expected outcome changes when part of next quarter’s budget moves between two channels. A request to identify the campaign behind one customer’s payment belongs to a different measurement workflow. ### Build an input inventory before choosing a model Choose the outcome, time interval and geographic level consistently. Then list media activity and business conditions that could affect interpretation. Record where each series comes from, its units, missing periods and any definition changes. For an illustrative weekly sales model, the inventory might contain net sales, spend by channel, a promotion calendar, price changes and availability indicators. The appropriate controls depend on the causal question; adding every available column without considering its role can create a misleading model. Keep a data dictionary beside the dataset. A change from gross to net sales midway through the history can look like an unexplained performance shift. A tracking outage should not silently become a week with zero demand. ### Ask what moved together Suppose a business doubles advertising during a holiday promotion and sales rise. A simple before-and-after comparison cannot separate advertising, the discount, seasonality and any stock changes. The model needs a defensible way to address those competing explanations. If two channels always rise and fall together, the available data may contain little information for separating their effects. A visually smooth fit does not automatically mean each channel estimate is stable. Ask how sensitive the result is to plausible changes in the specification. This is where domain knowledge matters. A modeler needs to know when prices changed, a major product launched or a store stopped selling. Statistical sophistication does not remove the need for accurate business context. ### Read the next-dollar estimate, not only the historical average Consider a hypothetical scenario table. Moving $10,000 from Channel A to Channel B might be associated with $14,000 of additional modeled revenue in B and $8,000 of lost modeled revenue in A, for a net modeled change of $6,000. That arithmetic describes the scenario assumptions; it is not an observed lift result. Ask for uncertainty around both changes, the spend range supported by the data and any operational limits. If the proposed allocation requires spending far beyond the historical range, the recommendation depends more heavily on extrapolation. Also distinguish revenue from profit. A modeled revenue gain can be unattractive after margin, fees or fulfillment costs. The planning objective should match the actual business decision. ### Use models, journeys and experiments for different evidence Attribution helps inspect recorded customer paths. Experiments estimate effects using an intervention and a comparison design. MMM supports an aggregate view under its modeling assumptions. Treat disagreement as a prompt to inspect definitions, time windows and evidence rather than forcing the outputs to match. For example, a channel may appear late in many recorded journeys while also responding to demand created elsewhere. A journey report and an aggregate model can be investigating different aspects of that behavior. Neither should be renamed as experimental proof. ### Decide whether the next step is modeling or data repair Before commissioning work, ask who owns the input series, who reviews assumptions and which budget decision the result will change. Request a plan for data quality, model diagnostics, sensitivity analysis and post-decision validation. If revenue definitions or channel histories are inconsistent, repairing them may be the most useful first step. DATALYR can be part of a revenue-measurement workflow; this article does not represent it as an MMM engine or promise a ready-made model export. A model should produce an explainable decision with visible uncertainty. If the team cannot state what evidence would change that decision, a more complicated chart is unlikely to solve the problem. ## First-party data: build an inspectable marketing measurement record URL: https://www.datalyr.com/blog/first-party-data Updated: 2026-10-06T21:03:54Z Inventory the data your business collects directly, separate measurement from advertising sharing, and verify each field’s purpose and destination. ### First-party describes the relationship, not unlimited permission First-party data is information a business collects through its direct interactions with customers or visitors. A submitted form, account action or payment record can be part of that relationship. The term describes provenance; it does not make every field appropriate for every purpose. Distinguish first-party data from a first-party tracking domain and from server-side processing. These describe different parts of a system: where the information originates, how a request is addressed and where processing happens. None alone establishes that a marketing use is permitted. For measurement, start with the smallest record that answers a defined business question. Collecting more fields can increase operational burden without resolving the missing link between a visit and a payment. ### Give every field a purpose and an owner Build an inventory containing the field name, source, intended purpose, retention policy, access owner and allowed destinations. Separate business identifiers from human-readable personal details. A stable account reference may be sufficient for an internal join where a free-text form answer is not needed. For an illustrative acquisition record, consider campaign labels, an internal visitor or account reference, event time, payment identifier, amount and currency. Each field should have a reason to exist. Do not assume that a field needed to fulfill a purchase is also needed in an ad-platform payload. Avoid unrestricted copies of source objects. New form fields or checkout metadata can appear after a product change and travel through a generic forward-everything pipeline without a deliberate decision. ### Preserve the business relationship you actually need Imagine an anonymous visit followed by signup and payment. The measurement task is to connect the relevant records through a documented identity handoff, not to collect every detail the customer provides along the way. An illustrative record could connect visitor V-17 to account A-42 and payment P-88 for $75. The labels here are fictional. The useful evidence is the documented association and payment basis; a sensitive note typed into a form adds nothing to that join. If the handoff is missing or collection is not permitted, preserve that uncertainty. An unattributed payment is still a payment. Filling its campaign field by guesswork makes a report look complete at the expense of its meaning. ### Separate internal measurement from destination delivery Make an explicit decision for each destination. A business may need a financial record for internal reporting while limiting which identifiers or properties reach an advertising platform. Do not use a shared event name as a reason to copy the same payload everywhere. DATALYR documents consent, collection and redaction controls. Review the current instructions for the exact setup you use, including when consent signals are applied. A setting change should be tested with an observed event path rather than assumed effective from its label. Hashing and encryption serve specific technical purposes, but neither turns unrestricted personal information into universally shareable data. Follow the applicable destination requirements and your approved data-handling policy. ### Test both expected collection and expected absence Write an acceptance test for a permitted journey and another for a denied or restricted case appropriate to your setup. In the first, inspect the expected fields and identity handoff. In the second, verify what should be absent at collection and at each destination. Inspect URLs as well as event properties. Campaign tags, page paths and query strings can accidentally contain details someone did not intend to send. Check the actual request and stored record, not just the form’s visible fields. Keep a small test log with the configuration, date, expected result and observed result. Re-run it after changing forms, checkout behavior, consent handling or integration mappings. A test that passed before a schema change is not evidence about the new payload. ### Make data quality part of the publishing and product cycle When a feature ships, ask whether it introduces a new field, purpose, identity transition or destination. Update the inventory before those changes become invisible assumptions in a dashboard. Give deletion, access and retention processes the same named ownership as collection. For marketing analysis, prioritize consistent definitions and traceable records over a claim of perfect tracking. First-party data becomes useful when a teammate can explain where it came from, what it means, and why it was used—not merely when it is labeled first-party. ## Incrementality: measure the lift attribution cannot prove URL: https://www.datalyr.com/blog/incrementality Updated: 2026-10-06T20:26:13Z Use a worked holdout example to distinguish attributed sales from incremental lift, define a test, and interpret the result before changing spend. ### Attribution assigns credit; incrementality asks what changed Incrementality is the additional outcome caused by an intervention, compared with what would have happened without it. For advertising, that might mean additional purchases, qualified leads or contribution after costs. The difficult part is estimating the outcome you cannot observe for the same person at the same time: what they would have done without the campaign. A customer can click an ad and then buy even if they already intended to purchase. An attribution model can correctly connect that payment to the click without proving the ad created the sale. This distinction matters when a campaign reaches existing customers or people already close to checkout. Use attribution to inspect recorded journeys and reconcile revenue. Use a well-designed experiment to investigate causal impact. They answer complementary questions; a change in attribution rules is not an incrementality test. ### Calculate lift with an explicit comparison Consider a hypothetical randomized test with 10,000 eligible people in each group. The treatment group can receive the campaign; the control group is held out. After the same observation period, treatment records 500 purchasers and control records 400. The observed rates are 5% and 4%. Their difference is one percentage point. Applied to the treatment population, the point estimate is 100 additional purchasers: 10,000 × (0.05 − 0.04). Relative lift is 25%: (5% − 4%) ÷ 4%. One percentage point and 25% describe the same result with different denominators. These numbers illustrate arithmetic, not a real customer result. They do not establish statistical certainty. Assignment quality, spillover, sample size and uncertainty still determine whether the difference supports a decision. ### Normalize unequal groups before comparing Do not subtract raw conversion counts when the groups differ in size. If treatment contains 20,000 people and control contains 10,000, compare their rates and apply the control rate to the treatment size to estimate its counterfactual baseline. Also distinguish purchasers from orders. One person buying three times is one purchaser and three orders. Choose the outcome before looking at results, and keep returns, currencies, reporting windows and eligibility consistent. A changing definition can manufacture apparent lift. Revenue needs its own measurement. Multiplying incremental purchasers by an average order value can be an illustration, but it is not a substitute for measuring revenue differences when order values vary. ### Write a test brief before changing delivery Start with one decision: whether a defined campaign adds enough value to justify its cost at the tested spend. Specify who is eligible, how assignment happens, the primary outcome, the observation period and how uncertainty will be reported. Record other changes that could affect the result, including pricing, promotions, stock availability and channel budgets. Plan for conversion lag and interference between groups. A before-and-after sales chart alone cannot separate a campaign effect from seasonality or a simultaneous promotion. - Define the intervention and the business decision it informs. - Choose the unit of assignment and a credible control. - Estimate the sample and duration needed for a meaningful effect. - Freeze outcome definitions and analysis rules before results arrive. - Record exclusions, delivery problems and deviations from the plan. ### Translate the estimate into the decision you actually face Suppose the illustrative test cost $5,000 in additional media and estimated 100 incremental purchasers. Incremental cost per purchaser is $50. That differs from dividing spend by all 500 observed treatment purchasers, which would produce $10 and answer another question. An acquisition decision also needs margin, refunds and retention. A $50 incremental acquisition cost cannot be judged from a revenue-only return without knowing the economic basis. If the uncertainty range includes effects too small to cover costs, the next step may be better measurement rather than an aggressive budget increase. Do not extrapolate a result at one spend level to every future budget. Audience saturation, creative, competition and season can change the response. Record the setting in which the estimate was obtained. ### Use clean attribution records to support the investigation Before a lift study, reconcile successful payments, refunds and timestamps against the source system. Check that the outcome is measured consistently across groups. Missing transactions can make a sound experimental design uninformative. DATALYR can help inspect the campaign-to-payment records described in its attribution documentation. That is a measurement foundation, not a claim that its attribution reports create randomized holdouts or prove causal lift. Use an appropriate experimental system and analysis for the causal question. Finish with a decision note: what changed, estimated effect and uncertainty, cost basis, limitations, and the next action. Keep the attributed result alongside the experimental result without treating either as a replacement for the other. ## Multi-touch attribution: connect and allocate a customer journey URL: https://www.datalyr.com/blog/multi-touch-attribution Updated: 2026-10-06T20:26:13Z Follow a three-touch purchase, compare fractional credit, and check identity, eligibility, and revenue reconciliation before trusting a multi-touch report. ### Multi-touch attribution shares credit across eligible interactions Multi-touch attribution assigns portions of a conversion to more than one recorded interaction. It can show the role of earlier visits that disappear from a last-touch-only view. The result depends on both the allocation rule and the set of interactions the system can actually observe. A useful report starts with an inspectable journey: which person, which eligible touches, which payment, and which amount. A sophisticated weighting rule cannot recover a campaign parameter that was never captured or connect two people merely because their journeys look similar. This guide focuses on building and checking that journey. For the narrower comparison between two single-touch rules, use the first-touch versus last-touch guide. ### Allocate one $240 purchase without creating extra revenue In a hypothetical journey, a buyer clicks a social ad on Monday, returns through an email on Wednesday, and clicks a search ad on Friday before paying $240. Assume all three interactions are eligible and linked to the same buyer. A linear model gives each touch $80. First-touch would give all $240 to social; last-touch would give all $240 to search. These are alternate views of one transaction. Adding their totals would triple the revenue without adding a single sale. When multiple touches belong to the same channel, decide whether you allocate per touch and then aggregate, or collapse the path first. With two social touches and one search touch, equal credit per interaction gives social two-thirds. Equal credit per distinct channel gives it one-half. Write down which rule your report uses. ### Define the eligible journey before choosing weights The lookback window determines how far before conversion you inspect. A touch outside that window cannot receive credit, even if the analyst knows it happened. Consent, cross-device identity and capture failures can further reduce the recorded journey. Document how direct visits, repeated visits and post-purchase events are treated. If direct traffic is excluded in one model and included in another, you are changing eligibility as well as allocation. That makes the difference harder to interpret. Keep a small journey sample beside the dashboard. For each example, write the conversion time, included touches, excluded touches and reason for exclusion. This makes a surprising channel result something you can investigate rather than debate. ### Check the identity handoff before the model A browser visit and a billing webhook arrive through different systems. They need an appropriate shared identifier to belong to one customer journey. Repeated payments also need transaction identifiers so a retry does not become another sale. DATALYR documents capturing campaign parameters at arrival and linking identified activity across browser and server events. Its conversion-delivery lookup is separate from the reporting model you use to distribute revenue. Do not assume that selecting a reporting model changes every destination’s matching rule. Check one known journey end to end before judging aggregate allocation. The payment can exist while campaign attribution is missing; that is an identity or capture investigation, not proof the channel produced no value. ### Reconcile assigned and unassigned revenue Define a revenue basis before comparing channels: successful gross payments, an amount adjusted for refunds, or another clearly specified measure. Then check that assigned plus unassigned revenue reconciles to that same source total. For example, if the $240 purchase receives a $60 refund and your chosen policy allocates the adjusted $180 back across the original three touches, each would receive $60. This is a possible reporting policy, not a claim about automatic behavior in every product. A different refund policy must be described just as explicitly. Leave genuinely unmatched revenue visible. Moving it into a convenient channel to make the report look complete removes a valuable diagnostic signal. ### Use model differences to choose an investigation Compare models on the same dates, transaction set and revenue basis. If social gains credit under linear allocation while search loses it, inspect representative journeys. The difference tells you the rule values their recorded positions differently; it does not prove the incremental effect of cutting either channel. Use the result to identify a next question: are earlier touches missing, is a campaign mostly closing existing demand, or does the buying cycle exceed the window? A controlled experiment may be needed for the causal budget question. Keep the model name, window and exclusions next to the result. A number called attributed revenue is not sufficiently defined until the reader knows how it was assigned. ## CAC payback period: calculate when acquisition pays back URL: https://www.datalyr.com/blog/cac-payback-period Updated: 2026-10-06T20:26:13Z Calculate margin-adjusted CAC payback, then compare it with an actual customer cohort so churn, refunds, and delayed payments stay visible. ### Payback asks when acquisition cost is recovered Customer acquisition cost payback period measures how long it takes the contribution from acquired customers to recover the cost of acquiring them. It connects marketing efficiency to the time your business has cash tied up in growth. The calculation needs a consistent cost and margin basis. Revenue alone does not recover acquisition expense if delivering that revenue also consumes cash. State whether your margin includes product cost, payment fees, support or other variable costs; do not call an incomplete cost definition profit. CAC and CPA answer different questions. Count new paying customers for CAC, not every trial, lead or renewal payment. The distinction is especially important when an ad platform labels several different actions conversions. ### Start with a margin-adjusted estimate For a stable subscription example, payback in months = CAC ÷ monthly contribution per customer. If contribution is represented by monthly revenue multiplied by a consistently defined margin, the equivalent expression is CAC ÷ (monthly revenue × margin). Suppose a hypothetical business spends $30,000 to acquire 100 new paying customers. CAC is $300. Each customer produces $100 monthly revenue and $75 after the defined recurring delivery costs, giving a 75% contribution margin. Estimated payback is $300 ÷ $75 = four months. Dividing by the $100 revenue instead would produce three months. That shorter answer ignores the $25 of included monthly costs. Neither number includes expenses you left outside the cost basis, so the definition belongs beside the result. ### Replace the steady-state shortcut with a cohort ledger Real customers churn, expand, pause and receive refunds. Group customers by acquisition period, sum their acquisition costs, and track cumulative contribution from that same group. The first period when cumulative contribution reaches acquisition cost is the observed cohort payback point. A hypothetical $30,000 cohort contributes $7,500, $7,000, $6,500 and $6,000 in its first four months. Cumulative contribution is $27,000, so it has not paid back after four months despite the simple estimate above. If month five contributes $5,500, cumulative contribution reaches $32,500 and payback occurs during that period. Monthly data supports a month-level answer, not an exact date within the month. If the cohort has not recovered cost by the end of observation, report that explicitly instead of projecting recovery as though it already happened. ### Align acquisition costs with the customers they acquired Sales cycles can separate the month you spend money from the month a customer pays. Dividing this month’s spend by this month’s new customers is a convenient period ratio, but it may be a poor estimate of a campaign cohort’s acquisition cost. Choose whether the analysis is channel-specific or blended. Include the cost categories required by that decision and allocate shared costs with a documented rule. Comparing a media-only paid-channel CAC with a fully loaded company-wide CAC is not a like-for-like comparison. Reconcile new payer counts to the billing system and separate initial successful payments from renewals. Use a common currency and treat refunded or disputed amounts consistently. Avoid mixing booked annual contract value with monthly cash collections. ### Keep cash recovery distinct from revenue recognition Annual prepayment can improve cash recovery while service obligations continue throughout the year. A cash-payback analysis and an accounting contribution analysis can therefore give different timings without either calculation being wrong. Label the basis: collected cash after selected costs, recognized revenue after selected costs, or another defined measure. Keep deferred revenue and future delivery costs visible when comparing annual and monthly plans. A low payback period is useful only alongside retention, customer value and acquisition capacity. Cutting onboarding costs might improve an early ratio while worsening churn. Use the cohort record to check whether an apparent improvement persists. ### Use the result to diagnose the bottleneck When payback worsens, split the problem into acquisition cost, realized contribution per customer and retention. Rising CAC calls for a different investigation from falling gross margin or a growing share of unpaid trials. DATALYR’s revenue and attribution records can help connect payments with acquisition journeys. The calculation still needs your selected cost inputs and margin definition; do not assume a revenue dashboard knows every expense. Record the cohort, observation cutoff, included costs, currency, payback status and changes since the prior review. That gives the team an actionable measurement rather than an unsupported universal target. ## Meta Conversions API: setup, deduplication, and verification URL: https://www.datalyr.com/blog/meta-conversions-api Updated: 2026-10-06T20:26:13Z Map a real conversion to the correct Meta destination, choose one delivery owner, and verify receipt separately from matching and attribution. ### Start with the business event, not the API request Meta Conversions API sends event information from a server-side system to Meta. A successful request is only one stage of a measurement workflow: the underlying business event must be real, its fields must describe it correctly, and the destination must be the one your campaigns use. Define the conversion before connecting anything. A completed registration, started trial and successful purchase are different outcomes. A purchase should use the selected successful payment event and its value, rather than a page load that might repeat or appear before payment completes. Write down the source event, destination dataset or pixel, standard event mapping, value, currency and delivery owner. This small contract makes later debugging substantially easier than starting with a dashboard total. ### Choose one owner for each purchase delivery Inventory existing senders before adding another one: a commerce integration, a tag manager, a browser Pixel, a payment connector or a custom backend may already send the same transaction. Two successful integrations can still create an incorrect measurement system if their event identity is not coordinated. Where browser and server events represent the same business event, verify the current Meta deduplication requirements and inspect their event identity. Do not assume a browser receipt page and a billing webhook independently generate matching identifiers. For two server-side vendors, selecting one owner is usually easier to reason about than assuming cross-vendor deduplication. For example, Whop can already send purchases to Meta. DATALYR’s Whop documentation specifically advises against sending the same purchase to the same Meta destination through both paths. ### Connect the intended account and conversion rule In DATALYR, connect Meta from Sources using an account with access to the intended ad account. Select the account you want to use. Then configure a conversion rule with an event that already exists in your workspace and the intended Meta destination. Map that source to the correct standard event. For revenue, inspect the dynamic value mapping and currency rather than entering a fixed value that only matches your first test. Confirm whether your source reports gross receipts, an adjusted amount or another basis. Treat connection and rule configuration as separate checks. An authorized ad account does not prove that the correct pixel is selected, that the rule is enabled, or that the trigger matches the source event. - Confirm the ad account and destination identifiers. - Find an actual eligible source event. - Review event name, value and currency mappings. - Check consent and any saved platform restrictions. - Review every other sender for the same transaction. ### Verify a single event through four distinct outcomes Use permitted, non-sensitive test data and the platform’s supported testing workflow. Keep a record of the source transaction, timestamp, event identifier, amount, currency and selected destination. Never put access tokens or customer details into a shared debugging document. First establish that the source event exists. Next inspect the rule and delivery result. Then examine the receiving destination’s event diagnostics. Finally, review attribution separately after the appropriate processing interval and reporting window. A received event is not necessarily attributed to an ad. It may have no eligible ad interaction, insufficient matching information, a different reporting window, or an intentional restriction. Diagnose the failed stage instead of repeatedly submitting the transaction. ### Compare like-for-like totals Suppose the billing source records a $120 payment and later a $20 refund. A purchase event originally sent with $120 does not become a $100 event merely because your internal report now shows $100 net receipts. Determine each destination’s adjustment behavior before comparing totals. Align the time zone, reporting date basis, conversion definition, attribution window and revenue basis. Compare one currency at a time unless the report’s currency conversion behavior is explicitly known. Use a small sample of transaction-level records to explain the differences. The purpose is not to force every dashboard to show an identical number; it is to know which differences follow from definitions and which reveal a broken handoff. ### Keep the integration understandable after launch Recheck the workflow when the checkout, billing provider, consent configuration or event taxonomy changes. A new subscription flow can emit a different source event while an old purchase rule remains enabled. For health and wellness businesses, review the permitted data and any restrictions before delivery. A server-side route does not make a restricted event permitted. Keep sensitive details out of the collected data and apply the appropriate platform controls. The useful completion criterion is an inspectable conversion with a known delivery owner, correct business fields and understood diagnostics. That is stronger evidence than an unexplained increase in the event count. ## Marketing attribution models: choose the rule for your question URL: https://www.datalyr.com/blog/marketing-attribution-models Updated: 2026-10-06T20:26:13Z Compare first-touch, last-touch, linear, time-decay, and data-driven attribution while keeping eligibility, revenue, and causal limits explicit. ### Choose the question before the model A marketing attribution model is a rule for distributing conversion credit across eligible interactions. Choosing one changes the interpretation of a recorded journey; it does not change how much the customer paid. Start with the decision you need to inform. Are you examining the first recorded acquisition touch, the interaction closest to payment, or the sequence of touches involved in a longer buying journey? Those questions justify different views. Keep the conversion set fixed while comparing models. If one view includes renewals and another includes only first purchases, the difference is not merely attribution. Define revenue, customers, timing and eligible channels before discussing weights. ### Use single-touch views for a clearly bounded question First-touch gives credit to the earliest eligible recorded interaction. It can help you investigate where observed journeys begin. Last-touch gives credit to the final eligible interaction and helps inspect what appears near conversion. Both compress a journey into one credited position. Neither describes every influence on the buyer. A missing first visit can change first-touch attribution; excluding direct visits can change the last eligible touch. For a hypothetical $180 purchase after social, email and search interactions, first-touch assigns $180 to social and last-touch assigns $180 to search. Total revenue remains $180 in each view. Do not add the two views together. ### Use fractional rules when the intermediate path matters Linear attribution divides credit equally across the eligible units in the model. Those units might be interactions or another defined grouping, so inspect the implementation rather than relying on the label alone. With three eligible touches and $180, equal per-touch credit is $60 each. Time-decay attribution gives greater weight to more recent eligible touches according to a specified decay rule. Its result depends on the chosen timing parameters and available timestamps. Position-based rules use explicit weights for selected journey positions. These are interpretable conventions, not discoveries of causal contribution. Choose them because their assumptions match the question you are asking, then test how sensitive the result is to reasonable alternatives. ### Treat data-driven attribution as a specific implementation Data-driven attribution learns an allocation from data rather than applying a fixed equal-credit or last-touch rule. The phrase does not identify one universal algorithm, training dataset or set of eligible interactions. Google Ads currently documents last-click and data-driven choices; its first-click, linear, time-decay and position-based options have been retired. That product-specific availability does not mean the conceptual models ceased to exist elsewhere. Do not infer that a product offers a learned model simply because it records multiple touches. Check its current model documentation, data requirements and supported reporting scope before recommending it. ### Compare models with one controlled worksheet Select the same transaction sample, revenue basis and observation period. Record the included touches and then apply each model. Reconcile allocated plus unallocated revenue to the source total before interpreting channel shifts. Next, change one assumption at a time. Shorten the lookback window while holding the model constant, or compare models while preserving the same eligible path. Changing both together obscures the reason for the result. If a channel’s apparent value depends heavily on one rule, turn that sensitivity into a question for further investigation. It may reveal a long buying cycle, incomplete identity capture or a need for an incrementality experiment. ### Separate report allocation from conversion delivery A reporting model distributes credit for analysis. A conversion-delivery lookup finds the identifiers needed to send a supported event to an ad destination. They may use different settings and should not be treated as interchangeable. DATALYR’s attribution documentation explains capture and identity resolution for conversion delivery. Use the reporting surface’s actual model settings when comparing channel credit; do not assume a delivery preference governs every report. Record the chosen default and why it exists, keep comparison views available, and review it after a material change in the buying journey. The goal is a reproducible measurement decision, not finding the model that produces the highest ROAS. ## Web app funnel tracking: connect ad clicks to paid accounts URL: https://www.datalyr.com/blog/web-app-funnel-tracking Updated: 2026-10-06T20:26:13Z Map a browser-based app journey from campaign visit to signup, activation, trial, and payment without confusing events with customers. ### Define the journey your web app actually sells For a browser-based app, the acquisition journey often crosses a marketing site, an authenticated product and a hosted checkout. Web app funnel tracking connects those stages so you can distinguish a cheap signup from a customer who reaches value and pays. This is a browser SaaS workflow. A web-to-app funnel that ends in a mobile installation requires a separate app identity handoff. Do not assume that a campaign parameter in a web URL automatically appears in a mobile purchase. Start with your product’s meaningful transitions. A practical sequence is landing visit, account created, first useful action, trial started and first successful payment. Some products skip the trial; others activate after payment. The funnel should reflect that reality rather than impose a standard sequence. ### Give each stage a stable business definition Define account creation as one successful account record, not every submission of the signup form. Define activation as a specific action that demonstrates use, rather than any pageview. Define trial start from the system that grants the trial. A subscription record can exist before money is collected. Use a successful payment as the paying-customer boundary, and record renewals separately. Reloading a success page should not create another new customer. Write an event contract with the trigger, identity, timestamp, deduplication key and owner of each stage. It becomes the agreement between marketing, product and billing when the funnel count changes after a release. ### Carry identity across the app and billing boundary Capture campaign context on the landing visit before redirects remove it. When an account is created or a user signs in, connect the visitor to the appropriate stable application identity through the supported integration. For Stripe Checkout Sessions, DATALYR documents a client_reference_id link to the visitor. Other Stripe object types use different metadata fields. Follow the instructions for the actual object your backend creates; copying a field from a PaymentIntent example into a Checkout Session does not establish the same link. Avoid placing credentials in browser code. The browser can provide the intended visitor reference to your application, while authorized backend code creates the billing object. Validate the relationship with a permitted test journey before relying on campaign totals. ### Read the funnel using one mature cohort Suppose a hypothetical campaign brings 2,000 distinct eligible visitors. Within a defined 30-day observation window, 200 create accounts, 100 complete activation, 80 start trials and 20 become paying customers. Visitor-to-signup conversion is 10%; signup-to-activation is 50%; trial-to-paid is 25%; visitor-to-paid is 1%. Each ratio needs its denominator. Reporting simply a 25% conversion rate conceals that it describes trials, not all acquired visitors. If the campaign spent $2,000, media cost per signup is $10 and media cost per new payer is $100. Neither is a fully loaded CAC unless the definition includes the additional acquisition costs you intend to count. ### Do not compare a fresh cohort with a mature one A campaign launched yesterday has not had the same opportunity to generate trial conversions as one launched last month. Compare cohorts at equal age, or label incomplete observation windows clearly. Also keep the counting unit consistent. A company account with five users may represent five signups but one billing customer. Choose person, account or organization deliberately and explain how the billing relationship maps to it. Break the funnel down only when the segments remain interpretable. A tiny ad-level sample can produce dramatic ratios from one additional payment. Start with reliable campaign or channel cohorts and inspect the transactions behind unusual changes. ### Find the broken handoff before changing the campaign If signups arrive but payments have no journey, inspect the application-to-billing identity link. If payments exist in Stripe but not in the measurement system, inspect the revenue connection and delivery. If events arrive but the ordered funnel drops people, check timing, identity and stage definitions. Keep one verification record containing a synthetic campaign label, permitted test identity, event times and source transaction reference. Confirm each stage independently. A checkout return page alone is not evidence that a billing webhook arrived. Then use the funnel to choose the next action: improve onboarding when activation fails, inspect billing when trial conversion breaks, or investigate traffic quality when the right visitors never sign up. This makes the article’s measurement useful beyond a prettier conversion chart. ## Health and wellness ad tracking: measure conversions with careful data handling URL: https://www.datalyr.com/blog/health-wellness-ad-tracking Updated: 2026-10-06T20:26:13Z Design a wellness measurement workflow that separates collection, filtering, platform restrictions, and attribution without promising a tracking workaround. ### Start with the measurement need and permitted data Health and wellness ad tracking needs a clear separation between the business outcome you want to understand and the information permitted in each measurement destination. A useful internal metric does not automatically belong in an advertising event. Begin with a narrow question, such as whether an eligible campaign produces paid customers for a general wellness product. Specify the minimum data required to answer it. Avoid collecting questionnaire answers, diagnoses, treatment details or other sensitive information merely because a form makes them available. This guide describes measurement design and documented product controls. It does not determine your legal obligations or guarantee approval from an ad platform. The restrictions attached to your actual business and destination remain part of the setup. ### Audit more than the event name Sensitive context can travel in URLs, query strings, page titles, product names, custom properties, form fields and automatically installed tags. Renaming an event does not remove those other surfaces or change the nature of the underlying information. Build a destination-by-destination inventory. For each field, record why it is needed, where it originates, whether it should be collected at all and whether it may be shared with that destination. Keep unnecessary details out at the source instead of relying entirely on downstream cleanup. Use synthetic, non-sensitive values when testing. A production customer’s health details are not appropriate debugging fixtures, and a screenshot of a full event payload can itself copy information into another system. ### Understand what DATALYR filtering covers DATALYR’s health-and-wellness guide documents a privacy setting that filters selected product details and matching health terms in supported server conversions. Existing and new conversion rules inherit the setting; it is not necessary to rebuild every rule. The same guide explains that managed Meta, Google and TikTok browser pixels stay off when health filtering is enabled. Tags installed elsewhere or already running need separate review. Filtering is not retroactive deletion and is not a complete audit of every data collection path. Review the documented behavior against your actual source and destination. A selected-field filter is not a promise that arbitrary free text, every third-party script or every new integration is safe without inspection. ### Treat a platform notice as a restriction to apply If a platform has issued a notice, read its scope before changing delivery. Determine which business, data source, events and destinations it covers, and record the review link or notice in your operating record. DATALYR documents controls for recording notices and withholding affected delivery. These controls can apply across a workspace. If the notice covers only part of a business, resolve that scope before applying a workspace-wide action. Do not change names or delivery routes to disguise a restricted event. Server-side delivery is a transport mechanism, not permission to send information a platform has prohibited. When the notice is unclear, pause the relevant sharing while the scope is reviewed. ### Keep business measurement separate from ad sharing Consider a hypothetical wellness subscription funnel with 100 eligible account creations and 20 successful first payments. The business may need to understand its 20% account-to-paid rate using appropriately collected internal records. That does not establish that every account or payment event can be sent to every ad destination. If a destination prohibits the relevant event, the correct delivery result may be withheld. A lower shared-event count is then an expected control outcome, not a tracking defect to fix by forwarding the event through a different route. Label reports so readers can distinguish source outcomes, events eligible for sharing, successful delivery and attributed conversions. The denominator changes at each stage, and merging them into one conversion total obscures why the counts differ. ### Verify both delivery and intentional non-delivery Check that saved controls persist, then review the diagnostics for representative permitted and restricted cases. A skipped delivery can be intentional. An accepted delivery confirms receipt, not campaign attribution or policy approval. Inspect browser behavior in a fresh session and include tags installed through other systems. Document what was tested, which controls applied and any collection path that remains outside the integration’s control. Repeat the review when forms, product catalogs, checkout pages or destination rules change. A new field added during a product release can alter the payload even when the original conversion rule has not changed. ## Supplement ad tracking: separate new customers from repeat revenue URL: https://www.datalyr.com/blog/supplement-ad-tracking Updated: 2026-10-06T20:26:13Z Connect supplement campaigns to initial orders, repeat purchases, subscription payments, and refunds with a clearly defined revenue basis. ### Define whether you are measuring acquisition or repeat business A supplement campaign can produce an initial order, an upsell, a later reorder and a recurring subscription payment. Those outcomes are commercially useful, but they are not four newly acquired customers. Start by separating the questions. Acquisition reporting asks what it costs to bring in a new paying customer. Order reporting counts transactions. Cohort reporting follows the revenue from the customers acquired in a period. Each needs its own denominator and observation window. Keep the customer definition explicit when people use different emails or checkout methods. A source system’s new-customer flag and your own cross-store identity rule may not describe the same population. Record the distinction rather than silently combining them. ### Choose the source of truth for each money movement Use the successful order or payment source for revenue, with a stable transaction identifier and currency. Treat the confirmation-page visit as a journey event, not independent proof that a new payment occurred. DATALYR lists Shopify and CheckoutChamp among its commerce connections. Follow the documentation for the source you actually use and verify one transaction from checkout through the recorded event. Do not assume two connected sources describing the same sale will automatically deduplicate each other. For subscription orders, determine which system owns the recurring charge. Write down how initial orders, renewals, refunds and cancellations arrive. A cancellation stops or changes a relationship; it is not necessarily a refund of money already collected. ### Follow one buyer through the ledger Consider a hypothetical buyer acquired through Campaign A. Their first order is $60. A separately charged upsell adds $20, a later recurring order adds $50, and a successful partial refund returns $10. The ledger contains three positive payments and one refund, producing $120 after the stated refund adjustment. It still contains one newly acquired buyer. Whether each later payment receives Campaign A credit depends on the chosen attribution and renewal policy; do not assume it automatically. This example excludes product costs, shipping, tax treatment and processor fees. Its $120 is a defined receipt measure, not profit. Add the costs relevant to a profitability decision before using it to scale spend. ### Show first-order and cohort returns side by side Suppose a campaign spends $1,000 and acquires 20 new customers whose first orders total $1,200. Its initial-order revenue ROAS is 1.2× and media cost per new customer is $50. If the same cohort later produces another $600 in receipts and $100 in refunds within 60 days, refund-adjusted cohort receipts reach $1,700. On that defined basis, the ratio to original media spend is 1.7×. It is a cohort revenue ratio, not proof that every later order was caused by the original campaign. Wait until comparable cohorts reach the same age before comparing their 60-day result. A fresh launch should not appear worse merely because it has had less time to reorder. ### Keep product context out of unintended destinations Supplement product names, quiz responses and landing-page URLs can reveal more than a generic purchase amount. Audit those fields before sending events to an advertising destination. A tracking implementation should not collect detailed personal answers merely to make a campaign report look more complete. DATALYR documents health-related filtering and platform restriction controls. Review them when the business or destination requires them, and separately inspect scripts installed outside DATALYR’s managed paths. A clean revenue ledger and permitted ad delivery are different requirements. Do not relabel a restricted event or move it server-side to conceal its meaning. ### Verify a purchase, a repeat payment, and a refund separately Trace one permitted test journey with a recognizable campaign label. Confirm the landing visit, successful transaction, customer identity, value and currency. Then inspect the source’s treatment of a repeat payment and a refund. Check whether a one-click upsell reuses an order or creates another transaction in your actual checkout. That detail changes deduplication and order-count expectations. Compare the measurement record to the source ledger rather than assuming one checkout session equals one money movement. Finish with a report contract: new-customer definition, payment source, repeat-revenue policy, refund basis, currency and cohort window. That makes it possible to distinguish an acquisition problem from a reorder or margin problem. ## Subscription app attribution: connect campaigns to paid conversions and renewals URL: https://www.datalyr.com/blog/subscription-app-ad-attribution Updated: 2026-10-06T20:26:13Z Separate mobile trials, paying subscribers, renewals, and refunds while verifying the identity handoff through RevenueCat or Superwall. ### Measure the subscription lifecycle, not just the install A mobile subscription business can acquire many installers while producing few paying subscribers. Subscription app attribution connects acquisition context to later trial and payment events so those outcomes can be evaluated separately. Keep install, trial start, trial conversion, renewal and refund distinct. A trial begins a relationship without necessarily collecting money. A renewal collects money from an existing subscriber rather than creating another acquired customer. This guide covers the mobile subscription lifecycle and its revenue handoff. A browser-based SaaS signup funnel has different identity and checkout boundaries, even if both businesses use the word trial. ### Use one revenue source for the same store transaction DATALYR documents RevenueCat and Superwall integrations. When both describe the same underlying store transaction, choose one as its revenue source rather than assuming the reporting system will merge them. The RevenueCat guide explicitly warns that connecting both sources can double mobile revenue because deduplication occurs within a source, not across them. This is a delivery-ownership decision: more connectors are not automatically more complete measurement. Record which system owns purchases, refunds and lifecycle state, and reconcile that source before adding another path. If a source is changed, plan the overlap period and identifiers so the migration does not create two representations of the same revenue. ### Verify the app-to-revenue identity handoff Revenue arriving is not the same as revenue linked to an acquisition journey. The app and subscription provider must carry the supported identity information so the receiving payment can be connected to the right visitor or customer. For RevenueCat, DATALYR documents setting its subscriber attributes from the initialized SDKs. Follow the current SDK version and ordering guidance, including updates after permission changes where applicable. Do not copy an obsolete attribute name from an old integration snippet. Inspect the resulting payment record. A synthetic fallback identity may preserve the revenue while leaving acquisition unresolved. Fix the missing handoff rather than assigning the payment to an arbitrary campaign. ### Separate payer count from recurring receipts Imagine a hypothetical acquisition cohort with 100 trial starts. Twenty people convert to a $10 paid subscription, and fifteen of those renew once for another $10. There are 20 new payers and 35 successful payments, producing $350 gross receipts before any refunds, taxes or fees. Trial-to-paid conversion is 20%. Renewal among the first paid group is 75% for this single renewal opportunity. It would be misleading to report 35% trial-to-paid conversion by dividing all 35 payments by the 100 trials. Use a common observation window and allow time for the renewal opportunity. The youngest subscribers in a fresh cohort may not yet be eligible to renew. ### Compare the same revenue basis across systems Store taxes, commissions, refunds and currency conversion can make gross revenue differ from proceeds. DATALYR’s RevenueCat documentation distinguishes the event’s gross value from a separate net calculation. Inspect the actual fields before comparing them with a store payout. An event called cancellation also requires interpretation. Canceling future renewal need not reverse the previous charge. Use the provider’s documented event mapping and refund conditions rather than subtracting every cancellation from revenue. For acquisition economics, keep original purchase, renewal and refund treatment explicit. A campaign cohort’s later revenue can be useful even when a short-window ad platform does not attribute those later payments to the same campaign. ### Test receipt and attribution independently Start with the source’s supported test workflow, checking what is expected to be ingested in each environment. DATALYR’s RevenueCat guide says TEST and SANDBOX events are ignored; a successful response to such an event therefore does not prove that a revenue record will appear. For an appropriately authorized eligible transaction, verify the event type, timestamp, amount, currency, source identity and campaign link. Inspect a renewal and refund separately rather than assuming they follow the initial-purchase mapping. Maintain a compact acceptance record and revisit it after SDK, paywall or subscription-provider changes. The goal is to know why a customer is attributed or unmatched, not simply to make an install chart and a revenue chart sit beside each other. ## Whop ad tracking: connect campaigns to membership purchases URL: https://www.datalyr.com/blog/whop-membership-ad-tracking Updated: 2026-10-06T20:26:13Z Track Whop payments and membership activity separately, preserve the customer journey, and avoid sending the same purchase to Meta twice. ### Track the sale separately from membership access Creator businesses selling digital products or paid memberships need to know which campaigns lead to successful payments. Whop ad tracking should connect the pre-checkout journey to those payments while preserving a separate record of access and membership activity. A membership activation is not inherently a new charge. A recurring payment is a new money movement from an existing buyer. Combining those events into one acquisition count can make a campaign appear more productive than it is. This guide covers attribution for businesses selling through Whop. Connecting the Whop revenue source is not the same as importing Whop Ads campaign spend or managing Whop advertising campaigns; DATALYR’s documentation explicitly separates those capabilities. ### Prepare the tracked journey and source connection Install web tracking on the pages a customer visits before opening Whop checkout. Confirm that the landing visit retains the available campaign parameters through redirects. A payment webhook cannot recover an original campaign value that was never captured. DATALYR’s documented connection uses an owner-authorized Whop company and a restricted Account API key with the listed permissions. Enter credentials through the connection interface, not website code. The integration manages its webhook and official Whop Pixel as described in the setup guide. Use the current permission list in the documentation rather than an old copied list. A connection that cannot read required payment or member information is different from a working connection whose payments lack campaign identity. ### Inspect how the payment finds the visitor DATALYR’s Whop guide describes matching the payment to an available customer journey. Consistent identity matters: a different email between the tracked site and checkout can prevent a match. Use the supported identify flow where appropriate and permitted. A successful payment can therefore appear with revenue but no attributed visit. Do not treat that as a missing sale, and do not treat unmatched revenue as evidence that the acquisition channel was organic. For one permitted verification journey, record the landing campaign label, the customer identity used at checkout and the payment reference. Confirm those stages before interpreting campaign totals. ### Keep payments, refunds and activations in separate columns In a hypothetical membership example, a customer pays $40, receives access, pays a later $40 renewal and then receives a successful $10 partial refund. The defined refund-adjusted payment total is $70. There are two successful payments and one acquired customer. The membership activation records access, not a third $40 payment. Similarly, a membership deactivation is not automatically a cash refund. Look for the actual successful refund event before adjusting the money ledger. DATALYR documents Whop revenue as creator-facing successful payment totals less succeeded refunds. It does not subtract processing fees or disputes in that measure. Compare like-for-like figures rather than expecting it to equal final payout proceeds. ### Avoid overlapping Meta purchase delivery Before creating a conversion rule, inspect any purchase delivery already configured through Whop. DATALYR’s guide notes that Whop Ads can send purchases to Meta and advises against sending the same purchase to the same Meta destination through both systems. Select a clear delivery owner for that transaction and destination. If DATALYR is used for another destination, verify that it does not already receive the same event through another connector. Do not assume independent senders generate compatible deduplication identifiers. A higher event count after installing a second sender is a reason to reconcile the transaction sample, not evidence of improved campaign performance. ### Verify the payment and its later changes With appropriate authorization, test a low-value transaction from a tracked landing page. Confirm the source payment, DATALYR event, amount, currency and available campaign context. Then verify a successful full or partial refund against the source record. Check activation and deactivation separately. The purpose is to establish the expected distinction between revenue and lifecycle events, not to force their counts to match. When something fails, name the stage: landing capture, identity match, source webhook, revenue basis or destination delivery. Keep unmatched revenue visible while fixing the underlying handoff. That gives the creator business a trustworthy acquisition view without inventing precision. ## Google Ads server-side tracking: setup and verification URL: https://www.datalyr.com/blog/google-ads-server-side-tracking Updated: 2026-10-06T19:47:15Z Choose the right delivery path, connect the intended Google Ads account, and verify one conversion from its source event through reporting. ### Choose the path before following a setup guide Google Ads server-side tracking sends conversion information through server infrastructure rather than relying only on a browser tag. The setup depends on whether you are using server-side Google Tag Manager, a supported platform integration, or a direct conversion-import API. These are related approaches, not interchangeable instructions. A server container’s tag configuration is not the same thing as configuring an integration to deliver a payment event. Start by naming the event, its source, and the destination conversion action. This DATALYR guide focuses on configuring and checking the DATALYR connection. It is not a claim that a live Google Ads test has been performed for your account, and it does not replace Google’s current prerequisites. ### Define a conversion you can verify Write down what should count before enabling a destination. A paid purchase, a submitted lead, and a started trial are different outcomes. If your rule matches a purchase event, a signup is not an adequate test of that rule. Choose a transaction or event you are authorized to inspect. Keep its original time, currency, amount, and identifier available for comparison. A screenshot of an aggregate revenue number is not enough to establish that this particular event traveled through the intended path. Also inventory existing delivery paths. A browser tag, a commerce integration, and another server-side service may already send the same business event. Decide how one purchase should be represented before adding a second path; do not assume that sharing an order ID deduplicates every combination of conversion actions and upload methods. Server-side delivery does not remove consent requirements. Use the consent and data-handling rules applicable to the chosen integration and Google destination. A missing identifier is a diagnostic finding, not permission to invent one or substitute unrelated customer data. - Business event and the precise trigger condition. - Source of the event and its transaction identifier. - Google Ads customer account and intended conversion action. - Value and currency definition. - Existing browser and server senders for the same outcome. - Consent and identifier requirements for the selected delivery method. ### Connect the intended customer account in DATALYR Open Sources, connect Google Ads, authorize an account with access, choose the final customer account, and set it as primary. A manager account and the customer account running the campaigns are not interchangeable; verify the selected customer ID. In Conversions, create a rule for a real incoming event, choose Google Ads as the destination, and use the supported configuration shown by the editor. Confirm that the rule is enabled and the account selection is complete. If DATALYR displays a Google Ads reconnect warning, resolve it before testing delivery. The current application includes a Data Manager authorization check; an older connection may need updated authorization. Do not repeatedly replay events to compensate for a missing permission. Treat these as setup checkpoints. This guide does not verify your connected account, access rights, or current conversion configuration. Check them in your own workspace before sending an event. ### Trace one event through four checkpoints Use a controlled event in an appropriate test setup, or inspect a known legitimate transaction. Do not submit invented production conversions just to make a report look active. Record the identifier so the same transaction can be followed at every stage. First, verify the source. Confirm the event actually occurred and that its amount, currency, and time match the business record. If the source is a payment provider, confirm that the event represents a successful payment rather than an intermediate lifecycle notification. Second, verify receipt and eligibility in DATALYR. Find the event and check that it matches the intended rule. If it does not, investigate the trigger and available properties before changing the destination settings. Third, inspect the delivery result. Read a reported failure rather than treating the existence of an event as proof of successful delivery. Preserve enough detail to distinguish an authorization issue from an identifier, value, or configuration problem. Fourth, inspect the relevant Google diagnostics and reporting after the applicable processing period. Record whether the event was accepted and whether it was attributed. The latter depends on Google’s eligibility rules and available matching information; acceptance alone is not a campaign conversion. ### Keep a small verification record For a hypothetical $49 purchase, your review note could contain the following fields. The values are illustrative and should never be submitted as a fabricated production purchase. Keep identifiers and evidence in an access-controlled workspace. If you share a screenshot for support or an article, remove customer details and credentials. A public tutorial should show an authorized test example, not a private customer record. - Source: successful payment, transaction demo-order-001, USD 49. - Receipt: the corresponding event is visible with the expected time and value. - Rule: the intended Google Ads destination matches that event. - Delivery: observed status and the exact diagnostic, if any. - Google: checked conversion action, diagnostic result, and reporting date basis. - Conclusion: received, delivered, and attributed are recorded separately; unverified stages stay unverified. ### Investigate the stage that failed If the source record exists but no event appears, investigate collection or the source integration. If the event appears but no rule matches, investigate the rule’s event name and conditions. If delivery fails, use the actual destination error to decide the next step. If delivery is accepted but reporting is empty, check the selected account and action, the original event time, available matching information, and reporting delay. Review the report’s date basis as well: a conversion import may be associated with an earlier ad interaction rather than the day you uploaded it. If totals are unexpectedly high, review the list of senders and conversion actions. Distinguish multiple notifications about one transaction from multiple real transactions. Do not delete records or disable a working sender until you understand the duplication path. Use one known event to narrow the investigation. Sending a large batch repeatedly introduces more uncertainty and can affect reporting if the batch is not handled as expected. ### Check current API guidance before building your own sender Google’s current offline-conversion documentation directs newly restricted upload integrations toward the Data Manager API and describes access limits affecting older upload instructions. A code sample from an earlier tutorial may therefore be unsuitable for a new integration. If you are building a sender yourself, verify the current API, authorization, destination, consent, and diagnostic requirements in Google’s documentation. Do not copy the setup for a server-side Tag Manager tag into an API integration, or infer that an existing provider’s permissions apply to your own project. For a DATALYR connection, begin with the supported setup and the connection’s actual warnings. Finish with a recorded trace of one event. That is more useful than declaring tracking fixed because the connection badge turned green. ## CAC vs CPA: distinguish an action from a new customer URL: https://www.datalyr.com/blog/cac-vs-cpa Updated: 2026-10-06T19:47:15Z Use a worked acquisition funnel to compare cost per action with customer acquisition cost, including repeat purchases, sales costs, and conversion lag. ### Ask what the denominator counts CAC measures the cost of acquiring a new customer. CPA measures the cost of a defined action or acquisition, which might be a lead, a trial, an order, or a first purchase. You cannot compare the two until you know exactly what each denominator counts. In this guide, CAC means included sales and marketing acquisition costs divided by new paying customers. CPA means included campaign cost divided by the selected conversion actions. Other teams may use narrower definitions, so write the formula beside the label. This is a DATALYR guide with illustrative figures, not a customer benchmark. The aim is to make a campaign report and a customer-acquisition report explainable using the same underlying funnel. ### Calculate three costs from one funnel Imagine a completed acquisition cohort with $6,000 in media spend, 300 unique leads, and 30 new paying customers. Assume that all 30 customers came from those leads and that the observation window was long enough for the example’s purchases to arrive. The media cost per lead is $6,000 ÷ 300 = $20. The media-only cost per new paying customer is $6,000 ÷ 30 = $200. Calling the $20 number ‘customer acquisition cost’ would confuse the lead event with the customer outcome. Now include $3,000 of attributable acquisition work: sales follow-up, creative production, and acquisition tools under your documented allocation policy. The fully included acquisition cost is $9,000, making CAC $9,000 ÷ 30 = $300. Neither the $20 CPA nor the $200 media-only figure includes that additional cost. These calculations are not contradictory. They answer different questions. The $20 figure describes lead generation, $200 describes media efficiency against new customers, and $300 describes the broader acquisition cost in this example. - Media cost per lead: $20. - Lead-to-paid rate: 30 ÷ 300 = 10%. - Media-only cost per new customer: $200. - Acquisition cost including the stated additional costs: $300 per new customer. ### A lower CPA can hide a higher customer cost Consider a second hypothetical campaign that spends the same $6,000 but produces 600 leads and only 15 paying customers. Its lead CPA falls to $10, while its media-only new-customer cost rises to $400. If both campaigns carry the same additional $3,000 in acquisition costs, the second campaign’s included CAC is $600. A lead-only dashboard would favor it; a paid-customer view would raise a different question about lead quality or conversion. Before blaming the audience, inspect the journey. Were the leads eligible prospects? Did follow-up occur? Was a technical problem blocking checkout? Were enough days allowed for conversion? A cost ratio identifies where to investigate; it does not diagnose the cause on its own. ### Count customers, not payment events An order count is not necessarily a new-customer count. One customer may place two orders, buy another product, renew a subscription, or retry a failed payment. Decide what qualifies as the first paid relationship before calculating CAC. For a subscription business, a trial start may be the CPA event while the first successful payment establishes the new customer. Renewal revenue belongs in retention or cohort economics; another renewal should not create another newly acquired customer. Document how you handle refunds and cancellations. You might track initial new customers and retained customers separately instead of quietly rewriting the denominator. Whichever policy you choose, apply it consistently so a change in the ratio reflects behavior rather than a changed definition. - Use a stable customer identifier and a clear first-purchase rule. - Distinguish unique people or accounts from repeated conversion events. - Exclude test transactions and document exclusions. - Keep payment status separate from lead or signup status. ### Keep channel scope and time windows aligned Blended CAC describes included acquisition costs across the business divided by its new customers. A paid-channel figure uses a narrower cost and customer scope. Do not compare a media-only channel number with a blended number that includes salaries and tools without explaining that difference. Period reporting and cohort reporting also differ. This month’s sales-and-marketing spend divided by this month’s new customers is a period measure. Following the customers generated by a particular acquisition period is a cohort measure, and may require waiting for later purchases. A long sales cycle can make a recent cohort look expensive simply because it is incomplete. Show the observation window and compare cohorts at similar ages. Avoid combining all current spend with a handpicked set of later conversions that makes the result look favorable. ### Trace one lead to its first payment Start with one known new customer. Identify the acquisition event, the first successful payment, and the permitted identity link between them. Then check whether the same customer appears once in your acquisition denominator. DATALYR’s Stripe setup documentation distinguishes the visitor-linking requirements of different checkout types. Review the relevant setup rather than assuming that a connected payment account automatically makes a lead and a payment the same identifiable journey. Attribution helps allocate observed outcomes across campaigns. It does not supply every salary, agency fee, or overhead allocation required by your CAC definition. Bring those inputs from the appropriate cost records and state which costs are excluded. ### Put the definition beside the decision Use action-level CPA when you are investigating a specific stage of a funnel, and read customer cost when judging acquisition economics. Add retention, gross margin, and observed customer revenue before deciding what acquisition cost the business can support. A useful report label is longer than ‘CPA’: for example, ‘Media cost per unique trial start, October cohort, observed for 30 days.’ A useful CAC label names the included costs and the rule for a new paying customer. Those labels prevent a cheaper action from being mistaken for cheaper growth. ## First-touch vs last-touch attribution: one journey, two answers URL: https://www.datalyr.com/blog/first-touch-vs-last-touch-attribution Updated: 2026-10-06T19:47:15Z See how first-touch and last-touch rules assign credit, why lookback and direct-traffic rules matter, and what a model comparison cannot prove. ### The difference is which eligible interaction gets credit First-touch attribution assigns credit to the first eligible recorded interaction. Last-touch attribution assigns it to the last eligible recorded interaction before conversion. Both are single-touch rules: one interaction receives the credit in each view. The word ‘eligible’ matters. A model also depends on which events were observed, the lookback window, the identity links, and whether direct visits count. The first recorded interaction is not necessarily the first time someone encountered your business. This DATALYR guide compares the concepts using an illustrative journey. The examples are not customer results and should not be read as the exact behavior of every reporting platform. ### Apply both rules to the same journey Suppose a buyer clicks a paid social ad on day 1, follows an email link on day 4, and clicks a paid search ad on day 6 before buying for $200. Assume all three interactions are linked to the same buyer and are eligible under the selected window. First-touch gives paid social all $200 of credit. Last-touch gives paid search all $200. The email receives no credit in either single-touch view, even though it is present in the observed journey. Neither view creates or removes a payment. The $200 in the first-touch report and the $200 in the last-touch report are two allocations of the same amount. Do not add them together as though the campaign generated $400. The useful question is why the allocation changes. In this example, one channel starts the recorded path and another appears near the purchase. That is a reason to inspect how the channels interact, not proof that either one is dispensable. - Day 1: paid social click. - Day 4: email click. - Day 6: paid search click and $200 purchase. - First-touch view: paid social $200; email $0; paid search $0. - Last-touch view: paid social $0; email $0; paid search $200. ### Changing eligibility can change both answers Now assume the reporting rule considers only interactions in the three days before the day-6 purchase. The day-1 paid social click falls outside that illustrative window. Email becomes the first eligible interaction, while paid search remains the last. A report that says first-touch without specifying the window leaves out an important part of the rule. A short window may omit earlier research; a longer window may include interactions from a different buying episode. Select a window for a reason and record it with the report. Missing identity links can have a similar effect. If the first click occurred on another device and no permitted link connects it to the purchase, the available journey begins later. Changing the model cannot recover an interaction the system never observed or connected. ### Specify how direct visits are handled Suppose the buyer returns directly on day 7 and purchases then instead. A literal last-interaction rule could credit that direct visit. A last-non-direct rule could retain the paid search interaction, assuming it remains eligible. Those are different rules, even if both reports use the shorthand ‘last touch.’ Before comparing tools, write down whether direct sessions, impressions, email opens, and clicks are included. A click-only path and a path containing ad impressions are not equivalent inputs. Keep the conversion itself consistent as well. Assigning credit for a trial and assigning credit for the first paid invoice answer different questions. A model comparison is most useful when only the model changes and the rest of the definition stays fixed. ### Distinguish a reporting model from a delivery lookup A conceptual first-touch comparison should not be substituted for a product’s actual conversion-delivery rules. DATALYR’s attribution documentation describes an ordered lookup for a conversion’s click context, including event, session, and linked-user information. That documentation says the default is first click, a rule can select last click, and a same-session match takes precedence. This is more specific than simply taking the earliest or latest row across an unrestricted journey. Check the current documented rule and the actual conversion record before interpreting a delivery result. Keep that lookup separate from whatever reporting model and date filters you are reviewing. A conversion’s delivery destination and an analyst’s allocation view may serve different purposes. Naming both prevents a generic attribution diagram from being mistaken for proof of implementation behavior. ### Use disagreement to choose the next investigation First-touch can help identify where recorded customer journeys begin. Last-touch can help identify which eligible interactions appear near conversion. Neither assigns value to all the assistance in between, and neither measures the counterfactual of removing a channel. If a channel looks strong only in first-touch, inspect whether it regularly introduces buyers who later convert elsewhere. If it looks strong only in last-touch, inspect whether it reaches people already close to buying. These are hypotheses to investigate, not automatic instructions to move budget. Keep a short review sheet for a few real transactions: conversion amount, eligible path, identity gaps, window, direct-traffic policy, and each model’s assigned source. Explain those records before relying on the aggregate difference. ## ROAS vs ROI: when a strong revenue return still loses money URL: https://www.datalyr.com/blog/roas-vs-roi Updated: 2026-10-06T19:47:15Z Calculate ROAS and ROI from the same campaign, then see how product costs, refunds, and your chosen denominator change the decision. ### ROAS measures revenue efficiency; ROI includes costs ROAS divides attributed revenue by advertising spend. ROI divides profit by a defined investment or cost base. A campaign can have a positive revenue return and still lose money after the costs of fulfilling those sales. Use ROAS to compare revenue against media spend under a consistent attribution method. Use a cost-aware return calculation to judge the economics. Neither calculation proves that advertising caused every attributed sale. This DATALYR guide uses a hypothetical campaign, not customer results. We define the costs and the denominator throughout, because two reports labeled ROI can otherwise describe different calculations. ### Write down both formulas For this guide, ROAS = attributed revenue ÷ media spend. A result of 4 means $4 of attributed revenue for each $1 of media spend; it can also be written as 4× or 400%. It does not mean $4 of profit. For the worked example, cost-based campaign ROI = (revenue − all included campaign and fulfillment costs) ÷ all included costs. Multiply by 100 to express it as a percentage. This denominator includes product and fulfillment costs as well as ads. Another useful calculation divides contribution after ads by ad spend alone. That can inform a marketing decision, but it produces a different percentage. Label it separately rather than comparing it with cost-based ROI as though they were identical. A zero denominator makes either ratio undefined. If you incurred no media spend, report the revenue and costs directly rather than presenting an infinite ROAS as a campaign success. ### One campaign, 4× ROAS, and a loss Assume a campaign spends $1,000 on media and receives credit for $4,000 in sales. Those sales require $2,800 in product and fulfillment costs and $400 in payment fees and other variable costs. For this simplified example, sales exclude tax and there are no refunds or fixed overhead allocations. ROAS is $4,000 ÷ $1,000 = 4×. The included costs total $4,200: $1,000 + $2,800 + $400. The campaign result after those costs is negative $200. Cost-based ROI is −$200 ÷ $4,200, or approximately −4.76%. The same negative $200 divided by ad spend alone is −20%; that is the separately defined contribution-after-ads return. The two percentages have different denominators, but both expose the loss hidden by the 4× ROAS. Now suppose the same sales require only $2,000 in non-ad variable costs. Total included costs become $3,000, profit becomes $1,000, and cost-based ROI becomes 33.33%. ROAS stays 4×. Revenue and media spend did not change; the economics did. - Scenario A: revenue $4,000; ads $1,000; other costs $3,200; result −$200. - Scenario B: revenue $4,000; ads $1,000; other costs $2,000; result $1,000. - Both scenarios report 4× ROAS. Only Scenario B produces a positive result under these cost assumptions. ### Calculate a threshold from your margin Contribution margin before advertising is the fraction of revenue left after the non-ad variable costs you include. In Scenario A, ($4,000 − $3,200) ÷ $4,000 = 20%. Every revenue dollar contributes $0.20 toward advertising and any remaining costs. Under a constant-margin assumption, break-even ROAS = 1 ÷ that contribution-margin fraction. At 20%, the threshold is 5×. The campaign’s 4× falls short. At a 50% contribution margin, the threshold is 2×. This threshold covers the costs in the model. It does not automatically cover fixed overhead, financing costs, or your desired profit. If discounts, shipping mix, returns, or product mix change, recompute the margin instead of treating the threshold as permanent. A zero or negative pre-ad contribution margin cannot be repaired by finding a finite positive break-even ROAS under this formula. Review the unit economics first. ### Make the revenue and cost inputs comparable Choose a revenue basis and use it consistently. If $4,000 of orders later produces $400 of refunds, the report should explain whether the numerator remains gross sales or becomes $3,600. Do not subtract refunds twice by reducing revenue and also counting the same refund as an expense. Returned inventory, nonrefundable fees, and shipping costs need their own treatment. A refund does not imply that every original cost was recovered. Keep a simple reconciliation from the payment or order ledger to the amount used in the ratio. A subscription cohort also needs an explicit time horizon. Comparing this month’s acquisition spend with an unsupported lifetime-revenue estimate can flatter performance. Separate observed revenue from forecasts, and show when the cash arrived. - Same currency and reporting timezone. - Documented treatment of taxes, discounts, shipping, refunds, and fees. - Consistent inclusion of media, agency, production, and fulfillment costs. - An explicit attribution model, conversion definition, and date basis. - Observed cohort revenue kept separate from projected lifetime value. ### Use both numbers before increasing spend Start with the campaign’s revenue-to-spend ratio, then apply the relevant cost assumptions. A high-ROAS campaign selling low-margin products can be less attractive than a lower-ROAS campaign selling high-margin products. Next, ask whether the averages describe the next dollar you plan to spend. A campaign’s historical return can change as audience reach, product mix, or auction conditions change. Neither a past 4× ROAS nor a positive ROI establishes a safe scaling limit. DATALYR can be part of the revenue-measurement workflow; an attribution report is not a substitute for a complete cost ledger. Before using a report to set a budget, reconcile one campaign’s revenue basis and document the costs you supplied. That gives your ROAS and ROI labels a meaning someone else can reproduce. ## Revenue attribution: connect campaigns to actual payments URL: https://www.datalyr.com/blog/revenue-attribution Updated: 2026-10-06T19:47:15Z Follow a worked customer journey from campaign click to payment, then check revenue definitions, refunds, identity gaps, and attribution rules. ### What revenue attribution tells you Revenue attribution assigns revenue credit to recorded marketing interactions under a defined set of rules. It helps answer which campaigns preceded paid customers, rather than stopping at clicks, signups, or leads. A form submission can tell you that a campaign generated interest. A linked payment tells you whether that person eventually bought, how much they paid, and which recorded interactions are eligible for credit. The distinction matters when two campaigns generate similar lead counts but very different customers. This guide is written by DATALYR. The example below is illustrative, not a customer result or a claim about the revenue you will recover. It shows how to inspect an attribution record before using it to make a budget decision. ### Define the revenue before assigning credit Start with a sentence your marketing and finance teams can both interpret: ‘This report allocates successful customer payments, less refunds, in USD, grouped by payment date.’ That is a reporting definition, not a universal accounting policy. Your business may need a different definition, but it needs one. A booked contract, a payment, and recognized revenue can occur on different dates. Likewise, a subscription’s first payment and its later renewals answer different questions. Combining them without labels makes an acquisition report difficult to interpret. Keep the amount and the attribution rule separate. Changing which campaign gets credit should not silently change the amount available to allocate. If you switch from gross payments to payments after refunds, label that as a change to the revenue basis. - Specify the event that counts: paid invoice, completed paid order, or another documented transaction. - State whether amounts include taxes, shipping, refunds, fees, and disputes. - Separate first purchases from repeat purchases or renewals when evaluating acquisition. - Choose a date basis and timezone; do not silently compare payment-date revenue with click-date reporting. - Compare one currency, or document how currencies are converted. ### Follow one payment through two attribution rules Consider this hypothetical journey. On October 1, a person clicks Campaign A and starts a trial. On October 4, the same identified person clicks Campaign B. On October 5, they pay $120. Assume both interactions were recorded, are eligible under the selected window, and are linked to the payment. Under a simple first-touch rule, Campaign A receives $120 of credit. Under a simple last-touch rule, Campaign B receives $120. The business still received one $120 payment. Adding the two reports and calling the result $240 would count the same payment twice. On October 8, the customer receives a $20 partial refund. For this example, the report assigns that adjustment back to the original transaction and its attributed campaign. The payment contributes $100 after refunds. That reconciliation policy is explicit; it is not a promise that every analytics tool automatically treats adjustments this way. If the customer pays another $120 the following month, put that payment in a renewal category. You can analyze renewal revenue by original acquisition source, but describe it as a cohort view. The first campaign did not necessarily cause every later payment. - Original payment: $120. - Partial refund: $20. - Revenue after the refund in this example: $100. - First-touch view: Campaign A receives $100; Campaign B receives $0. - Last-touch view: Campaign A receives $0; Campaign B receives $100. - Both views describe the same $100, not separate revenue. ### Build a record you can inspect You do not need a complicated model to discover a broken link between a visit and a purchase. You need enough information to trace the transaction back through the events used in the report. The following is a proposed review checklist, not a list of DATALYR database fields. Use the equivalent fields in your tools. Preserve transaction identifiers so that a retry or an additional payment notification does not become an additional sale. Record missing information as missing. If a payment cannot be matched to a captured journey, keep it in an unattributed category. Allocating it to the best-looking campaign would make the report more complete-looking and less trustworthy. - Transaction ID, payment status, timestamp, amount, and currency. - Refund or adjustment reference, where applicable. - The permitted identity link between the visit and the customer or payment. - Recorded campaign parameters or click identifiers, with their timestamps. - The model, eligibility window, and handling of direct visits. - The reason a transaction was matched, excluded, or left unattributed. ### Check the capture, identity, and payment stages Inspect the actual landing URL after redirects. A campaign parameter present in the ad but missing from the landing page cannot identify that visit. Then inspect the handoff from the browser to checkout: a server-side payment record is useful, but it still needs a permitted way to connect to the earlier journey. DATALYR’s documentation describes capture of campaign parameters and click IDs, then lookup through event, session, and linked-user information. It also describes identifying the same user across browser and server events. Those links depend on implementation and consent; they are not evidence that every touchpoint will be observable. For Stripe, use the instructions for your actual checkout type. The current guide distinguishes Checkout Sessions from Payment Links and other Stripe objects. Do not assume that an integration being connected proves that a particular payment carries the expected visitor link. ### Reconcile before changing your budget Take a small, known set of transactions and reconcile its payment total before evaluating campaign performance. For a single allocation view, attributed revenue plus unattributed revenue should reconcile to the eligible transaction amount under that view’s documented rules. Investigate differences instead of quietly dropping the unmatched rows. Next, inspect one new customer, one repeat customer, and one refunded transaction. Check whether each appears in the intended category and period. A report can have the right grand total while assigning revenue to the wrong cohort. Only then compare the attribution view with an ad platform. Different conversion definitions, eligibility windows, dates, and models can still produce different totals. Delivering a conversion to a platform and receiving credit for it are separate events. ### Use attribution as evidence, not proof of causation A recorded interaction followed by a payment does not tell you what would have happened without the campaign. Attribution allocates credit under the chosen rules; an experiment addresses a different question about incremental impact. Use the report to identify a specific next investigation. A campaign with many leads and few paid customers may need a closer look at lead quality or follow-up. A large unattributed bucket may require tracking repair before campaign comparisons are useful. A channel that changes dramatically between first- and last-touch views deserves a journey review rather than an immediate budget cut. For your first check, choose one known payment and write down the amount, customer category, recorded journey, selected rule, and assigned source. If you cannot explain that row, adding more models will not fix the underlying uncertainty.