This is an old question, but I'll add a quick link and discussion of APA authorship standards.
The guidelines: http://www.apa.org/research/responsible/publication/
According to this:
Authorship credit should reflect the individual's contribution to the study. An author is considered anyone involved with initial research design, data collection and analysis, manuscript drafting, and final approval.
On the website, this is directly contrasted with: funding, mentorship, and not participating in the actual publication. The last one is tricky.
So, where does programming fall in? How I interpret the last exception above is: if you aren't using analysis that I ran/interpreted, my statistical tables, any graphics I made, or any of my writing (obviously), then I'm not contributing. From my perspective, though, if you use even one of those things in the manuscript/presentation, I have contributed to the manuscript in a tangible way, and should be included as an author. I feel obligated to mention (as this has happened) that, from my perspective, if you take my code and change the color of the plot and include it, you're still presenting a product of someone else (and need to provide credit for that). Now, if I write code for a data collection procedure, that doesn't necessarily relate to a tangible contribution to the manuscript, and may or may not qualify for authorship (see below about creating a new data collection program for the project).
I believe the need to provide credit is the primary consideration. If you have a published software, you shouldn't be given authorship as credit for its use (as a citation to the software is sufficient). If you have a paper on a unique data collection method, you shouldn't be given authorship as credit for its use (again, citation). Now, if you designed a unique program/statistic/data collection method, you probably should be given authorship, as there isn't another appropriate way to provide credit for that contribution (an acknowledgement isn't enough for that level of contribution, in my opinion).
Overall, though, I believe the best way to approach this is through mutual agreement at the beginning of the project. This involves a clear definition of the scope of work and compensation for that work (even if the compensation is zero), and revisiting these agreements if the scope changes. Note that there is no exception about authorship for being paid or not, so if you are a paid consultant and are contributing you should still be listed as an author. If you agree to do X, Y, and Z for money but no authorship, fair enough. If you agree to do it for no money but authorship, also fair game. In my experience, such agreements help to keep things friendly in terms of mutual expectations moving forward: if the scope of work was completed, the agreed upon terms should be respected (that doesn't mean that's all you can do on the project, just that the terms should be met whether or not you chose to continue). Note that, as circumstances change, these SOWs are often updated, if only informally, to address the new condition (deadline got moved up, so we need that tangible a week earlier than expected).
Regarding your situation, it seems a bit unclear from your post. If you are typing questions into SurveyMonkey, you probably don't deserve authorship. If you have created an innovative data collection method/statistic/program specifically for this application (and haven't/aren't publishing it elsewhere), you probably do. Finally, if you are contributing tables/analyses/graphics/text to the final manuscript/presentation, I believe that you certainly deserve authorship credit for your work (as you will have contributed, tangibly, to the written product).