I want to do a survey for all non-logged in users (a webform or something similar) before they can read a certain piece of content. I want authenticated users to not be bothered with it. These surveys will only be for selected pieces of content.

I have been looking around. I can't find a solution for Drupal 7. I'd like to use webform, but I am open to learning about different options.

  • you could probably use the rules module to achieve what you want.
    – 2pha
    Feb 11, 2015 at 13:10
  • Thanks, just generally looking at it it could be just what I need. Feb 11, 2015 at 13:30
  • Are you looking to show a survey on every bit of protected content? Or just once before they sign up?
    – Collins
    Feb 12, 2015 at 10:34
  • Custom module, cookie based. You will store the cookie when the survey gets done, and allow access to resource if authenticated or if cookie present. If cookie not present redirect to survey page. Feb 12, 2015 at 11:56

1 Answer 1


Thanks for the help.

I ended up using the rules module along with rules url argument module.

I used the rules module to watch out for anonymous users, and query strings of "?surveycomplete=yes". I did this check for all nodes of my desired type that did not have a node reference to a webform.

If a user was anonymous and did not have the query string, then I redirected to the webform that the node was associated with.

To make the webform redirect appropriately when it was completed I changed the redirect location to the original node with the query string appended.

The downfalls with this approach is that every node that there is a 1 to 1 relationship for content to webforms when a many to 1 would be nice. Also, anyone could technically by pass the survey via appending the query string.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.