App review: one trivial listing finding should not cost another full review cycle

I want to give feedback on how app review handles small findings, using my own submission as the example.

I submitted before 19 July. There were issues in the earlier passes, and I fixed each one and resubmitted the same day. The most recent pass came back with a single finding:

4.2.1. Provide accurate and complete pricing information. Ensure your pricing information includes all pricing options such as, free trial time and charge details. Your app listing pricing section includes a “Scale” Plan, but this is not displayed on your app UI plan page nor the linked external pricing page.

That plan is real and the listing described it accurately. It is a custom plan for stores above the published tiers, priced by formula from the store’s own catalogue size. It exists in the app and it is set out on the pricing page. The reason the reviewer could not see it is that it is only offered to stores that qualify for it, and a review test store does not, which is deliberate. Showing a large store price to a small store would be the actual pricing accuracy problem.

The quickest way to close the finding was to take the plan off the listing. That took seconds. It changed nothing about the app, nothing about the code, and nothing about what any merchant is charged.

For that, the submission goes back into the queue to wait roughly two weeks for a new reviewer.

There is a real gap underneath this one, and it is worth saying plainly. The listing pricing section has no way to express a plan priced by formula. The only choices are a fixed price that would be wrong for most of the stores it applies to, or leaving it out and describing it in the app and on the pricing page instead. I picked the first, a reviewer flagged it, and I have now picked the second. Either way the listing is a worse description of what the app charges than the pricing page is, and that is a limitation of the form rather than a decision anyone made.

I am not disputing that the reviewer saw what they described. What I am disputing is that it costs another fortnight to resolve.

Three things make this worse than it needs to be.

  1. Findings arrive one at a time. Each pass surfaces a new item rather than the full list, so an app can go through several rounds and still be told there is one more thing. At no point can you tell how many rounds are left.

  2. The cost of a finding does not scale with its size. A security problem and one line in a listing field carry exactly the same penalty, which is another full cycle.

  3. Nothing about the queue reflects that this is a resubmission. The next pass starts from scratch with a new reviewer who has no context on the previous ones.

What I would like considered, in the order I would value it:

A conditional approval state. When the only outstanding finding is listing level, or otherwise cannot affect a merchant using the app, approve it with the fix required inside a set window and verify it then. There is no risk being managed by making it a blocker. The change is in a field Shopify controls and can check in seconds.

A consolidated findings list on the first pass. Give the whole list at once, even if some items are minor. Serial delivery turns one review into four.

A short lane for resubmissions where the previous pass produced a single non functional finding, so the wait is measured in days rather than weeks.

A way to describe usage based or formula priced plans in the listing pricing section, so apps that do not have a flat price for every store are not forced to choose between an inaccurate number and an omission.

The reviewers themselves have been fine and the findings have been fair. The problem is the process around them. A rejection currently costs about the same amount of my time whether the fix takes two weeks of engineering or one click, and that is the part worth changing.

I would rather spend the next fortnight shipping for the merchants already using the app than waiting to be told the one click worked.

Adding to my own post, because the version above is the reasonable one and it is not the whole of it.

I have been in this queue since before 19 July. Over six weeks. In that time I have fixed everything asked of me, usually the same day, and every time I have resubmitted I have gone back to the end of the line and waited for a new person who has never seen the app before. The final thing standing between me and approval was one line in a listing field, and I fixed it in the time it took to read the email telling me about it.

I am one person. There is no team here to absorb this. Every fortnight spent waiting is a fortnight not spent on the merchants who are already paying to use the app, and they are the ones actually carrying the cost of it. Some of them are on the store waiting for features I have finished and cannot get in front of anyone else.

What gets to me is not that the findings existed. Most of them were fair and the app is better for a couple of them. It is that the process treats every finding as though it were the same size. A one click change to a text field is handled with exactly the same ceremony as a security hole, and the person on the other end has no way to say “this is fine, just do that one thing” even when that is obviously the sensible outcome. I have to assume the reviewers can see that too and simply have no button for it.

I am not asking anyone to lower the bar. The review requirements are not the problem. Enforce all of them. Just stop making the penalty for a trivial finding identical to the penalty for a serious one, and stop handing every resubmission to someone starting from zero.

Six weeks in, the honest summary is that the review process has cost me more time than building the thing being reviewed did. That should not be true of any app, and I do not think it is what anyone at Shopify intends.

I completely agree with everything you wrote.