Loyalty credit does expire after a year. Campaign-specific credit - e.g., birthday credit - that you claim via email or scanned QR codes have varying expiration dates that are listed in the confirmation you receive after claiming. Often, campaign credit expires between 21-30 days after you claimed it, but you will receive a reminder email before your credit expires so that you have time to take advantage of it!
Certain campaigns are limited time only offers (i.e. available until it runs out or only at certain periods of the day), but that will be specified on the email it was sent in. You will get expiration reminder emails for these or a notification that the campaign has reached its limit.