I believe that the only way to get the nightly credit is to pay. I've NOT gotten credit for my anniversary (Credit Card) night, my points night, and my "second night free" night. Another thing is that when you are staying on points, ask for the gift instead of the points. Many times they won't give points for nights on points.
Unfortunately, no night credits on any kind of reward stay: Marriott Visa awards, Points, etc. And since Courtyard only provides 10 points per dollar on room only, you won't earn points for breakfast, cocktails (for hotels so equipped) or Marketplace purchases charged to your room. I learned my lesson on always taking the gift instead of the points as recommended by SooPlatinum in the previous post. While Marriott Rewards Customer Service will award them if you call, it's a pain to have to do so. I was told their computers couldn't handle just the gift if there was no other Rewards activity being posted (nights or $$ points) During a reward stay just last month, I forgot and asked for the points. (I usually pay for my stays, but was using my Marriott Visa coupon before it expired so this was an "out of the norm" situation for me.) I was surprised to see the arrival gift posted to my account for that stay - nothing else: no nights, no $ points - just the arrival gift. So it looks like the computers have been updated to address this. A nice touch, indeed!