* campaignMap might be null