You can't give coffee coupons (it would be biased and not everybody drinks coffee). How about a coupon worth a few bucks ($5? $10? $20) off your tax bill when you vote? In the form of a refundable amount (not credit, but just a straight dollar amount) when you file your taxes?
Too expensive? You can pay for it with a revenue neutral "Democracy Levy" (less than $5 per year for a $20 coupon over a 4 year election cycle, assuming close to 100% uptake). That way people who don't vote will subsidize those who do.
You might be able to choose to use it yourself of donate it to the local candidate of your choice (not necessarily who you voted for) to help defray campaign debts. You could also give it up to General Revenue (i.e. government coffers) like you can with your tax refund).
Policy-wise, one could make donations beyond what is required to pay down campaign debts go to General Revenue or to the party of your choice, depending on which policy we decide is best as a society. You can prevent donations to a candidate from a different riding with serial numbers on the coupons (or not). You have to retain the coupon like a charitable or political donation receipt.
Taxpayers under voting age and non-citizens are exempt from the levy and ineligible for the refund from the coupon. You already tell the government how old you are (your d.o.b. is required on your tax form) and whether you are a Canadian citizen (your Social Insurance Number), so no privacy concerns. Maybe a check-box on the tax form to make it easier for computers to process. You get the same refund whether you voted Conservative, NDP, Liberal, Green or other, so no privacy concerns. The coupon that you donate to a candidate (or back to General Revenue) is not tied to you, but only to the riding (if we do that), so you are not disclosing how you voted.
Better than threatening people with fines or jail if they don't vote, right?