Blogger uses a simple two-role permission model tied to Google accounts. Since it is fully hosted by Google, there is no server-level access or custom role creation.
Blogger Role Model
Blogger has exactly two roles, assigned per blog:
| Role | Manage Settings | Add/Remove Authors | Edit All Posts | Edit Own Posts | View Stats |
|---|---|---|---|---|---|
| Admin | Yes | Yes | Yes | Yes | Yes |
| Author | No | No | No | Yes | Yes |
Admin Capabilities
The blog creator is automatically the first Admin. Admins control:
- Blog title, description, URL, and custom domain configuration
- Template and layout editing (including HTML)
- Widget/gadget management (where analytics scripts are placed)
- Author management (invite, promote, remove)
- Blog deletion
- Built-in Blogger Stats access
Author Capabilities
Authors can only manage their own content:
- Create, edit, and delete their own posts
- Upload images within their posts
- View blog statistics (read-only)
- Cannot modify settings, layout, widgets, or templates
Analytics-Relevant Permissions
| Action | Admin | Author |
|---|---|---|
| Add GA4 tracking code via Theme HTML | Yes | No |
| Add tracking via HTML/JavaScript gadget | Yes | No |
Edit theme HTML (<head> tag injection) |
Yes | No |
| View built-in Blogger Stats | Yes | Yes |
| Link Google Search Console | Yes | No |
Installing Analytics Scripts
Only Admins can add tracking code. Two methods are available:
<!-- Method 1: Theme > Edit HTML (before </head>) -->
<b:if cond='data:blog.pageType != "error_page"'>
<script async='async' src='https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX'/>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
</b:if>
Method 2: Layout > Add a Gadget > HTML/JavaScript -- paste standard GA4 snippet.
Custom Roles
Blogger does not support custom roles. Only Admin and Author exist. For more granular access, consider migrating to WordPress or another CMS.
API Token Scopes
The Blogger API v3 uses OAuth 2.0:
# Available scopes
# blogger.readonly - Read-only access to blogs and posts
# blogger - Full read/write access to posts
# Example: List posts via API
curl -H "Authorization: Bearer $OAUTH_TOKEN" \
"https://www.googleapis.com/blogger/v3/blogs/{blogId}/posts"
The API does not expose user management endpoints. Blog membership is managed only through the Blogger UI.
Best Practices
- Keep Admin count to one or two per blog
- Use Author role for content contributors who should not modify tracking
- Add analytics via Theme HTML rather than gadgets for better load performance
- Blogger has no audit log -- document Admin changes externally
- Use Google Workspace admin controls for organization-wide Blogger management