Yes it does, because that's how my boards do it. It works perfectly without having to dedicate a whole style to accomplish no ads.
You can use XF Conditionals:
Conditional Statements for XenForo 2 The conditional statements can be expanded by using AND, OR conditional statements operators and using xf:if, xf:else, xf:elseif. If there are any conditional statements that you want to add, please add it...
xenforo.com
Code:
<xf:if is="{{$xf.visitor.isMemberOf([x, y])}}">
Ad unit content
</xf:if>
Replace the X, Y with non-premium group IDs.
You can of course add more too, ex; [4, 5, 6, 7, 8]
Edit:
Oh, you want the option, you can still do this, create a user field where they select if they want it enable/disable.
Do it here:
admin.php?custom-user-fields/add
Use "Options for choice fields"
Name = premiumdisableads
value = enable & disable
Then use this code:
Code:
<xf:if is="{{$xf.visitor.isMemberOf([x, y])}">
Ad unit content
<xf:elseif is="{{$xf.visitor.isMemberOf([a, b])} AND {{$xf.visitor.Profile.custom_fields.premiumdisableads == 'disable'}}" />
Ad unit content
</xf:if>
Put the premium group ID or IDs in the second "elseif is" condition.