Skip to main content

Settings Import/Export

Settings Transfer allows you to export OneTap Login configuration from one site and import it to another. Useful for staging-to-production workflows, multi-site management, and backups.

PRO Feature

Settings Import/Export is a PRO feature. Upgrade to PRO to unlock this functionality.

What's Included

Exported Settings

CategorySettings
GeneralOne Tap settings, button config
UsersDefault role, auto-register, redirects
ButtonsTheme, shape, text, locations
ErrorsCustom error messages
IntegrationsWebhooks (URL only), email marketing provider

NOT Exported (Security)

SettingReason
Client IDSite-specific credential
Client SecretSensitive credential
API KeysEmail marketing credentials
Webhook SecretSecurity key
License KeyFreemius license
Re-enter Credentials

After importing, you must re-enter API credentials for security.

Export Settings

Step-by-Step Export

  1. Go to Settings > OneTap Login
  2. Click Tools tab (or find export in sidebar)
  3. Click Export Settings
  4. Save the JSON file

Settings Export Button

Export File

The download is a JSON file:

onetap-settings-2024-01-15.json

File Contents

{
"version": "1.0.0",
"exported_at": "2024-01-15T10:30:00Z",
"site_url": "https://source-site.com",
"settings": {
"enable_one_tap": true,
"button_theme": "filled_blue",
"button_shape": "pill",
"button_text": "continue_with",
"enable_button_myaccount": true,
"auto_register": true,
"default_role": "customer",
"error_popup_closed": "The sign-in popup was closed.",
...
}
}

Import Settings

Step-by-Step Import

  1. Go to Settings > OneTap Login on destination site
  2. Click Tools tab
  3. Click Import Settings
  4. Select your JSON file
  5. Click Upload and Import
  6. Review imported settings
  7. Re-enter API credentials

Settings Import Upload

Import Confirmation

After import, you'll see:

  • List of imported settings
  • Warning about missing credentials
  • Link to enter API keys

Post-Import Checklist

  • Enter Client ID
  • Enter Client Secret
  • Enter webhook secret (if using)
  • Enter email marketing API keys
  • Test connection
  • Verify frontend display

Use Cases

Staging to Production

Development Site

Export settings

Production Site

Import settings

Enter production credentials

Multi-Site Management

Template Site (configured)

Export settings

Site A: Import + credentials
Site B: Import + credentials
Site C: Import + credentials

Backup Before Changes

Current working config

Export as backup

Make changes

If issues: Import backup

Team Collaboration

Developer A: Configure settings

Export JSON

Share via Git/email

Developer B: Import settings

File Format

Structure

{
"version": "string",
"exported_at": "ISO 8601",
"site_url": "string",
"settings": {
"key": "value",
...
}
}

Version Compatibility

Export VersionImport Compatibility
1.0.x1.0.x and later
FutureBackward compatible

Old exports work with new plugin versions.

Handling Differences

Different WooCommerce Status

If WooCommerce status differs:

  • WC-specific settings still import
  • May show warnings
  • Features activate when WC installed

Different URL Structures

Redirect URLs import as-is:

  • Verify paths exist on new site
  • Update if URL structure differs

Different Roles

Roles must exist on destination:

  • WordPress core roles always exist
  • Custom roles may need creation
  • Role mapping imports but may need review

Security Considerations

Why Credentials Are Excluded

  1. Site-specific: Client ID is tied to domain
  2. Security: Prevents credential exposure
  3. Best practice: Secrets shouldn't be in files

Sharing Export Files

Safe to share:

  • Via private channels
  • Within your team
  • In version control (no secrets)

Don't share:

  • Publicly
  • In support requests (redact first)

Audit After Import

Review imported settings:

  1. Check nothing unexpected changed
  2. Verify integration settings
  3. Test functionality

Troubleshooting

Import Fails

Causes:

  1. Invalid JSON format
  2. File corrupted
  3. Version incompatible

Solutions:

  1. Verify JSON is valid
  2. Re-export from source
  3. Update plugin on both sites

Settings Not Applying

Causes:

  1. Cache showing old settings
  2. Import partial
  3. Override by other plugin

Solutions:

  1. Clear all caches
  2. Re-import
  3. Check for conflicts

Missing Settings After Import

Causes:

  1. Settings added in newer version
  2. PRO settings on FREE site
  3. Export from older version

Solutions:

  1. Manually configure missing
  2. Upgrade to PRO
  3. Export from current version

Developer Notes

Filter Exported Data

add_filter('onetap_export_settings', function($settings) {
// Add custom data
$settings['custom_setting'] = get_option('my_custom_option');
return $settings;
});

Filter Imported Data

add_filter('onetap_import_settings', function($settings) {
// Modify on import
$settings['button_theme'] = 'outline'; // Force theme
return $settings;
});

Hooks

// After export
do_action('onetap_settings_exported', $settings);

// After import
do_action('onetap_settings_imported', $settings);

Best Practices

Regular Backups

  • Export before major changes
  • Keep dated backups
  • Store securely

Version Control

  • Include exports in Git (no secrets)
  • Document configuration changes
  • Review diffs

Documentation

  • Note site-specific credentials
  • Document customizations
  • Keep import checklist

Next Steps