Menu Sidebar


I'm on twitter @dancameron and this is my site so you'll want to read my about page too.

What Did I Just Say? on an episode of Matt Report Season 4

I don’t like doing podcasts, I get nervous, and just clam up, public speaking is just a fear that I’ve been trying to break…and up until recently I had done one podcast 1, which was an old cast of Apply Filters. It was a surprising  invite to be interviewed on the Matt Report, and because of my fear of humiliation I almost said “no”; however when a WP Legend asks to be on their podcast I had to say “hell yeah”.

I survived and the episode was recently published, so go check it out (and the many other great interviews).

Our conversation was wonderful, it really was. Even though I was still a little sick, which is why my voice is so rugged, and I found myself lost without an answer (remember I wasn’t feeling good), I think our conversation could end up being beneficial to a few of his listeners.

Here are some notes:

  • Matt’s intro is awesome and I’m not offended at all. A “blue collar” WP product guy is right on: I worked hard to get to the point were I have a business that provides for my family, and I don’t have those world domination goals that the opportunists bring with them when building a product business using WP as act one.
  • I did make $6k in that first calendar year of Sprout Apps. It was rough, and in the beginning of 2015 I was very close of giving up until I read this post from James Laws at Ninja Forms. There was another blog post and some conversations about the early day struggles of WP product businesses…anyway, I was able to learn from others that if I wanted to make Sprout Apps succeed I needed persistence.
  • Matt talks about intimidation factor by hearing about the successful folks in WordPress a lot…then I reiterate what he says as if I wasn’t listening. Which is sorta ironic because I talk about mixed messages…haha, hey I was sick!
  • I threw out arbitrary numbers of for my goals, I don’t have a goal for “$15k a month” because I don’t have a plan at the moment to get there
  • …at the moment I’m fine tuning my business process in order to continue to grow at 15-20% without having to put in 15-20% more work. In fact I want to decrease my workload and continue a stable business. If I end up having to work really hard later because I took my “foot off the gas” than so-be-it.
  • I wrote about the “review gate” stuff here. I don’t want to rehash that debate, I only brought it up to show how something like this affected me personally rather than it affecting only my business.
  • I wrote about the Freshbooks squatting on “Sprout Invoices” here. It’s a better read than a listen, since I was obviously was unprepared to talk about it clearly. 😕
  • Here’s a email marketing blog post, which has more detail than what I talked about.
  • I briefly forget what content marketing was until…yeah, thanks for listening this far into the show. Oh and I said, “I know…I think” while talking about something.
  • My multi-pronged marketing approach: (free download marketing), e-mail marketing, (very little) affiliate marketing.
  • I was asked about content marketing and I meandered into how I do email marketing, so I never really answered the original question. The point is that I don’t do content email marketing to I grow a subscriber list. I only do email marketing to convert.
  • My method to convert (via email marketing) is starting to create a conversation, with a basic promotion or asking them how I can help.

Thanks Matt for the opportunity!


  1. I can’t count that one podcast I did with a friend that had two subscribers: me and him

Big Man, Freshbooks

Update: A rep from Freshbooks reached out to me days after this post, and we started a conversation that led to me talking with with their SEM lead. They said the bids on the “Sprout Invoices” term was unintentional and an automated process via broad match and keyword insertion; I don’t completely agree that it was fully automated knowing a little about how those adwords features work. That said, it doesn’t matter at this point since FB stopped bidding entirely on the term “Sprout Invoices”, which I appreciate and is something they didn’t have to do.

A couple months ago (June ’16) it was brought to my attention that Freshbooks was squatting on the term “Sprout Invoices” on Google, which is perfectly fine although this wasn’t.

Screen Shot 2016-06-28 at 11.16.23 AM

Not cool dudes!

The resolution was to go through the process of a trademark claim, which took about a month to process. The sad thing is I had to reach out to Google again about this particular ad, I guess they don’t retroactively remove ads, which is a shame.

Today the ad is gone…now Freshbooks is outbidding me for “Sprout Invoices” — which is flattering.

Screen Shot 2016-09-07 at 9.37.20 AM

Reviews & Download Counts

Trying to find a positive of the review-gate I decided this was a great opportunity to find how positive ratings affects download counts.

Be warned: while I like numbers, statistics isn’t a strong area of mine; and while I tried to be objective about these numbers it’s sorta impossible when my intent is to prove a point.  So take the data that you can find on the stat’s page of Sprout Invoices (and any others) and let me know what I got wrong/right, I don’t mind.

Question 1: Do negative reviews (sub 2.5 stars) affect download counts?

On June 28th and 29th SI had a rating average of 2.2: downloads counts for those two days were down ~30 & ~18% respectively.


  • I used another invoicing plugin in the .org repo to act as a control. So that the decrease could be applied to a WordPress user deciding to download X instead of Y based on the difference in reviews.
    • The numbers show that the percentage of downloads decreased for SI while the percentage of downloads increasing for the other plugin. The trend line looks like an x, displacing downloads from one to the other and the assumptive cause is the reviews.
  • I understand this is an extremely short sample size and since SI received a single positive review on the 1st of July I can’t extend this any further.

I’m fairly confident that the answer is “yes”, that’s a no brainer. However, I don’t feel confident providing a percentage, other than to say it must be more than the percentage decreased based on the second question…

Question 2: Do more positive reviews affect download rates?

Since the 28th (until yesterday) I’m finding a 15% decrease in downloads.

Again, this is controlled by the average download count 1 that uses a similar plugin to see if the downloads went to the plugin with more or less positive reviews. In this case SI had one single 5 star review, the other had on average 26 reviews with a 4.9 rated average.

Question 3: Does it matter if you’re selling premium upgrades?

At this point, I don’t know. In order to draw any conclusions I’d first need to know the time it takes for a free user to convert to the paid version, and I’m not going research that anytime soon. More importantly, the data set would need to be large enough to create a median so that poor/good conversion rates don’t skew the results.




  1. Adjusted for releases and balanced for anomalies in total download counts for the day

What Now? No Way? Huh?

Let me preface this post by mentioning that this was difficult to write, I’m still frustrated but I’ve accepted the immediate outcome 1. That said…

Last week I received an email from the plugin review team that Sprout Invoices “has been found to be in violation of the repository guidelines, found at“.

Turns out this was the issue:


What did .org do?

Since I was accused of compensating reviews through “bribery”: Sprout Invoices was immediately pulled out of the repo until that link (and the page at the other end of “send us the link”) were removed.

Also all 5-star reviews were deleted; all of them…

“The reviews that have been associated with this method have been removed from the system in order to restore equilibrium to the reviews.”

Was I compensating reviewers?

Obviously yes; through a discount of a pro license, I figured it was alright to compensate their time.

 Was it “Bribery” or did I “Pay Reviewers”? Why does that distinction matter?

In no way was this “bribery”!

Semantics are important, as are my ethics (business and personal) . In no way did I try to persuade a reviewer to provide a good review by offering a discount. Never did I tell a reviewer that submitted for a discount that s/he should change their review. Never did I pay for a review. In fact, the entire system was automated: form submitted, auto-reply sent.

The .org team telling me that I “bribed” users and attempted to “defraud a system” is was is insulting. It’s too bad they continue to use that type of language instead of broadening their understanding.

Did I know that this type of compensation was against any guidelines?


Should I have known?

No, since there’s no guideline.

What do you mean there’s no guideline against compensating reviews?

There isn’t. Check for yourself –

Nor is any of this mentioned in the TOS.

Although, this was offered in our conversation, “If it’s not clear enough, we’re serious. We even posted on make/plugins –“; a Make blog post shouldn’t be required reading for plugin authors.

Does it matter to them if I knew or not?

No, since the reviews are considered spam.

“The question I have in such a case is: Why do we care what you knew? In our view, you spammed us.”

Does it matter to me (and by extension us)?

Yes. Otherwise any wrong doing can be concluded by opinion, regardless of community feedback.

It’s why the best thing to do IMO (in my case and others) was to reach out first, letting me know the link could be judged as spam inducing.

If the Make blog post was the team’s way of reaching out to everyone: fine.

Are these reviews spam?

This is where opinions diverge.

I agree that they can judge all SI reviews as spam, they can set the conditions for “spam” to apply to any review in the system.

However, were they spam two years ago when there was no guideline, no Make blog post, and no public conversation was had about compensating for a review (regardless of rating)? IMHO, no.

How should they have handled it then?

They could have pulled the plugin from the repo until I fixed the link, explaining that compensating for reviews is deemed as spam and against a guideline (that’s “yet to be published” and then publish something). Warning me to never ask for reviews in this manner again.

So, reviews shouldn’t have been deleted?

No, and for two reasons:

  1. The “guideline” that I was breaking isn’t a guideline at all. So for me to say that I was unknowingly breaking a guideline for two years is perfectly valid.
    1. They mention there is precedence and “I’m not the first” but I’ve never heard of this happening before and I’ve been around for a very long time.
    2. The precedence I see while searching “bribery” and “compensation reviews” in the Slack channels show incidences where only a single review was removed, even though it seems like the plugin author was a repeat offender.
  2. Their intent was: “the reviews that have been associated with this method have been removed…”. Instead they deleted all reviews because there was no way for them to know if a review had received a discount.

Is there a way to find out if a review was associated with a discount?

Yes, and I provided it to them (since it’s a basic list of form submissions, including their review link). Since November of 2014 — 34 submissions were made, 8 of those submissions didn’t review the plugin (although they still got a discount).

I asked that instead of deleting all 110+ reviews the 26 (that can be associated) be removed instead, they disagreed 😕.

Did they overreact?


I get that the .org teams put up with a lot of shit, and they need to be dogmatic. I also (honestly) respect their time and effort.

I just wish they reached out to me first. I can’t imagine their original thought was “Dan is spamming our system” with reviews. I had around 120 reviews in two years and thousands of active installs, those numbers prove I’m not a spammer trying to just sell a pro product.

The reviews are from real people that shared their experience.

“We’re basically at odds with people trying to use our directory to sell their wares here, because we’re not a place to sell things in the first place. This is why we have such strong opinions on the matter. This is why we require GPL compatible everything. Because we’re all about community, and the community frequently is hurt by competition, but benefits from collaboration.”

These specific reviews (26 of them) for Sprout Invoices were not spam, they were reviews from SI users that wanted to pay for the pro version because they liked the free version (after using it). The free version in the repo is by no means a trojan horse to force users to upgrade, active installs bear that out. These reviewers are pieces of this community too, as am I.

Update: The reviews are still in the DB but they can’t be updated/edited/published.

I was contacted by one of my users that wanted to edit his review. I asked the .org team and the response was: “No, those reviewers can never leave reviews ever again [on that plugin]. Reviews are a one-time deal.
Again, this is why we tell people not to buy reviews. Not only are they all deleted, but the people who left reviews now cannot do so again [on that plugin]. They left a review, it got deleted, and now, they have lost their opportunity.”

This is rather sad; I can easily explain why their review was deleted, “I unknowingly broke a guideline and offered a discount for reviews…the .org team couldn’t conclude if your review was one of them so all were deleted…”, I can’t easily explain how that relates to them now that they want to change/edit or resubmit a new review.


Apparently not.

I’ve tried. I made my points clear, maybe not concise, but I was nice and respectful throughout (except at one point when I said the response was “vitriolic” but I quickly apologized and pointed out the hypocrisy since I had/have such an issue with “bribery”). I shared that I would respect their decision but I would like for the decision to be fair.

I’ve been told there’s a “zero tolerance policy” for compensated reviews. Regardless if the policy in question is undefined and it’s unknowingly broken. It’s [scare quotes]their system[/scare quotes], which I get — to a point.

I just don’t think the result is fair, even if my opinion is that some reviews can now be deemed spam.

And as a plugin author I shouldn’t be nervous that something I’m currently doing is later deemed malicious, i.e. asking for a review at all or advertising a pro version.

What would have been the result if I read the Make blog post from a month ago?

Nothing! This is the most depressing part of this entire incident: the thought nothing would have happened if I learned about this before last Tuesday is maddening. Sigh.

What next?

  • I somehow stay proud of all the hard work I’ve poured into the project — which those reviews proved but are now deemed “dishonest”.
  • Track whether ratings affect for download counts; spoiler: they do and I’ll write about that later.
  • I somehow prove that some changes need to be made (including the process) and my suggestions below are considered.

What I’d like to see (i.e. suggestions):

  1. The guidelines updated to cover compensated reviews.
    1. Clearly defining what is and what isn’t considered.
    2. Possibly the repercussions; not a first/second offense plan but a “we will delete all reviews if we find you’ve broken these rules, and without warning.“.
  2. Expectations for plugin authors to keep up to date should be provided, unless a written warning is to be expected now.
  3. A disclaimer for all below every review submission to not review the plugin if: “You have or will be compensated in anyway”.
    1. Other disclaimers that all plugin authors have been begging for can also be added, i.e. “A review is a place to ask for support, or demand a feature not present”.


This entire incident still really bums me out, to the point of wanting to throw my hands up and walking away; is hard to find joy in my work at the moment. It’s hard to reconcile that I can still be proud of all the hard work if all these opinions/reviews are labeled dishonest from a respected team. Being accused of “bribing” my users, and “defrauding a system” that I respect and I feel I’ve contributed to, is rough.

Should you (and I) be outraged?

Haha, no. I’m upset by their decision and tact but that doesn’t mean much more than I hope I prove a point so things can change for the better. I also care about people and can see past our disagreements to enjoy a beer in the (hopefully near) future.

So don’t make this out to be fuel for your own personal dumpster fire against .org, or the community. This is my rant to try to improve things for everyone.





  1. although I understand that the larger repercussions are yet to come

New Car Gone?

Been waiting, and waiting, for the final settlement on the VW diesel buyback/recall for months now, the “agreement” has been sealed until it was submitted to the courts today but I’m finding nothing that will help me figure out what I’m supposed to do (with my a3 tdi). Sigh.

  • It looks like they won’t start the buyback process until October and the’ll go off Sept. KBB rates.
  • The $5-10k compensation will be on a sliding scale (which means I will likely get very little).
  • There might be a way to “fix” the emissions issue but from what I’ve heard (friend/audi-mech) it’s not possible on the smaller cars.

It’s bittersweet for me: I love this car (super fun to drive, comfortable, they don’t make sport backs anymore, …) but if I need to turn it in I rather rip the bandaid off sooner rather than later when I start getting too attached.

aside: while the pic isn’t my car, duh, it is the same exact model, year, make, color, without the big TDI on the side 😏

Why our Refund Rates being so High isn’t Alarming (or Terrible)

James Laws asked me last week for my “lifetime refund percentage” (over at Sprout Apps) so he could get a general feel for our industry. He briefly mentioned his percentage was sub-5% which gave me pause, my immediate reaction was to think I’m doing something wrong; even though (at the time) I didn’t know my numbers. Knowing SA’s refunds were much higher I dug into the numbers, creating a report of sales 1 over the last 10 months 2.

percent of sales count

Wow, 13% of sales were refunds. I was expecting a high number (by comparison) but not by that much. Then I immediately noticed that it’s more like 16% (seen in the second chart) because I included Abandon/Failed. Oh my!

Digging a bit more I wanted to know what the refund % was based on sales value (not based on total sales). This way I could determine if  smaller purchases (which are less likely to be refunded) are skewing the percentages. Put another way, were refunds more of an issue with sales of Sprout Invoices or Help Scout Desk (which are $60+), or with add-ons.

Percent of sales count

The percentages above show that the refund rate is slightly worse with those more expensive purchases…which was no surprise. Still though., sigh.

What does this mean for revenue? Since there are percentages of percentages above, the numbers get a bit convoluted, so I wanted to see what percentage of revenue is refunded and found it’s slightly better than I thought…

sales perc

This shows that with every $100k is sales, that I’m refunding 11%.

Why are my refund rates so high?

I think it’s a combination of the money back guarantee, how I market it as a selling point, and the use of a timed offer. A recent customer that recently received a refund noted:

“I probably should have tried the demo first…I was just meaning to do some light research yesterday (not buy) but the 25% discount timer got me. If it wasn’t for the discount timer I would have waited and tried the demo today before buying. But the 25% off plus the 30 day guarantee made me think “why not? Lets go for it”.

Here’s that special timed offer that we’re referring to. It’s something I offer to hesitant customers 3 onsite (and via email).

sa discount

Knowing that this combination has exponentially increased sales for Sprout Apps last year I have no qualms with the refund rate being so high. I can convert customers better than visitors. Simply, a customer purchasing with the intent to trial the product will convert more than a visitor that demos before purchase.

I hope this doesn’t come off as deceptive marketing; To be completely honest, it’s slightly manipulative but not deceptive. Manipulative in the good way, since there are no downsides since I offer a 30-day MBG.

Obviously my goal is to convert visitors to customers, so that they can see the value of my products, and I can prove how awesome the support is. Things a website full of screenshots and text can’t do very well alone.

So that explains why refund rates are relatively high, now what I’m really worried about is the abandoned/failed purchases. This number is something that I’m going to work on decreasing over the next year, there’s no apparent reason for it to be that high. Although I first need to validate if this number is a concern since I’m already attempting to convert these to customers via Customer Segment, and abandoned/failed checkouts aren’t removed if they do end up purchasing later.

What’s your opinion?






  1. Sales excludes any purchases of free items.
  2. My data set is based on any sale after I added the money back guarantee and the limited time offer.
  3. There’s a lot of logic that goes into showing this promo. It’s not just available for everyone, there are certain actions that need to occur on the site first.

Speaking Tour

One of my new year goals is to do more talks, specifically speaking at meet-ups. Yesterday was my first; not the first of the year, my first talk that I’ve given to a complete set of strangers — ever.

My hope that it would be easy to do a simple overview of Sprout Invoices was wrong. Sounds easy right? I ended up stumbling over the first few slides, my mind filled with doubt and evaluating everything I say. It was stressful. 😳

Much like my podcast interview I did with Apply Filters (a long time ago) it didn’t end as badly as it started, somehow I got comfortable and was able to get some sensible words out, at least I hope that’s what happened.

I need to figure this out, it’s most definitely a fear that I need to get over, hopefully jumping in and speaking a couple times next month will help. Although, those talks are going to be much longer, and one is at a local meet-up and not to an audience I can’t see.

Lazy Daze

Today, after a major release of a Sprout App, I relax, only handling support. A tradition since the days of freelancing, when after a major project was launched I’d go play golf, or play with the kids. Today, it’s uncomfortable.

I just have so much to do; Sprout Invoices’ next release keeps growing with “must do” features and Sprout Clients is screaming for v2.0. With the year’s end looming, I’m not going to hit my goals. So I reset, again.

Many of my personal obstacles transitioning from services to products are no longer around, easily attributed to creating routines/scheduling, automating marketing, and approaching things differently. However, whenever I need to “reset” my goals I get almost depressed (🙁 bad, not ☹️ or 😩 bad ).

It’s really a no-win situation for me, the reason I need to reset is the untenable schedule I’ve set, and when I plan for a more reasonable schedule I feel guilty (and almost ashamed). Thats my struggle.

I know I need to rethink my approach, honestly I’m doing that now. I just don’t want to lose my drive of building awesomeness, otherwise I fear of falling into a lazy daze of hopefulness.

Adding String Attachments (AddStringAttachment) with wp_mail

I couldn’t figure out how to add a string attachment to the notifications sent through wp_mail so I hacked something together — without modifying core files (as you might have seen in some Google search results).

So I pass an attachment that’s a json encoded array that will intentionally fail.

Since the attachment failed I’m looking at the error, retrieving the data passed and then using AddStringAttachment directly with the newly created string.

Hopefully this can be easier with this ticket.


I really don’t know how to approach this post. I don’t want to jump out there and say SiteGround is a terrible host because I’ve heard otherwise, although what they just pulled on me is bullishit. Maybe a simple story will work…

I opened a hosting plan with SiteGround a while back because I needed to test Sprout Invoices after a customer complained about some issues. Everything went well, I was able to setup a site fairly easily, test SI on a default configuration, and report back to my customer. Since I had paid for a year of hosting 1 I just let the site sit.

Months later I found myself with a charge for “Premium Support”.

premium support?

I don’t know what this charge is, it’s surely not a renewal since this is my complete billing history.

I did end up live chatting with their support, after a half-hour of back and forth they couldn’t/didn’t reverse the charge. The best they could do was credit my account, seriously WTF. I was under the impression from my conversation with him that SG pulls this all the time and by working in support he’s used it people bringing it up.

I still don’t understand their reasoning for the charge. I never used their support services. My logical guess would be that they’re re-couping their cheap hosting cost with up-charging, unbeknownst to their customers. The crazy thing, I’ve experienced this 💩 before with other companies and they’ve always refunded the payment. Sigh.

In case you’re wondering this is my support history! Nothing.

my support history


Talked to another support person in billing and they were able to refund the charge and make things right. They said that the Premium Support service is an option on the order form…which I know I didn’t check but oh well, it’s figured out now.


  1. I figured I might need to test on it again at some point because their setup is no ordinary.
Older Posts

Dan Cameron

I build stuff with WordPress

I'm currently building Sprout Apps to help small businesses and freelancers running WordPress.