Paul Randal has a script for us:
Yesterday I was chatting with Jonathan about some of the internals of the page compression algorithms for a client discussion. When you enable page compression, rows are first just row compressed (storing values with empty bytes stripped out) until a page fills up. The Storage Engine then attempts page compression for the page.
Click through to see what that entails and how you can see what percentage of pages successfully compress at the page level.