Offer refers to # advocates who participated in a referral campaign(s). An offer is created as a result of showing a referral campaign. Within one campaign, there can only be one offer for each unique advocate (by email or cookie). All shares, clicks, visits, referrals, and A/B tests are then bound to an offer to build reports where users can apply campaign filters.

Impression refers to # times either an advocate signup page or advocate share page has been shown. Repeated page visits are counted, except in a case when the advocate visits the advocate share page upon signing up.

Usually, an offer is created upon campaign load. But there are instances where # of offers per campaign can be higher than # of impressions. For example, showing a floating widget trigger button equals generating an offer. It means Talkable has rendered visible content on the site. Opening it (clicking on it) would count as an impression since it expands into the full share page popup (unless the widget is not static; to learn more about the static widget, please read 
here).

In cases with Post-Purchase, Standalone, or Dashboard campaigns, there can be multiple impressions per 1 offer/user. For instance, in the Shopify flow, customers can visit the order tracking page where they’ll see the campaign again. Since the user’s data is the same, we’ll count extra impressions for the same offer.