<mxfile host="app.diagrams.net"><diagram name="Product-led" id="plg"><mxGraphModel adaptiveColors="auto"><root><mxCell id="0"/><mxCell id="1" parent="0"/>
<UserObject label="GTM Operating Model  ›  Product-led" link="/" id="bc"><mxCell style="text;html=1;fontSize=11;align=left;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;fontColor=#64748B;" vertex="1" parent="1"><mxGeometry x="40" y="20" width="400" height="20" as="geometry"/></mxCell></UserObject>
<mxCell id="t" value="Product-led: signup to paid" style="text;html=1;fontSize=20;fontStyle=1;align=left;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;fontColor=#0F172A;" vertex="1" parent="1"><mxGeometry x="40" y="40" width="500" height="30" as="geometry"/></mxCell>
<mxCell id="su" value="Signup&lt;br&gt;&lt;small&gt;free tier or trial; the work email is matched to an account, or a new one is created and enriched&lt;/small&gt;" style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=14;fillColor=#EFF6FF;strokeColor=#2563EB;fontColor=#0F172A;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="1"><mxGeometry x="40" y="146" width="160" height="88" as="geometry"/></mxCell>
<mxCell id="act" value="Activated&lt;br&gt;&lt;small&gt;the first-value event: a project created, a report run, a teammate invited&lt;/small&gt;" style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=14;fillColor=#EFF6FF;strokeColor=#2563EB;fontColor=#0F172A;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="1"><mxGeometry x="240" y="150" width="160" height="80" as="geometry"/></mxCell>
<mxCell id="pql" value="PQL&lt;br&gt;&lt;small&gt;usage threshold crossed; rolled up from users to the account; written to the CRM&lt;/small&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.18;whiteSpace=wrap;html=1;fontSize=14;fillColor=#EFF6FF;strokeColor=#2563EB;fontColor=#0F172A;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="1"><mxGeometry x="440" y="150" width="180" height="80" as="geometry"/></mxCell>
<mxCell id="split" value="Account size?" style="rhombus;whiteSpace=wrap;html=1;fontSize=13;fillColor=#EFF6FF;strokeColor=#2563EB;fontColor=#0F172A;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="1"><mxGeometry x="660" y="150" width="140" height="80" as="geometry"/></mxCell>
<UserObject label="Self-serve upgrade&lt;br&gt;&lt;small&gt;in-app paywall, card on file; no human; straight to Onboard&lt;/small&gt;" link="/onboard" id="ss"><mxCell style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=14;fillColor=#F0FDF4;strokeColor=#16A34A;fontColor=#0F172A;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="1"><mxGeometry x="850" y="80" width="170" height="80" as="geometry"/></mxCell></UserObject>
<UserObject label="Sales-assist&lt;br&gt;&lt;small&gt;routed to a rep as a warm lead; to the Qualify gate and Sell&lt;/small&gt;" link="/routing" id="sa"><mxCell style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=14;fillColor=#FFFFFF;strokeColor=#94A3B8;fontColor=#0F172A;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="1"><mxGeometry x="850" y="220" width="170" height="80" as="geometry"/></mxCell></UserObject>
<mxCell id="dor" value="Dormant&lt;br&gt;&lt;small&gt;signed up, never activated; automated re-engagement; most of the volume&lt;/small&gt;" style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=13;fillColor=#FFFFFF;strokeColor=#94A3B8;fontColor=#64748B;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="1"><mxGeometry x="240" y="270" width="160" height="64" as="geometry"/></mxCell>
<UserObject label="Expansion signal&lt;br&gt;&lt;small&gt;the same PQL logic re-applied to paying customers; see Keep and grow&lt;/small&gt;" link="/keep-and-grow" id="exp"><mxCell style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=13;fillColor=#F0FDF4;strokeColor=#16A34A;fontColor=#0F172A;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="1"><mxGeometry x="450" y="270" width="160" height="64" as="geometry"/></mxCell></UserObject>
<mxCell id="e1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#475569;strokeWidth=1.5;defaultLabelBackgroundColor=gap;" edge="1" source="su" target="act" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#475569;strokeWidth=1.5;fontColor=#334155;fontSize=11;defaultLabelBackgroundColor=gap;" edge="1" source="act" target="pql" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e3" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#475569;strokeWidth=1.5;defaultLabelBackgroundColor=gap;" edge="1" source="pql" target="split" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e4" value="small account" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#16A34A;strokeWidth=1.5;fontColor=#166534;fontSize=11;defaultLabelBackgroundColor=gap;exitX=0.5;exitY=0;entryX=0;entryY=0.5;" edge="1" source="split" target="ss" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e5" value="large account" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#475569;strokeWidth=1.5;fontColor=#334155;fontSize=11;defaultLabelBackgroundColor=gap;exitX=0.5;exitY=1;entryX=0;entryY=0.5;" edge="1" source="split" target="sa" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="e6" value="no activation" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;strokeColor=#94A3B8;strokeWidth=1.5;fontColor=#64748B;fontSize=11;defaultLabelBackgroundColor=gap;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" source="su" target="dor" parent="1"><mxGeometry relative="1" as="geometry"/></mxCell>
<mxCell id="own" value="owner · Product instruments and writes the PQL; Sales acts on sales-assist; Customer Success feeds back which usage predicts retention; RevOps owns the threshold and the routing.  measured by · signup to activation, activation to PQL, PQL to paid, time to each" style="text;html=1;fontSize=11;align=left;whiteSpace=wrap;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;fontColor=#64748B;" vertex="1" parent="1"><mxGeometry x="40" y="356" width="980" height="34" as="geometry"/></mxCell>
<mxCell id="rules" value="WHAT MAKES A PQL" style="swimlane;startSize=26;html=1;fillColor=#F8FAFC;strokeColor=#CBD5E1;fontColor=#475569;fontSize=11;fontStyle=1;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;rounded=1;arcSize=6;pointerEvents=0;" vertex="1" parent="1"><mxGeometry x="40" y="404" width="980" height="130" as="geometry"/></mxCell>
<mxCell id="r1" value="&lt;b&gt;Depth&lt;/b&gt;&lt;br&gt;how much of the product they use: features touched, volume processed, integrations connected" style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=12;align=left;spacingLeft=10;fillColor=#FFFFFF;strokeColor=#CBD5E1;fontColor=#334155;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="rules"><mxGeometry x="16" y="36" width="228" height="82" as="geometry"/></mxCell>
<mxCell id="r2" value="&lt;b&gt;Breadth&lt;/b&gt;&lt;br&gt;how many people: seats active, teams invited, admin roles assigned; the account signal, not the user signal" style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=12;align=left;spacingLeft=10;fillColor=#FFFFFF;strokeColor=#CBD5E1;fontColor=#334155;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="rules"><mxGeometry x="256" y="36" width="228" height="82" as="geometry"/></mxCell>
<mxCell id="r3" value="&lt;b&gt;Frequency&lt;/b&gt;&lt;br&gt;how often they come back: weekly active, sessions per user; decays like a lead score" style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=12;align=left;spacingLeft=10;fillColor=#FFFFFF;strokeColor=#CBD5E1;fontColor=#334155;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="rules"><mxGeometry x="496" y="36" width="228" height="82" as="geometry"/></mxCell>
<mxCell id="r4" value="&lt;b&gt;Fit&lt;/b&gt;&lt;br&gt;company size and industry from enrichment; this is what decides self-serve vs. sales-assist, not the usage" style="rounded=1;arcSize=12;whiteSpace=wrap;html=1;fontSize=12;align=left;spacingLeft=10;fillColor=#FFFFFF;strokeColor=#CBD5E1;fontColor=#334155;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;" vertex="1" parent="rules"><mxGeometry x="736" y="36" width="228" height="82" as="geometry"/></mxCell>
<mxCell id="note" value="When a company runs both motions, an account can be an MQL and a PQL at the same time. The rule has to be written down: usually the PQL wins because it is evidence of behavior, and the MQL source is kept for attribution. Sales-assist reps are usually a separate, lower-cost pool from the outbound AE team, because the lead is already warm and the deal is smaller." style="text;html=1;fontSize=11;align=left;whiteSpace=wrap;fontFamily=Inter;fontSource=https%3A%2F%2Ffonts.googleapis.com%2Fcss%3Ffamily%3DInter;fontColor=#64748B;" vertex="1" parent="1"><mxGeometry x="40" y="546" width="980" height="44" as="geometry"/></mxCell>
</root></mxGraphModel></diagram></mxfile>
