Offline campaign is not hard to track but you need to make sure that you don't pollute/mix the campaign url with other traffic sources.
For instance you can create a special url which is not available from other pages of your website (to make sure you don't get visitors from other sources). You should set that single url to noindex to avoid getting indexed by search engines. Make sure you have analytics tracking enabled on that page. This can be the campaign url and landing page. You can also redirect all users arriving to that url so they end up on the "common" campaign page. When you do the redirect you inject url variables : campaign tracking so you get nice and clean data in goigle analytics.
Another way of doing this is with a separate domain or subdomain for the offline campaign only. Same rules apply as above i.e. don't let it get indexed or you will start getting organic traffic.
You can of course use qr codes in combination to make it easy and fun.