Blog
We became our own customer. Here is what it taught us.
What we found when GRIN started running its own creator program on GRIN.
By Ben Zawacki, VP of Growth, GRIN
Our CEO set one rule before any of this started, which was that we would not do anything inside the product that a customer could not do for themselves. If we found ourselves blocked, that was a product problem to go fix, not a reason to reach into the backend and quietly unblock ourselves.
It took about a day for that rule to cost us something.
The gap we did not know we had
The pilot itself is simple enough. GRIN now runs its own creator affiliate program on GRIN, where a creator joins, gets a tracking link, and earns a commission whenever a brand subscribes through it. We wanted the revenue, but what we wanted more was the fastest available way to sit in our own customers’ seat and find out what that actually feels like.
We assumed we had the easiest possible starting position, because we already knew exactly who we wanted to invite. Years of relationships, a real list of names, people who talk about us without being asked to. Then we found out we could not invite any of them.
At the time, programs would only accept creators who had arrived through AI discovery, and everything around that step worked the way you would hope. Importing a roster was fine, filtering and tagging it was fine, looking at an individual creator’s history was fine. The one thing that did not exist anywhere in the product was the step where you take a relationship you already have and turn it into an invitation. We had built a perfectly good CRM and then forgotten to put a door between it and the programs sitting right next to it.
It would be easy to file that under missing button, and for a while we probably would have. It was not a missing button. It was an entire way of working that our product had no room for, and the reason we could not see it is that we had only ever watched other people use the software. Usage data is very good at telling you what people did, and it will never tell you what they wanted to do and gave up on.
That door is open now. You can add creators one at a time or import your existing roster, then invite anyone sitting in your CRM into a program directly from their record. Of everything this pilot has produced, that is the change I would have wanted most as a customer.
Two more things we went looking for
Once the program was actually running, two more things surfaced within days, and both came from the same instinct, which is that when software is doing something on your behalf you want to be able to watch it work.
The first was outreach. When a platform is emailing creators in your name, you should be able to see what went out and what decided to send it, and to be fair to us, you can. The messages are there and so are the sequences behind them. That is the first step rather than the finished version, and I say so as the person pushing for the rest of it, because being able to tell at a glance why a particular creator got a particular message on a particular day is what turns a log into something you would actually run a program on. It is an active area for us and it is going to keep getting better.
The second was getting program data out of the product altogether. A dashboard is only useful to the people who remember to open it, and reporting that stops at the edge of our software is reporting that quietly stops getting used. Gia runs as an MCP server, which means the program data can land in whatever client your team already works in rather than sitting behind another login.
What changed underneath all of it
The most consequential thing to come out of the pilot has nothing to do with our own convenience, and it starts with a requirement we should have questioned a lot earlier.
GRIN used to expect a Shopify connection before you could do much of anything at all. We are not a Shopify business, we are a software company, and it turns out that a great many of the companies who ought to be able to run a creator program are not selling physical products through a storefront either.
So that single requirement came apart into the handful of separate jobs it had quietly been bundling together: where the products you gift come from, how a gift physically reaches a creator and gets tracked, how a discount code gets created, how we confirm a sale genuinely happened, and how that sale gets credited back to the creator whose link caused it. Rather than demanding all of them up front, the product now asks what you are actually trying to do and requests only what that particular goal requires. Each job can be handled by a system you connect, or handled by your team by hand, or switched off completely, and switching one off counts as a real answer rather than an unfinished setup.
The practical version is this. If what you want is to pay creators a flat rate to make posts and content, you can run the entire program without connecting anything at all. Our own account is a reasonable proof point, because two of those five jobs have never been set up: we do not ship physical gifts and we do not hand out discount codes, so we left both switched off and the program has run that way ever since. It is also why this works for SaaS companies, apps, subscription products, marketplaces, and anyone else whose product does not arrive in a box.
Sale verification is the one place we deliberately did not offer a by-hand option, and it is worth explaining why rather than leaving it as a rule. A creator’s commission depends on a sale being real, and real means the order was actually placed, actually paid for, and not refunded afterward. If you are on a connected store, we read that from the store. If you are running on your own stack, as we are, your backend posts order events to us as they happen, paid, canceled, refunded, fulfilled, each one signed with a secret so we know it genuinely came from you. Either way the money moves on a confirmed order rather than on somebody’s word, which is the entire point of the exercise.
The part better software does not fix
Here is the thing we did not see coming, and it is the part I would pass along to anyone standing up a program of their own.
We never really did recruitment on this pilot, in the sense that word usually carries. We were not out hunting for creators we had never heard of. We had a list of people we already knew, we reached out to them once we could, and enough of them said yes that finding new names never became a problem we had to solve. That is worth naming as a limit on what we learned rather than a win, because it means we tested the easy version of the top of the funnel. Recruiting genuinely new creators is the part I want the next round of this pilot to put real pressure on.
The constraint is everything that happens after yes. The distance between an enrolled creator and a creator who has actually published something is much longer than the distance between hearing about a program and joining one, and it is the part nobody warns you about. A commission-only offer asks a creator to do real work now in exchange for a maybe later, and most of the people who quietly decide that trade is not worth it will never tell you so. They simply will not post.
Which means the number worth watching is not how many creators joined. It is what share of the creators you enrolled published anything in their first month, and how long that gap between enrolling and posting tends to run. When it starts stretching, the problem is your offer rather than your funnel.
We are working on the offer now. Running a creator program is still genuinely hard, hands-on work, and better software makes the operational parts of it cheaper without ever making the relationship itself automatic. Anyone telling you otherwise has not run one.
Why we are writing this down
We would rather talk about this while we are still in the middle of it, including the parts that are not especially flattering, because the alternative is a tidy case study written a quarter from now in which everything went according to plan. That version is easier to write and probably worth considerably less to you.
If it does not work for us, it does not work for you, and that is the entire reason we run on our own product.
If you want to look at any of this for yourself, you can start free or read /platform.
GRIN’s creator affiliate program is a pilot that launched in July 2026 and runs on GRIN. Product details above reflect what a brand can open today.
Ben Zawacki is VP of Growth at GRIN.