Showing blocks on specific Civi pages

Because CiviCRM uses ? in its urls it can get tricky to specify when you want a Drupal Block to show on specific donation or other pages.

A solution we found to work well is the https://www.drupal.org/project/block_query which adds a new Visibility Setting called Query.

There you can set eg id=39 which means if you have Pages set to 'only on the listed pages' and eg civicrm/event/register* then the id=39 should cause it to show only on that Event registration page.

If you also need to do a 'and don't show on these other pages' then it works nicely in combination with https://www.drupal.org/project/multiblock