Use delegator instead of duplicating nil checks
Use boolean type instead of a string

  * JSON can encode true/false values as literals so no need to use strings
  * Lack of value will still count as false
  * "true" via counts as true so will still work,
  * "false" is still not #blank? so it would’ve behaved as true previously
No need to define `campaign` as nil

The assignment to `campaign` in the if block still creates the variable in local scope and it is defaulted to nil
Use ActiveRecord#increment!
Limit certificate campaigns to the creating user

If another user creates a campaign of the same name it shouldn’t
add to another users campaign