Four months ago GitLab looked like the clearest AI casualty in public B2B:
- The stock was in the high teens.
- In May the company announced it would cut roughly 14% of its workforce, about 350 people, exit 22 countries, shrink its geographic footprint about 37%, and strip out up to three layers of management.
- AI writes the code now, so why pay for the place the code lives?
Q2 FY27 came out after the close on September 1 and changed the entire narrative:
- Revenue of $286.3 million, up 21%, about five points ahead of its own guide and $13 million ahead of consensus
- Non-GAAP operating income of $42.6 million against a $31.2 million estimate
- Full-year revenue guidance raised
- The stock closed at $45.09, traded up 15-20% after hours, at roughly an $8 billion market cap, and then kept going

The reported 21% showed big acceleration — but was the slowest growth number in the quarter. Calculated billings grew 24% against 12% the quarter before, gross bookings were the largest in company history, and the company guided Q3 revenue below Q2 anyway. Understanding why those three sit together is worth more to most founders than the beat itself.
Here are the 5 Interesting Learnings:
#1. Revenue Grew 21%, Billings Grew 24%, and Q3 Revenue Is Guided Below Q2

Reported revenue: $286.3 million, up 21% from $236.0 million. Calculated billings: up 24%, double the prior quarter’s 12%. Gross bookings: the largest quarter in company history.
Then the Q3 guide comes in at $281-283 million, below the $286.3 million just printed, which works out to 15-16% year-over-year growth against the 21% they just did.
The cause is revenue recognition, and GitLab created it on purpose by moving customers onto Flex. Under the traditional self-managed model, about 15% of the contract value is license, recognized up front in the first quarter, with the rest ratable. Under Flex, the license component is recognized over the term because the customer re-elects the product mix every month. GitLab’s own illustration of a $100 annual contract shows 15% plus 21% landing in Q1 the old way versus a flat 20% per quarter under Flex.
The modeling guidance from the CFO: for every $50 million of self-managed available-to-renew that converts to Flex in FY27, about $5 million of revenue moves out of FY27 and into future periods, with a $13 million maximum estimated full-year impact. Bookings, billings, and cash collection are unchanged. Only GAAP timing moves.
One thing to be careful with here. The deck also says GitLab has not incorporated the potential impact of Flex into the guide at all. So the raised full-year number ($1.129-1.133 billion, up from $1.112-1.118 billion, 18-19% growth) sits on top of a headwind the company has quantified but not yet embedded. Faster Flex conversion means a better business and a worse revenue line, and the guide currently reflects neither.
A note on the number every headline led with. Both the CEO and CFO said “net ARR” grew 42%, and it got repeated everywhere as though total ARR grew 42%. It did not. GitLab’s investor deck puts +42% Net ARR growth on the highlights slide with a footnote pointing to the Appendix for definitions, and the Appendix defines eight metrics, none of them net ARR. It cannot be the ARR base either: revenue grew 21%, net retention was 117%, and customers over $5,000 grew 8%, so a base growing 42% is arithmetically impossible. On the call the same term appears as “new logo net ARR” and “first-order net ARR,” which only parses as an amount of ARR added. It is net new ARR booked in the quarter, and 42% is how much bigger that quarterly addition was than the year-ago quarter’s. That is a strong number. It is also growth in an increment rather than growth in a base, which is why it should never be printed next to a 21% revenue growth rate without a label.
#2. Flex Did More Than $20M From 130+ Customers in Six Weeks

GitLab Flex is one annual dollar commitment covering Premium and Ultimate seats, GitLab Credits for agent consumption, and new eligible capabilities as they ship. Customers choose the mix monthly and reshape it without contract amendments. Usage above the commitment is billed in the month it happens, with no re-contracting or true-up cycle. GitLab’s stated goal, in its own words on the slide, is for Flex to become the default way customers transact with it.
Six weeks in market: more than 130 customers, more than $20 million committed.
The metric the CEO told investors to track instead of revenue is Paid Consumption Run Rate, defined in the deck as GitLab Credit commitments, Flex commitments, and paid on-demand consumption, excluding trials and promotional credits. It exited Q1 at $15 million and exited Q2 above $40 million, against a target of more than $100 million by fiscal year end. Duo Agent Platform paid consumption alone grew about 50% sequentially.
CrowdStrike is running the same mechanic with Falcon Flex, which crossed $2.29 billion in ARR and about 39% of total ARR last quarter. One dollar commitment, drawn down across the portfolio, reshaped mid-term without a new contract. Two very different companies landed on the same structure within a year of each other, because the seat stopped being the unit that grows.
The buyer-side term to read closely is in GitLab’s own appendix: under the Reserved bucket, revenue is recognized ratably as delivered and the unused amount is forfeited monthly. Reserved is the floor GitLab expects to be 80%+ of FY27 Flex revenue. Commit-and-forfeit is how these pools work at CrowdStrike too. Flex is a better deal than fixed seats for a customer who consumes, and a worse one for a customer who commits optimistically and does not.
Ultimate is now 59% of total ARR growing about 35%, and 8 of the 10 largest Q2 deals bought Ultimate. SaaS is 34% of revenue growing 36%. The mix is moving toward the tiers where the consumption sits.
#3. Subscription Cost of Revenue Grew 76% While Revenue Grew 21%. AI Costs Are Way, Way Up

Non-GAAP gross margin: 86%, down from 90% a year ago. GAAP gross margin: 84%, down from 88%.
Subscription cost of revenue went from $21.8 million to $38.3 million, 76% growth against 21% revenue growth. Management guided full-year gross margin to 85-87% and attributed the compression to SaaS mix shift plus investment in the consumption products.
The nine-quarter series in the deck is the better view: 91%, 91%, 91%, 90%, 90%, 89%, 89%, 88%, 86%. Five points over two years, with the largest single drop in the quarter GitLab started selling agent consumption.
Where the AI bill lands differs by company, and the differences are large:
- Figma: roughly 500 basis points of gross margin, into COGS
- GitLab: 400 basis points, into COGS
- Box: 20 basis points, because Box sells the permissions and audit layer and buys little inference
- CrowdStrike: subscription gross margin up 100 basis points, while capex went from $30.5 million to $124.4 million, roughly 3% to 8% of revenue
Buying inference puts it in COGS and it compresses gross margin permanently. Building the infrastructure puts it in capex, where it depreciates over years and leaves gross margin alone. Selling governance around someone else’s compute barely shows up at all.
GitLab is buying. It has integrations with Anthropic’s Claude models, Amazon Bedrock, and Google Vertex, and an explicit model-neutrality strategy that makes the inference bill a permanent operating cost. Eighty-six percent is still a strong gross margin for a business selling agent consumption.
#4. 11,114 Customers Over $5K, Up 8%. And About 1,700 First Orders in the Quarter.
The customer counts:
- Customers with more than $5,000 of ARR: 11,114, up 8%
- Customers with more than $100,000 of ARR: 1,571, up 17%
The new business numbers:
- First orders: approximately 1,700, more than double a year ago, the largest first-order quarter in three years
- First-order net ARR: up about 40%
- Deals of $500,000 or more: up more than 150%
The $5K+ base added roughly 820 customers across the entire year. GitLab landed about 1,700 first orders in one quarter. The two are not measured the same way, since first orders include customers landing below the $5,000 threshold, but dollars per customer are growing several times faster than customers.
Dollar-based net retention was 117%, which management said was the first sequential increase since 2024. Gross retention stayed above 90%. The prior two quarters printed 117% and 118%, so on the published number this reads as stabilization, and the increase lives in decimals GitLab does not disclose.
GitLab’s growth is coming from the top of its base moving up. Enterprise deals over $500K growing 150% against a $5K+ customer count growing 8% describes a product that got more valuable to the companies already running it while staying just as hard to sell to everyone else.
The Q3 question is whether first orders at this volume convert into $5K+ customers, or churn below the line before they ever count.
#5. A $56.9M GAAP Operating Loss and a 15% Non-GAAP Operating Margin, in the Same Quarter
GAAP operating margin: negative 20%, versus negative 8% a year ago. GAAP operating loss: $56.9 million. GAAP net loss: $36.8 million, or $0.22 a share.
Non-GAAP operating margin: 15%. Non-GAAP net income: $42.1 million, $0.24 a share.
The bridge is roughly $99 million of adjustments on $286 million of revenue. The two large pieces:
- Stock-based compensation of $75.0 million, up 38% from $54.3 million, which is 26% of revenue and growing faster than the business
- Restructuring charges of $19.4 million in operating expenses, plus $3.9 million of accelerated stock comp, roughly $23.3 million total from the May plan, against $30-35 million of pre-tax charges expected overall
Cash came in below both margins. Operating cash flow was negative $3.1 million against positive $49.4 million a year ago. Adjusted free cash flow was $9.8 million, a 3% margin, versus $46.5 million and a 20% margin last year. The largest driver was accounts receivable, which swung $57.3 million against them, and the company also made $14.0 million of one-time payments tied to unwinding its JiHu joint venture. GitLab still repurchased approximately 3.5 million shares for $104.6 million in Q2, $154.7 million across the first half, off about $1.3 billion in cash and investments.
Cutting 14% of the company costs money in the quarter you announce it: a $19.4 million charge, a wider GAAP loss, and free cash flow near zero. Whether the R&D reorganization into roughly 60 autonomous teams was worth it shows up a year from now, not here.
Six More Interesting Learnings:
- The cRPO number has a Flex asterisk on it. Total RPO grew 16% to $1.2 billion and cRPO grew 20% to $744.7 million, both slower than Q1’s 18% and 24%. GitLab discloses why: under ASC 606 a 30-day Flex contract creates no remaining performance obligation once the customer self-provisions, so cRPO excludes Flex while total RPO includes non-cancellable Flex advances, an approach the company says it agreed with KPMG. That exclusion cost cRPO three points this quarter.
- AI coding is growing GitLab usage, not shrinking it. Year over year: secure repositories up 60%, code pushes up 50%, CI/CD pipelines up 40%. Among the customers moving most aggressively into AI-assisted development, GitLab says codebases have grown as much as 500%. More code written by agents means more code to store, scan, review, and ship.
- About 80% of Orbit query volume comes from customers pointing it at somebody else’s agent. Orbit, GitLab’s context graph, is on 2,200+ organizations after four weeks of 70% growth, with 170K+ customer queries generated, and most of that volume comes from customers connecting it to Claude Code and Codex. In one customer test across 79 real merge requests, agent accuracy went from 58% to 70% versus traditional RAG.
- Sales capacity grew 30% and productivity per rep grew 10%. Attrition also improved for two straight quarters. That combination, in the same year as a 14% workforce cut, is the part of this quarter most companies will find hardest to copy.
- $104.6 million of stock bought back in a quarter with $9.8 million of free cash flow. $154.7 million across the first half, 3.5 million shares in Q2 alone, funded from the balance sheet while the stock traded in the twenties and thirties.
- $12.2 million of interest income against $42.1 million of non-GAAP net income. Twenty-nine percent of the non-GAAP profit is interest on the cash pile rather than the software business, which is worth checking on any company that IPO’d with a large raise and still holds $1.3 billion.
Three Things To Take From This If You Are Repricing Right Now
GitLab published the cost of its own pricing change before anyone could calculate it. The conversion math ($50 million of ATR converts, about $5 million of revenue moves, $13 million maximum for the year), the illustrative $100 contract, the three recognition buckets, and the cRPO exclusion all appear in the deck. Investors got the deceleration and the reason for it in the same slide, which is a different outcome than getting the deceleration first and the explanation on the next call.
Paid Consumption Run Rate is what carried the quarter. $15 million to $40 million in one quarter with a $100 million exit target gave investors something to hold while reported revenue drains. A company moving off seats needs a published number showing the new model working, defined in the appendix, before the old model’s revenue starts shrinking.
The AI cost line is an architecture decision that becomes an accounting one. GitLab buys inference and lost 400 basis points of gross margin. CrowdStrike built and its gross margin went up while capex tripled. Box sells the layer around inference and lost 20. By the time it appears in the gross margin line it is years past the point where it could be changed cheaply.
