The more general case came up recently: We should always be able to include explanation with moderator flags, even if they're not a custom situation. I think Shog's answer applies here too. If it's not clear that a post is spam, you might want to use a custom flag instead of the simple spam flag. The downside, of course, is that you aren't contributing to 6 flags required for the community to delete spam automatically.
The catch here is that it's hard to know beforehand that your spam flag will be misunderstood. If you were a 100% certain the moderator wouldn't see how this is spam, you would always leave a custom flag. If you were certain the spamminess was obvious, you'd never bother. So how likely are spam flags to be wrongly declined?
All-time on Stack Overflow, the statistics are:
(For those who, like me, get confused about what a disputed spam flag is, it means the post was rolled back or undeleted and a moderator dismissed the flag. I've also excluded Smokey's autoflags.)
So if every declined spam flag represented a misunderstanding, there would only be a 7% chance adding a message would help. But I'm pretty sure that most of the declined spam flags are the result of flaggers not understanding the purpose of the flag. It seems like the cases where a custom comment on a spam flag would be useful are vanishingly small.
Another question suggested that not providing an explanation wastes moderator time. If this were a problem for them, we'd certainly heard about it. But there's an even better reason to recommend subtle spam should be flagged 'in need of moderator intervention': human task switching. Spam flags are usually quite easy to clear as it's generally random crap unrelated to the site's topic. (For examples, check out the autoflag logs.) Self-promotion spam is a very different beast. Often it's not malicious, but just a little unclear on what the rules are. Most spam users can be deleted without thought, but people who talk about their own stuff should be contacted by a moderator more often than not.
In other words, we talk about spam to mean two very different things:
- Mindless attempts to plant links somewhere (anywhere!) on the internet.
- Calculated attempts to answer questions with subtle advertisements.
Despite the shared name, these are very different problems with different remediations. So they should be flagged differently.
It occurs to me that we can estimate how many spam flags would benefit from having comments by looking at a sampling of posts that received a declined spam flag:
- https://stackoverflow.com/questions/50298996/c-program-linked-data-structure-for-sparse-matrices (Image link I guess?)
- HTTP ERROR 500 given when adding php script to website login/register feature (Links to own site, but it's not worth spamming yet as it's just a shell. Also, OP disclosed their affiliation.)
- https://stackoverflow.com/questions/50296064/been-hacked-phone-has-been-cloned-i-dont-know-how-to-speak-up-to-your-standards (Email?)
- Create multiselect lookup in salesforce using apex (Deleted since it's just a link to a GitHub repository. Might be spam, I suppose, but only one of the 7(!) flags was of the spam variety.)
- https://stackoverflow.com/questions/50287073/getting-error-code-504-when-trying-to-update-facebook-via-play-store (Of the 8(!) flags, only one is for spam. No link or anything.)
- https://stackoverflow.com/questions/50287135/the-localhost4200-is-not-working (Image? IDK.)
- https://stackoverflow.com/questions/50286711/zoomable-user-interface-in-python (No link or any reason for the spam flag.)
- https://stackoverflow.com/questions/50284382/page-navigation-buttons (Link to blog, supposedly. But the domain is not registered.)
- https://stackoverflow.com/questions/50283654/rtsp-command-for-move-head-of-cctv-using-java-jdk-1-8 (IP address in the code?)
- what can change extension .txt to .HTML files with ruby (I got nothing.)
So of the ten most recent rejected spam flags, maaaaaybe 2 (#4 and #8) are plausibly self-promotion and none are the typical fake designer handbag type. Personally, I'd decline all ten flags. My guess is some of them are mis-clicks and the rest are misunderstanding how flags work here.