{
    "name": "Marketing Attribution Split Calculator",
    "url": "https://calculators.geekmidst.com/calculators/marketing-attribution-split-calculator",
    "markdown": "https://calculators.geekmidst.com/calculators/marketing-attribution-split-calculator.md",
    "category": "Marketing analytics",
    "description": "Split a conversion’s value across the channels in a customer journey using first-touch, last-touch, linear, position-based or time-decay rules.",
    "summary": "Rule-based attribution splits the credit for a conversion across the touchpoints that led to it. Enter the journey in order and pick a rule to see each channel’s share.",
    "also_called": [
        "Attribution model calculator",
        "Multi-touch attribution calculator"
    ],
    "applies_to": "Worldwide",
    "last_updated": "2026-10-29",
    "computation": "Results are computed in the visitor’s browser on the HTML page. This API describes the calculator; it does not compute results.",
    "inputs": [
        {
            "name": "touchpoints",
            "label": "Journey, first touch to last",
            "type": "textarea",
            "default": "Paid search\nEmail\nSocial\nEmail"
        },
        {
            "name": "revenue",
            "label": "Conversion value",
            "type": "number",
            "default": "1000"
        },
        {
            "name": "model",
            "label": "Attribution rule",
            "type": "select",
            "default": "position",
            "options": {
                "last": "Last touch",
                "first": "First touch",
                "linear": "Linear (equal split)",
                "position": "Position-based (40/20/40)",
                "time_decay": "Time decay"
            }
        },
        {
            "name": "half_life",
            "label": "Half-life",
            "type": "number",
            "default": "1",
            "unit": "touchpoints",
            "shown_when": {
                "model": "time_decay"
            }
        },
        {
            "name": "currency",
            "label": "Currency",
            "type": "currency",
            "default": "USD"
        }
    ],
    "outputs": [
        {
            "key": "top_channel",
            "label": "Channel with the most credit",
            "format": "text"
        },
        {
            "key": "top_credit",
            "label": "Its credited value",
            "format": "currency"
        },
        {
            "key": "top_share",
            "label": "Its share of credit",
            "format": "percent"
        },
        {
            "key": "touchpoints",
            "label": "Touchpoints in the journey",
            "format": "integer"
        },
        {
            "key": "channels",
            "label": "Distinct channels",
            "format": "integer"
        }
    ],
    "formula": {
        "text": "Last/first touch: 100% to the last/first touchpoint.  Linear: 1 ÷ n each.  Position-based: 40% first, 40% last, 20% shared by the middle (50/50 for two touches).  Time decay: weight 2^(−steps before last ÷ half-life), normalised to 100%.  Channel credit = Value × sum of its weights",
        "variables": {
            "n": "number of touchpoints in the journey",
            "Half-life": "steps back from the last touch at which the weight halves"
        }
    },
    "worked_example": {
        "inputs": {
            "touchpoints": "Paid search\nEmail\nSocial\nEmail",
            "revenue": "1000",
            "model": "position",
            "half_life": "1",
            "currency": "USD"
        },
        "steps": [
            "First touch (Paid search) gets 40% = $400; last touch (Email) gets 40% = $400.",
            "The two middle touches (Email, Social) share 20%: $100 each.",
            "Email total = 400 + 100 = $500 (50%); Paid search $400; Social $100."
        ],
        "result": "Under the 40/20/40 rule, Email earns $500 of the $1,000 conversion, Paid search $400 and Social $100."
    },
    "interpretation": "Switch between rules to see how sensitive each channel’s credit is. A channel that looks strong only under last touch is mostly closing journeys others started; one that wins under first touch is mostly starting them.",
    "assumptions": [
        "The journey list is complete and in the right order."
    ],
    "limitations": [
        "Rule-based models assign credit by convention, not by measuring causal effect. Incrementality tests or data-driven models are needed for that.",
        "Time decay here uses steps between touchpoints, not elapsed days."
    ],
    "rules": null,
    "faqs": [
        {
            "question": "Which model is right?",
            "answer": "None is objectively right. Pick one that matches the question you are asking, apply it consistently, and compare against a second rule to see how robust a decision is."
        },
        {
            "question": "Can I attribute many conversions at once?",
            "answer": "Run one representative journey at a time, or apply the weights shown to the total value of conversions that share the same path."
        }
    ],
    "sources": [],
    "related": [
        {
            "name": "Content Marketing ROI Calculator",
            "url": "https://calculators.geekmidst.com/calculators/content-marketing-roi-calculator"
        },
        {
            "name": "ROAS Calculator",
            "url": "https://calculators.geekmidst.com/calculators/roas-calculator"
        },
        {
            "name": "Cost Per Acquisition Calculator",
            "url": "https://calculators.geekmidst.com/calculators/cost-per-acquisition-calculator"
        },
        {
            "name": "Percentage Calculator",
            "url": "https://calculators.geekmidst.com/calculators/percentage-calculator"
        }
    ],
    "disclaimer": null,
    "publisher": "GM¹X CalcVerse"
}