The plumbing.
Token expiry, scheduled job history, manual triggers — everything you need to keep the dashboard healthy. All commands runnable via php artisan martech:*.
Active tokens
1
Stored encrypted in DB
Job runs
10
Last 50 in audit log
Failures
0
Across all pipelines
Tokens
Third-party credentials
Tokens are stored encrypted via Laravel's `encrypted` cast. Refresh manually with the relevant martech: command.
1 of 1
| Service | Status | Expires | Last refreshed |
|---|---|---|---|
| bitunix_partner | Active | Oct 5, 02:11 PMin 180 days | 2h ago |
Refresh Bitunix JWT
php artisan martech:bitunix-loginWill prompt for email + password.Paste raw JWT (from browser)
php artisan martech:bitunix-set-token <jwt>Use when you already have a fresh token from DevTools.Audit log
Recent job runs
Every scheduled and manual ETL execution leaves a trace. Failures keep their error message.
10 of 10
| Job | Status | Started | Records |
|---|---|---|---|
| attribution.compute | completed | 54m ago | 10,450 |
| gsc.pages | completed | 2h ago | 133,780 |
| attribution.compute | completed | 2h ago | 10,450 |
| bitunix.rankings | completed | 2h ago | 900 |
| bitunix.invitations | completed | 2h ago | 450 |
| ga4.events | completed | 2h ago | 1,638 |
| ga4.acquisition | completed | 2h ago | 10,000 |
| ga4.daily | completed | 2h ago | 90 |
| gsc.queries | completed | 2h ago | 957,888 |
| bitunix.overview | completed | 2h ago | 90 |
Manual triggers
Run pipelines on demand
The scheduler runs everything daily, but use these to back-fill or test.
Pull GSC (last 7 days)
php artisan martech:fetch-gsc --days=7Pull GA4 (last 7 days)
php artisan martech:fetch-ga4 --days=7Pull Bitunix (last 7 days)
php artisan martech:fetch-bitunix --days=7Recompute attribution
php artisan martech:compute-attribution --days=7